ap: switch 5GHz driver to out-of-tree morrownr/rtw89 for USB3 support
The in-kernel rtw89_8852bu on this Ubuntu kernel base predates mainline's USB2->3 auto-switch for this chip, permanently capping the AP dongle at USB2/480M. morrownr/rtw89 (dkms) has that switch. ap/rtw89.conf now blacklists the in-kernel rtw89 modules and tunes the replacement (disable_ps_mode + switch_usb_mode); ap/install-rtw89-driver.sh builds and installs it, pinned to a specific upstream commit, kept separate from deploy.sh since a dkms rebuild is too slow to run on every deploy. Verified live: negotiates USB3/5000M on a dedicated USB3 controller (480M on a USB2-only one, as expected), AP recovered via hostapd's Restart=always + van-ap-watchdog with no manual intervention. Hit and documented one real gotcha along the way: in-kernel rtw89_core refused to unload while its own dependents (rtw89_8852b, rtw89_8852b_common) were still loaded, which blocked the new module with a duplicate-symbol error until all in-kernel modules were removed first. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJfEELeh3ercpRBp8yYrYS
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
6999b2d12b
commit
5c793186ef
+48
-1
@@ -1 +1,48 @@
|
||||
options rtw89_core disable_ps_mode=Y
|
||||
# 5GHz AP dongle (Realtek RTL8852BU). Since 2026-08-23 this uses the out-of-tree
|
||||
# morrownr/rtw89 driver (dkms package "rtw89", modules suffixed _git) instead of the
|
||||
# in-kernel rtw89_8852bu — the in-kernel driver on this Ubuntu kernel base predates
|
||||
# mainline's USB2->3 auto-switch, so the dongle was permanently capped at USB2/480M.
|
||||
# Install: https://github.com/morrownr/rtw89 (`sudo dkms install`, `sudo make
|
||||
# install_fw`). This file both tunes the driver and blacklists the in-kernel modules
|
||||
# so udev picks the out-of-tree ones on (re)enumeration.
|
||||
options rtw89_core_git disable_ps_mode=Y
|
||||
options rtw89_usb_git switch_usb_mode=y
|
||||
|
||||
# Blacklist the in-kernel rtw89 drivers.
|
||||
blacklist rtw89_8851bu
|
||||
blacklist rtw89_8851be
|
||||
blacklist rtw89_8851b
|
||||
blacklist rtw89_8852au
|
||||
blacklist rtw89_8852ae
|
||||
blacklist rtw89_8852a
|
||||
blacklist rtw89_8852b_common
|
||||
blacklist rtw89_8852bu
|
||||
blacklist rtw89_8852be
|
||||
blacklist rtw89_8852b
|
||||
blacklist rtw89_8852bte
|
||||
blacklist rtw89_8852bt
|
||||
blacklist rtw89_8852cu
|
||||
blacklist rtw89_8852ce
|
||||
blacklist rtw89_8852c
|
||||
blacklist rtw89_8922au
|
||||
blacklist rtw89_8922ae
|
||||
blacklist rtw89_8922a
|
||||
blacklist rtw89_8922de
|
||||
blacklist rtw89_8922d
|
||||
blacklist rtw89_core
|
||||
blacklist rtw89_usb
|
||||
blacklist rtw89_pci
|
||||
|
||||
# Blacklist Larry Finger's out-of-tree rtw89 driver too, in case it's ever installed.
|
||||
blacklist rtw89core
|
||||
blacklist rtw89pci
|
||||
blacklist rtw_8851b
|
||||
blacklist rtw_8851be
|
||||
blacklist rtw_8852a
|
||||
blacklist rtw_8852ae
|
||||
blacklist rtw_8852b
|
||||
blacklist rtw_8852be
|
||||
blacklist rtw_8852c
|
||||
blacklist rtw_8852ce
|
||||
blacklist rtw_8922a
|
||||
blacklist rtw_8922ae
|
||||
|
||||
Reference in New Issue
Block a user