xref: /freebsd/share/man/man4/rtw88.4 (revision 93b30f1b6caec5083efacf3fb5049b72e75cc09e)
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