1.\"- 2.\" SPDX-License-Identifer: BSD-2-Clause 3.\" 4.\" Copyright (c) 2022-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 RTW88 4 29.Os 30.Sh NAME 31.Nm rtw88 32.Nd Realtek IEEE 802.11n/ac 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_rtw88" 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 rtw88 driver. 53.Pp 54This driver requires firmware to be loaded before it will work. 55The package 56.Pa wifi-firmware-rtw88-kmod 57from the 58.Pa ports/net/wifi-firmware-rtw88-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 can 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 802.11n wireless 8723de (RTL8723DE) 87.It 88Realtek 802.11ac wireless 8821ce (RTL8821CE) 89.It 90Realtek 802.11ac wireless 8822be (RTL8822BE) 91.It 92Realtek 802.11ac wireless 8822ce (RTL8822CE) 93.El 94.Sh LOADER TUNABLES 95.Bl -tag -width indent 96.It Va compat.linuxkpi.skb.mem_limit 97If you are running a 64bit system with more than 4GB of main memory 98you need to set this tunable to 99.Sy 1 100in 101.Xr loader.conf 5 102and reboot once to make it effective. 103This tunable will work around a problem with DMA and limit allocations 104for network buffer memory to the lower 32bit of physical memory and 105make the driver work. 106.El 107.Sh SEE ALSO 108.Xr rtw88fw 4 , 109.Xr wlan 4 , 110.Xr networking 7 , 111.Xr fwget 8 , 112.Xr ifconfig 8 , 113.Xr wpa_supplicant 8 114.Sh HISTORY 115The 116.Nm 117driver first appeared in 118.Fx 13.2 . 119.Sh BUGS 120Certainly. 121.Pp 122Does not seem to work (reliably) on machines with more than 4GB of 123main memory. 124See in the 125.Sx LOADER TUNABLES 126section above. 127.Pp 128While 129.Nm 130supports 802.11a/b/g/n/ac modes, 131the compatibility code currently only supports 802.11a/b/g modes. 132Support for 802.11n/ac is yet to come. 133