1.\"- 2.\" SPDX-License-Identifier: BSD-2-Clause 3.\" 4.\" Copyright (c) 2023-2024 Bjoern A. Zeeb 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.\" 27.Dd November 10, 2024 28.Dt RTW89 4 29.Os 30.Sh NAME 31.Nm rtw89 32.Nd Realtek IEEE 802.11ax wireless network driver 33.Sh SYNOPSIS 34The driver will auto-load without any user interaction using 35.Xr devmatch 8 36if enabled in 37.Xr rc.conf 5 . 38.Pp 39Only if auto-loading is explicitly disabled, place the following 40lines in 41.Xr rc.conf 5 42to manually load the driver as a module at boot time: 43.Bd -literal -offset indent 44kld_list="${kld_list} if_rtw89" 45.Ed 46.Pp 47It is discouraged to load the driver from 48.Xr loader 8 . 49.Sh DESCRIPTION 50The 51.Nm 52driver is derived from Realtek's Linux rtw89 driver. 53.Pp 54This driver requires firmware to be loaded before it will work. 55The package 56.Pa wifi-firmware-rtw89-kmod 57from the 58.Pa ports/net/wifi-firmware-rtw89-kmod 59port needs to be installed before the driver is loaded. 60Otherwise no 61.Xr wlan 4 62interface can be created using 63.Xr ifconfig 8 . 64One should use 65.Xr fwget 8 66to install the correct firmware package. 67.Pp 68The driver uses the 69.\" No LinuxKPI man pages so no .Xr here. 70.Sy linuxkpi_wlan 71and 72.Sy linuxkpi 73compat framework to bridge between the Linux and 74native 75.Fx 76driver code as well as to the native 77.Xr net80211 4 78wireless stack. 79.Sh HARDWARE 80The 81.Nm 82driver supports PCIe devices with the following chipsets: 83.Pp 84.Bl -bullet -offset indent -compact 85.It 86Realtek 8851BE Wi-Fi 6 (RTL8851BE) 87.It 88Realtek 8852AE Wi-Fi 6 (RTL8852AE) 89.It 90Realtek 8852BE Wi-Fi 6 (RTL8852BE) 91.It 92Realtek 8852CE Wi-Fi 6E (RTL8852CE) 93.It 94Realtek 8922AE Wi-Fi 7 (RTL8922AE) 95.El 96.Sh LOADER TUNABLES 97.Bl -tag -width indent 98.It Va compat.linuxkpi.skb.mem_limit 99If you are running a 64bit system with more than 4GB of main memory 100you need to set this tunable to 101.Sy 1 102in 103.Xr loader.conf 5 104and reboot once to make it effective. 105This tunable will work around a problem with DMA and limit allocations 106for network buffer memory to the lower 32bit of physical memory and 107make the driver work. 108.El 109.Sh SEE ALSO 110.Xr wlan 4 , 111.Xr networking 7 , 112.Xr fwget 8 , 113.Xr ifconfig 8 , 114.Xr wpa_supplicant 8 115.Sh HISTORY 116The 117.Nm 118driver first appeared in 119.Fx 14.2 . 120.Sh BUGS 121Certainly. 122.Pp 123Does not seem to work (reliably) on machines with more than 4GB of 124main memory. 125See in the 126.Sx LOADER TUNABLES 127section above. 128.Pp 129While 130.Nm 131supports 802.11a/b/g/n/ac/ax modes, 132the compatibility code currently only supports 802.11a/b/g modes. 133Support for 802.11n/ac/ax is yet to come. 134