120eeed68SBjoern A. Zeeb.\"- 2*93b30f1bSAlexander Ziaee.\" SPDX-License-Identifer: BSD-2-Clause 3*93b30f1bSAlexander Ziaee.\" 45dbb0b7cSBjoern A. Zeeb.\" Copyright (c) 2022-2024 Bjoern A. Zeeb 520eeed68SBjoern A. Zeeb.\" 620eeed68SBjoern A. Zeeb.\" Redistribution and use in source and binary forms, with or without 720eeed68SBjoern A. Zeeb.\" modification, are permitted provided that the following conditions 820eeed68SBjoern A. Zeeb.\" are met: 920eeed68SBjoern A. Zeeb.\" 1. Redistributions of source code must retain the above copyright 1020eeed68SBjoern A. Zeeb.\" notice, this list of conditions and the following disclaimer. 1120eeed68SBjoern A. Zeeb.\" 2. Redistributions in binary form must reproduce the above copyright 1220eeed68SBjoern A. Zeeb.\" notice, this list of conditions and the following disclaimer in the 1320eeed68SBjoern A. Zeeb.\" documentation and/or other materials provided with the distribution. 1420eeed68SBjoern A. Zeeb.\" 1520eeed68SBjoern A. Zeeb.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1620eeed68SBjoern A. Zeeb.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1720eeed68SBjoern A. Zeeb.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1820eeed68SBjoern A. Zeeb.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1920eeed68SBjoern A. Zeeb.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2020eeed68SBjoern A. Zeeb.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2120eeed68SBjoern A. Zeeb.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2220eeed68SBjoern A. Zeeb.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2320eeed68SBjoern A. Zeeb.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2420eeed68SBjoern A. Zeeb.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2520eeed68SBjoern A. Zeeb.\" SUCH DAMAGE. 2620eeed68SBjoern A. Zeeb.\" 27*93b30f1bSAlexander Ziaee.Dd November 10, 2024 28b95fa420SBjoern A. Zeeb.Dt RTW88 4 2920eeed68SBjoern A. Zeeb.Os 3020eeed68SBjoern A. Zeeb.Sh NAME 3120eeed68SBjoern A. Zeeb.Nm rtw88 3220eeed68SBjoern A. Zeeb.Nd Realtek IEEE 802.11n/ac wireless network driver 3320eeed68SBjoern A. Zeeb.Sh SYNOPSIS 3420eeed68SBjoern A. ZeebThe driver will auto-load without any user interaction using 3520eeed68SBjoern A. Zeeb.Xr devmatch 8 3620eeed68SBjoern A. Zeebif enabled in 3720eeed68SBjoern A. Zeeb.Xr rc.conf 5 . 3820eeed68SBjoern A. Zeeb.Pp 3920eeed68SBjoern A. ZeebOnly if auto-loading is explicitly disabled, place the following 4020eeed68SBjoern A. Zeeblines in 4120eeed68SBjoern A. Zeeb.Xr rc.conf 5 4220eeed68SBjoern A. Zeebto manually load the driver as a module at boot time: 4320eeed68SBjoern A. Zeeb.Bd -literal -offset indent 4417732dd8SBjoern A. Zeebkld_list="${kld_list} if_rtw88" 4520eeed68SBjoern A. Zeeb.Ed 4620eeed68SBjoern A. Zeeb.Pp 4720eeed68SBjoern A. ZeebIt is discouraged to load the driver from 4820eeed68SBjoern A. Zeeb.Xr loader 8 . 4920eeed68SBjoern A. Zeeb.Sh DESCRIPTION 5020eeed68SBjoern A. ZeebThe 5120eeed68SBjoern A. Zeeb.Nm 525dbb0b7cSBjoern A. Zeebdriver is derived from Realtek's Linux rtw88 driver. 5320eeed68SBjoern A. Zeeb.Pp 54cf946723SBjoern A. ZeebThis driver requires firmware to be loaded before it will work. 55cf946723SBjoern A. ZeebThe package 56cf946723SBjoern A. Zeeb.Pa wifi-firmware-rtw88-kmod 57cf946723SBjoern A. Zeebfrom the 58cf946723SBjoern A. Zeeb.Pa ports/net/wifi-firmware-rtw88-kmod 59cf946723SBjoern A. Zeebport needs to be installed before the driver is loaded. 60cf946723SBjoern A. ZeebOtherwise no 61cf946723SBjoern A. Zeeb.Xr wlan 4 62cf946723SBjoern A. Zeebinterface can be created using 63cf946723SBjoern A. Zeeb.Xr ifconfig 8 . 64cf946723SBjoern A. ZeebOne can use 65cf946723SBjoern A. Zeeb.Xr fwget 8 66cf946723SBjoern A. Zeebto install the correct firmware package. 67cf946723SBjoern A. Zeeb.Pp 6820eeed68SBjoern A. ZeebThe driver uses the 6920eeed68SBjoern A. Zeeb.\" No LinuxKPI man pages so no .Xr here. 70*93b30f1bSAlexander Ziaee.Sy linuxkpi_wlan 7120eeed68SBjoern A. Zeeband 72*93b30f1bSAlexander Ziaee.Sy linuxkpi 7320eeed68SBjoern A. Zeebcompat framework to bridge between the Linux and 74b95fa420SBjoern A. Zeebnative 75b95fa420SBjoern A. Zeeb.Fx 76b95fa420SBjoern A. Zeebdriver code as well as to the native 7720eeed68SBjoern A. Zeeb.Xr net80211 4 7820eeed68SBjoern A. Zeebwireless stack. 79*93b30f1bSAlexander Ziaee.Sh HARDWARE 80*93b30f1bSAlexander ZiaeeThe 8120eeed68SBjoern A. Zeeb.Nm 82*93b30f1bSAlexander Ziaeedriver supports PCIe devices with the following chipsets: 83*93b30f1bSAlexander Ziaee.Pp 84*93b30f1bSAlexander Ziaee.Bl -bullet -offset indent -compact 85*93b30f1bSAlexander Ziaee.It 86*93b30f1bSAlexander ZiaeeRealtek 802.11n wireless 8723de (RTL8723DE) 87*93b30f1bSAlexander Ziaee.It 88*93b30f1bSAlexander ZiaeeRealtek 802.11ac wireless 8821ce (RTL8821CE) 89*93b30f1bSAlexander Ziaee.It 90*93b30f1bSAlexander ZiaeeRealtek 802.11ac wireless 8822be (RTL8822BE) 91*93b30f1bSAlexander Ziaee.It 92*93b30f1bSAlexander ZiaeeRealtek 802.11ac wireless 8822ce (RTL8822CE) 93*93b30f1bSAlexander Ziaee.El 940881eb96SBjoern A. Zeeb.Sh LOADER TUNABLES 950881eb96SBjoern A. Zeeb.Bl -tag -width indent 960881eb96SBjoern A. Zeeb.It Va compat.linuxkpi.skb.mem_limit 9713e9d624SAndres RamirezIf you are running a 64bit system with more than 4GB of main memory 980881eb96SBjoern A. Zeebyou need to set this tunable to 990881eb96SBjoern A. Zeeb.Sy 1 1000881eb96SBjoern A. Zeebin 1010881eb96SBjoern A. Zeeb.Xr loader.conf 5 1020881eb96SBjoern A. Zeeband reboot once to make it effective. 1030881eb96SBjoern A. ZeebThis tunable will work around a problem with DMA and limit allocations 1040881eb96SBjoern A. Zeebfor network buffer memory to the lower 32bit of physical memory and 1050881eb96SBjoern A. Zeebmake the driver work. 1060881eb96SBjoern A. Zeeb.El 10720eeed68SBjoern A. Zeeb.Sh SEE ALSO 10820eeed68SBjoern A. Zeeb.Xr rtw88fw 4 , 10920eeed68SBjoern A. Zeeb.Xr wlan 4 , 110*93b30f1bSAlexander Ziaee.Xr networking 7 , 111cf946723SBjoern A. Zeeb.Xr fwget 8 , 11220eeed68SBjoern A. Zeeb.Xr ifconfig 8 , 11320eeed68SBjoern A. Zeeb.Xr wpa_supplicant 8 11420eeed68SBjoern A. Zeeb.Sh HISTORY 11520eeed68SBjoern A. ZeebThe 11620eeed68SBjoern A. Zeeb.Nm 11720eeed68SBjoern A. Zeebdriver first appeared in 118b95fa420SBjoern A. Zeeb.Fx 13.2 . 119*93b30f1bSAlexander Ziaee.Sh BUGS 120*93b30f1bSAlexander ZiaeeCertainly. 121*93b30f1bSAlexander Ziaee.Pp 122*93b30f1bSAlexander ZiaeeDoes not seem to work (reliably) on machines with more than 4GB of 123*93b30f1bSAlexander Ziaeemain memory. 124*93b30f1bSAlexander ZiaeeSee in the 125*93b30f1bSAlexander Ziaee.Sx LOADER TUNABLES 126*93b30f1bSAlexander Ziaeesection above. 127*93b30f1bSAlexander Ziaee.Pp 128*93b30f1bSAlexander ZiaeeWhile 129*93b30f1bSAlexander Ziaee.Nm 130*93b30f1bSAlexander Ziaeesupports 802.11a/b/g/n/ac modes, 131*93b30f1bSAlexander Ziaeethe compatibility code currently only supports 802.11a/b/g modes. 132*93b30f1bSAlexander ZiaeeSupport for 802.11n/ac is yet to come. 133