RTW88(4)
β¨ RTW88(4) β¨ β the Realtek wifi driver page, but make it make sense
okay so bestie, gather round, because this is the rtw88 man page β Realtek IEEE 802.11n/ac wireless network driver β and it's giving "powerful but high-maintenance." let's get into it π
πΈ SYNOPSIS πΈ
good news first: the driver will auto-load without any user interaction using devmatch(8) if that's enabled in rc.conf(5). no cap, it just shows up. β¨
Only if auto-loading is explicitly disabled do you gotta do anything. in that case, drop these lines into rc.conf(5) to manually load the driver as a module at boot time:
kld_list="${kld_list} if_rtw88"
π«Ά heads up bestie: it is not possible to load the driver from loader(8). like, at all. don't try it.
π¦ DESCRIPTION π¦
so the rtw88 driver is derived from Realtek's Linux rtw88 driver, based on Linux version 7.0. iconic lineage honestly.
here's the thing though β this driver requires firmware to be loaded before it will work. the package wifi-firmware-rtw88-kmod from the ports/net/wifi-firmware-rtw88-kmod port needs to be installed before the driver is loaded. otherwise? no wlan(4) interface can be created using ifconfig(8). like, nothing. zero. zilch. π
good news: one can use fwget(8) to install the correct firmware package, so you don't have to go hunting. slay.
the driver uses the linuxkpi_wlan(4) and linuxkpi(4) compat framework to bridge between the Linux and native FreeBSD driver code, as well as to the native net80211(4) wireless stack. it's giving bilingual icon behavior. π
π HARDWARE π
the rtw88 driver supports PCIe devices with the following chipsets:
- Realtek 802.11n wireless
8723de(RTL8723DE) - Realtek 802.11ac wireless
8814ae(RTL8814AE) - Realtek 802.11ac wireless
8821ce(RTL8821CE) - Realtek 802.11ac wireless
8822be(RTL8822BE) - Realtek 802.11ac wireless
8822ce(RTL8822CE)
that's the whole guest list, bestie. if your chip isn't on it, this ain't your driver. π
π₯ LOADER TUNABLES π₯
compat.linuxkpi.skb.mem_limit
okay so this one matters a LOT. if you are running a 64bit system with more than 4GB of main memory, you need to set this tunable to 1 in loader.conf(5) and reboot once to make it effective. yes, an actual reboot. go get a snack. π
this tunable will work around a problem with DMA and limit allocations for network buffer memory to the lower 32bit of physical memory, and make the driver work. it's literally the "did you try turning it off and on again" of wifi drivers, except it's a real tunable. β
π§ SEE ALSO π§
linuxkpi(4,) linuxkpi_wlan(4,) wlan(4), networking(7), fwget(8), ifconfig(8), wpa_supplicant(8)
(the whole squad, assembled. iykyk π)
π HISTORY π
the rtw88 driver first appeared in FreeBSD 13.2. a relatively new main character, and honestly? we love a fresh arrival. β¨
π BUGS π
π okay this section is a lot, but read it, because forewarned is forearmed.
- Does not seem to work (reliably) on machines with more than 4GB of main memory. see the βLOADER TUNABLESβ section above. like, that tunable is not a suggestion, it's kind of a whole survival strategy. π
- At least the
8821CEand8822BEchipsets have trouble associating, which seems to be due to the software scan fallback, the chandef emulation, and net80211 interactions, along with a6stimeout observed in the driver. the vibes are, unfortunately, a little messy. π - While
rtw88supports 802.11a/b/g/n/ac modes, the compatibility code currently only supports 802.11a/b/g modes. support for 802.11n/ac is yet to come. so the n/ac in the name is giving "aspirational" right now. no cap. π«Ά
π and that's the whole page, bestie. this one's from the Debian manual set, dated May 15, 2026, and honestly the fact that it says Debian at the bottom while talking about FreeBSD is its own little lore drop. ily, go set your tunable. ππ¦β¨
π¦ where this page comes from
- freebsd 15.1: base 15.1
- π the page's license: BSD-2-Clause
- Copyright (c) 2022-2026 Bjoern A. Zeeb
- Copyright (c) 2026 The FreeBSD Foundation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms