xref: /freebsd/share/man/man4/rtw89.4 (revision 93b30f1b6caec5083efacf3fb5049b72e75cc09e)
1310c31d3SBjoern A. Zeeb.\"-
2*93b30f1bSAlexander Ziaee.\" SPDX-License-Identifier: BSD-2-Clause
3*93b30f1bSAlexander Ziaee.\"
4310c31d3SBjoern A. Zeeb.\" Copyright (c) 2023-2024 Bjoern A. Zeeb
5310c31d3SBjoern A. Zeeb.\"
6310c31d3SBjoern A. Zeeb.\" Redistribution and use in source and binary forms, with or without
7310c31d3SBjoern A. Zeeb.\" modification, are permitted provided that the following conditions
8310c31d3SBjoern A. Zeeb.\" are met:
9310c31d3SBjoern A. Zeeb.\" 1. Redistributions of source code must retain the above copyright
10310c31d3SBjoern A. Zeeb.\"    notice, this list of conditions and the following disclaimer.
11310c31d3SBjoern A. Zeeb.\" 2. Redistributions in binary form must reproduce the above copyright
12310c31d3SBjoern A. Zeeb.\"    notice, this list of conditions and the following disclaimer in the
13310c31d3SBjoern A. Zeeb.\"    documentation and/or other materials provided with the distribution.
14310c31d3SBjoern A. Zeeb.\"
15310c31d3SBjoern A. Zeeb.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16310c31d3SBjoern A. Zeeb.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17310c31d3SBjoern A. Zeeb.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18310c31d3SBjoern A. Zeeb.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19310c31d3SBjoern A. Zeeb.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20310c31d3SBjoern A. Zeeb.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21310c31d3SBjoern A. Zeeb.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22310c31d3SBjoern A. Zeeb.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23310c31d3SBjoern A. Zeeb.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24310c31d3SBjoern A. Zeeb.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25310c31d3SBjoern A. Zeeb.\" SUCH DAMAGE.
26310c31d3SBjoern A. Zeeb.\"
27*93b30f1bSAlexander Ziaee.Dd November 10, 2024
28310c31d3SBjoern A. Zeeb.Dt RTW89 4
29310c31d3SBjoern A. Zeeb.Os
30310c31d3SBjoern A. Zeeb.Sh NAME
31310c31d3SBjoern A. Zeeb.Nm rtw89
32310c31d3SBjoern A. Zeeb.Nd Realtek IEEE 802.11ax wireless network driver
33310c31d3SBjoern A. Zeeb.Sh SYNOPSIS
34310c31d3SBjoern A. ZeebThe driver will auto-load without any user interaction using
35310c31d3SBjoern A. Zeeb.Xr devmatch 8
36310c31d3SBjoern A. Zeebif enabled in
37310c31d3SBjoern A. Zeeb.Xr rc.conf 5 .
38310c31d3SBjoern A. Zeeb.Pp
39310c31d3SBjoern A. ZeebOnly if auto-loading is explicitly disabled, place the following
40310c31d3SBjoern A. Zeeblines in
41310c31d3SBjoern A. Zeeb.Xr rc.conf 5
42310c31d3SBjoern A. Zeebto manually load the driver as a module at boot time:
43310c31d3SBjoern A. Zeeb.Bd -literal -offset indent
44310c31d3SBjoern A. Zeebkld_list="${kld_list} if_rtw89"
45310c31d3SBjoern A. Zeeb.Ed
46310c31d3SBjoern A. Zeeb.Pp
47310c31d3SBjoern A. ZeebIt is discouraged to load the driver from
48310c31d3SBjoern A. Zeeb.Xr loader 8 .
49310c31d3SBjoern A. Zeeb.Sh DESCRIPTION
50310c31d3SBjoern A. ZeebThe
51310c31d3SBjoern A. Zeeb.Nm
52310c31d3SBjoern A. Zeebdriver is derived from Realtek's Linux rtw89 driver.
53310c31d3SBjoern A. Zeeb.Pp
54310c31d3SBjoern A. ZeebThis driver requires firmware to be loaded before it will work.
55310c31d3SBjoern A. ZeebThe package
56310c31d3SBjoern A. Zeeb.Pa wifi-firmware-rtw89-kmod
57310c31d3SBjoern A. Zeebfrom the
58310c31d3SBjoern A. Zeeb.Pa ports/net/wifi-firmware-rtw89-kmod
59310c31d3SBjoern A. Zeebport needs to be installed before the driver is loaded.
60310c31d3SBjoern A. ZeebOtherwise no
61310c31d3SBjoern A. Zeeb.Xr wlan 4
62310c31d3SBjoern A. Zeebinterface can be created using
63310c31d3SBjoern A. Zeeb.Xr ifconfig 8 .
64310c31d3SBjoern A. ZeebOne should use
65310c31d3SBjoern A. Zeeb.Xr fwget 8
66310c31d3SBjoern A. Zeebto install the correct firmware package.
67310c31d3SBjoern A. Zeeb.Pp
68310c31d3SBjoern A. ZeebThe driver uses the
69310c31d3SBjoern A. Zeeb.\" No LinuxKPI man pages so no .Xr here.
70*93b30f1bSAlexander Ziaee.Sy linuxkpi_wlan
71310c31d3SBjoern A. Zeeband
72*93b30f1bSAlexander Ziaee.Sy linuxkpi
73310c31d3SBjoern A. Zeebcompat framework to bridge between the Linux and
74310c31d3SBjoern A. Zeebnative
75310c31d3SBjoern A. Zeeb.Fx
76310c31d3SBjoern A. Zeebdriver code as well as to the native
77310c31d3SBjoern A. Zeeb.Xr net80211 4
78310c31d3SBjoern A. Zeebwireless stack.
79*93b30f1bSAlexander Ziaee.Sh HARDWARE
80*93b30f1bSAlexander ZiaeeThe
81310c31d3SBjoern 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 8851BE Wi-Fi 6  (RTL8851BE)
87*93b30f1bSAlexander Ziaee.It
88*93b30f1bSAlexander ZiaeeRealtek 8852AE Wi-Fi 6  (RTL8852AE)
89*93b30f1bSAlexander Ziaee.It
90*93b30f1bSAlexander ZiaeeRealtek 8852BE Wi-Fi 6  (RTL8852BE)
91*93b30f1bSAlexander Ziaee.It
92*93b30f1bSAlexander ZiaeeRealtek 8852CE Wi-Fi 6E (RTL8852CE)
93*93b30f1bSAlexander Ziaee.It
94*93b30f1bSAlexander ZiaeeRealtek 8922AE Wi-Fi 7  (RTL8922AE)
95*93b30f1bSAlexander Ziaee.El
96310c31d3SBjoern A. Zeeb.Sh LOADER TUNABLES
97310c31d3SBjoern A. Zeeb.Bl -tag -width indent
98310c31d3SBjoern A. Zeeb.It Va compat.linuxkpi.skb.mem_limit
99310c31d3SBjoern A. ZeebIf you are running a 64bit system with more than 4GB of main memory
100310c31d3SBjoern A. Zeebyou need to set this tunable to
101310c31d3SBjoern A. Zeeb.Sy 1
102310c31d3SBjoern A. Zeebin
103310c31d3SBjoern A. Zeeb.Xr loader.conf 5
104310c31d3SBjoern A. Zeeband reboot once to make it effective.
105310c31d3SBjoern A. ZeebThis tunable will work around a problem with DMA and limit allocations
106310c31d3SBjoern A. Zeebfor network buffer memory to the lower 32bit of physical memory and
107310c31d3SBjoern A. Zeebmake the driver work.
108310c31d3SBjoern A. Zeeb.El
109310c31d3SBjoern A. Zeeb.Sh SEE ALSO
110310c31d3SBjoern A. Zeeb.Xr wlan 4 ,
111*93b30f1bSAlexander Ziaee.Xr networking 7 ,
112310c31d3SBjoern A. Zeeb.Xr fwget 8 ,
113310c31d3SBjoern A. Zeeb.Xr ifconfig 8 ,
114310c31d3SBjoern A. Zeeb.Xr wpa_supplicant 8
115310c31d3SBjoern A. Zeeb.Sh HISTORY
116310c31d3SBjoern A. ZeebThe
117310c31d3SBjoern A. Zeeb.Nm
118310c31d3SBjoern A. Zeebdriver first appeared in
119310c31d3SBjoern A. Zeeb.Fx 14.2 .
120*93b30f1bSAlexander Ziaee.Sh BUGS
121*93b30f1bSAlexander ZiaeeCertainly.
122*93b30f1bSAlexander Ziaee.Pp
123*93b30f1bSAlexander ZiaeeDoes not seem to work (reliably) on machines with more than 4GB of
124*93b30f1bSAlexander Ziaeemain memory.
125*93b30f1bSAlexander ZiaeeSee in the
126*93b30f1bSAlexander Ziaee.Sx LOADER TUNABLES
127*93b30f1bSAlexander Ziaeesection above.
128*93b30f1bSAlexander Ziaee.Pp
129*93b30f1bSAlexander ZiaeeWhile
130*93b30f1bSAlexander Ziaee.Nm
131*93b30f1bSAlexander Ziaeesupports 802.11a/b/g/n/ac/ax modes,
132*93b30f1bSAlexander Ziaeethe compatibility code currently only supports 802.11a/b/g modes.
133*93b30f1bSAlexander ZiaeeSupport for 802.11n/ac/ax is yet to come.
134