Realtek RTW89
Contents
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.
It does run a scan but nothing beyond.
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 WiFi/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=1 in 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