Realtek RTW89
Prolog
Driver is in main. Disconnected from build so far.
Support for Realtek's rtw89 driver.
The driver should auto-load once committed, if not try to load kldload if_rtw89.
FAQ
- Q: Does this driver also support RTL8821AE? A: No. This is part of a different generation of driver support in Linux (rtlwifi) which is GPL-only and a totally different can of worms. It would more fit rtwn in FreeBSD I think but no one was working on that from what I know.
- Q: What about RTL8821/RTL8822? A: No. See Rtw88 for those.
- Q: I am running 13.1-RELEASE but I cannot find the driver? A: That is because at the time the release was published the driver was not yet committed to even main (14-CURRENT). Let me know if you want to test.
A: Once the driver will be in main it is likely that it will be merged to stable/13 and hopefully be available for 13.2-RELEASE.
A: It is unlikely that we will provide an out-of-tree version for 13.1-RELEASE.
- Q: Something does not work? What can I do? A: Patience or debug. Drop me or wireless a note and I will add more content here.
- Q: This fails and prints out errors. A: Do you have more than 4GB of RAM? See currently known issues below.
A: Otherwise let me know.
- Q: It seems I cannot associate? A: That was the last state when I checked. Someone needs to figure out why. I have ideas if you want to help let me know!
- Q: How different is this from the Linux driver? A: At the time of writing: 14 files changed, 209 insertions(+) (and about 1/3rd should be to use busdma functions).
Currently known issue
- Not fully functional yet; scanning works already. TX likely needs a bit more work.
- Does not work on machines with more than 4GB of physical memory. Likely busdma+LinuxKPI problem to be investigated. D34715 has a change to gather data (which is in freebsd/main by now). You need to boot with
compat.linuxkpi.skb.mem_limit=1in loader.conf to limit DMA to 32bit (announcement on freebsd-wireless for more info).
Older solutions were: try hw.physmem="4G" in loader.conf and see if rtw88 starts working. If it does, please let me know along with PCI IDs (and if you want dmesg).
Alternatively and possibly a better approach as it does not limit your memory is to apply this patch, rebuild, and re-install your kernel and see if that works (please also let us know).
Support Matrix
Which chipset was tested?
| Card | PCI IDs | Current state |
| RTL8852AE | 0x10ec/0x8852/0x17aa/0x4852 | ?? See above |
| RTL8852CE | 0x10ec/0xc852/0x????/0x???? | ?? Recently added in 2022, not seen HW yet. |
PRs
- https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273621 meta-bug for rtw88/rtw89. Please check there first before reporting issues.
Contact
You can reach me at (bz at FreeBSD.ORG) or via the freebsd-wireless mailing list. If possible add “[rtw89]” to the subject. Let me kindly ask you to give me some time to reply and help; I am not doing this full-time but I will try to acknowledge your email as soon as I can.
USB Support
Is / will there be?
- OpenWRT thread
* rtw89-usb - keep an eye on https://github.com/neojou/rtw89-usb/ and forked repos. Seems GONE.* rtw89-usb - keep an eye on https://github.com/kimocoder/rtw89-usb-1 and https://github.com/lwfinger/rtw89-usb – useless? - rtl8852au - https://github.com/lwfinger/rtl8852au
- rtw89-usb - if anyone wants me to have a look at some point, here's a device apparently needing it https://smile.amazon.de/D-Link-DWA-X1850-Adapater-802-11ax-kompatibel/dp/B00PS0PX5E .
Random Links
To keep track and references to some problems or other significant changes during development / testing:
History
- 20220909 - driver committed to main (disconnected from build)
- 20220322 - driver published with a snapshot