Getting WiFi 7 Working on Linux: The ASUS ROG USB-BE92
October 4, 2025
I recently upgraded to 5.5 Gbps TDS fiber, installed a shiny new ASUS RT-BE86U WiFi 7 access point capable of 10 Gbps, and grabbed an ASUS ROG USB-BE92 WiFi 7 USB adapter to take advantage of it all. The goal? Get my GPU cluster (what I call DGPUNET - Distributed GPU Network) running at multi-gigabit speeds for distributed AI workloads.
Then I plugged it into my Alienware M18R2 Nvidia 4090 laptop running Q4OS Trinity Desktop Environment (TDE) on Debian 12 with a backported 6.12 kernel, and... nothing. The adapter just sat there, unrecognized, taunting me with its blinking LED. This is the story of how I got it working, complete with all the details you'll need if you find yourself in the same boat.
The Problem: No Driver, No Dice
Here's what I found when I started digging:
lsusb # Bus 001 Device 010: ID 0b05:1bcf ASUSTek Computer, Inc. 802.11be WLAN Adapter
The device was there. The USB subsystem saw it. But the kernel had no idea what to do with it. Running dmesg
showed the device going through some bizarre mode-switching behavior - first appearing as a USB storage device (Realtek's installer gimmick for Windows), then switching to WiFi mode. But even in WiFi mode, no driver claimed it.
The ASUS ROG USB-BE92 uses a Realtek RTL8912AU or RTL8922AU chipset (WiFi 7 / 802.11be). These are brand new chips, and the mainline Linux kernel doesn't have USB drivers for them yet. The kernel has rtw89 drivers, but they're PCIe-only. No USB support.
The Solution: Community to the Rescue
After some research, I found that Nick Morrow (morrownr on GitHub) maintains an out-of-tree driver repository specifically for these newer Realtek USB WiFi adapters. His rtw89 repo includes USB support for multiple chipsets, including the RTL8922AU.
Here's the complete step-by-step process I followed to get it working.
Installation Guide: ASUS ROG USB-BE92 on Debian/Ubuntu
Prerequisites
You need kernel headers, build tools, and DKMS. If you're running Secure Boot (like I am), DKMS will handle module signing automatically (as long as you already have setup MOK and keys, as I had to do to get Cuda working for AI work with the Nvidia 4090 on this laptop).
sudo apt update sudo apt install -y build-essential git dkms linux-headers-$(uname -r)
Important: Make sure you're running kernel 6.6 or newer. This driver won't work on older kernels. Check your version:
uname -r # My system: 6.12.30+bpo-amd64
Step 1: Clone the Driver Repository
cd ~/Downloads # or wherever you want to work git clone https://github.com/morrownr/rtw89 cd rtw89
Step 2: Remove Conflicting Kernel Modules
If you have any existing rtw89 modules (from other attempts or older installations), clean them out:
sudo make cleanup_target_system
This searches your kernel modules directory and removes any conflicting drivers.
Step 3: Install via DKMS (Recommended)
DKMS is the right way to do this, especially if you have Secure Boot enabled. It will:
- Build the modules
- Sign them with your MOK (Machine Owner Key)
- Automatically rebuild when you upgrade your kernel
First, create a symlink in /usr/src:
sudo ln -sf $(pwd) /usr/src/rtw89-6.18
Add to DKMS:
sudo dkms add -m rtw89 -v 6.18
Build the modules:
sudo dkms build -m rtw89 -v 6.18
You should see output showing it's signing each module:
Sign command: /lib/modules/6.12.30+bpo-amd64/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Building module(s).... done. Signing module /var/lib/dkms/rtw89/6.18/build/rtw89_8922au_git.ko ...
Install the modules:
sudo dkms install -m rtw89 -v 6.18
Step 4: Install Firmware
The driver needs firmware files to initialize the hardware:
sudo make install_fw
This copies updated firmware to /lib/firmware/rtw89/
, including rtw8922a_fw-4.bin
.
Step 5: Configure Module Blacklist
Copy the configuration file that blacklists conflicting in-kernel drivers:
sudo cp -v rtw89.conf /etc/modprobe.d/
Step 6: Load the Modules
sudo modprobe rtw89_core_git sudo modprobe rtw89_8922au_git
Check that they're loaded:
lsmod | grep rtw89
You should see:
rtw89_8922au_git 12288 0 rtw89_usb_git 24576 1 rtw89_8922au_git rtw89_8922a_git 73728 1 rtw89_8922au_git rtw89_core_git 1007616 2 rtw89_usb_git,rtw89_8922a_git
Step 7: Verify the Interface
Check your network interfaces:
ip link show
You should see a new wireless interface with a name like wlxa0ad9f72131a
(based on the device's MAC address).
Install wireless tools if needed:
sudo apt install -y iw
Bring the interface up:
sudo ip link set wlxa0ad9f72131a up
Scan for networks to verify it's working:
sudo iw dev wlxa0ad9f72131a scan | grep SSID
If you see network names, you're in business.
Step 8: Auto-Load on Boot
To have the modules load automatically on boot, add them to /etc/modules
:
echo "rtw89_core_git" | sudo tee -a /etc/modules echo "rtw89_8922au_git" | sudo tee -a /etc/modules
What You Get
Once installed, the driver provides:
- Full WiFi 7 (802.11be) support
- HE (High Efficiency) capabilities
- Multiple modes: Managed (client), AP (access point), P2P, Monitor
- Advanced features: LDPC, STBC, A-MSDU, A-MPDU
The firmware version loaded is 0.35.80.3, and dmesg shows successful initialization:
rtw89_8922au_git 2-1:1.0: loaded firmware rtw89/rtw8922a_fw-4.bin rtw89_8922au_git 2-1:1.0: Firmware version 0.35.80.3 (8ef4f0cf), cmd version 1, type 1 rtw89_8922au_git 2-1:1.0: chip rfe_type is 1
Performance Reality Check
Here's the thing nobody tells you: most USB WiFi 7 adapters are USB 3.0, not USB 4.0.
My ASUS adapter shows as USB 3.0 SuperSpeed (5 Gbps theoretical max). In practice, USB 3.0 overhead limits you to around 3-3.5 Gbps for WiFi traffic. That's still excellent - way better than the 1 Gbps my built-in Ethernet provides - but it's not the full 10 Gbps+ that WiFi 7 can theoretically deliver.
The adapter is connected to a USB 3.2 Gen 2x2 port (20 Gbps capable), but the device itself is USB 3.0. The port isn't the bottleneck; the adapter is.
If you need true multi-gigabit for something like distributed GPU workloads (my DGPUNET cluster), consider:
- USB-C to 10GbE adapter (wired, guaranteed throughput)
- PCIe WiFi 7 card (if your laptop has a replaceable M.2 WiFi card)
- Intel AX210/AX211 (WiFi 6E with excellent Linux support out-of-box)
But for most use cases, 3+ Gbps over WiFi is pretty darn good.
Secure Boot Considerations
If you have Secure Boot enabled (I do), the modules must be signed. DKMS handles this automatically if you have a MOK (Machine Owner Key) set up.
Check your Secure Boot status:
sudo mokutil --sb-state
If it says "SecureBoot enabled," DKMS will sign the modules during the build process. You should see "Signing module..." messages in the build output.
If you don't have a MOK set up, DKMS creates one at /var/lib/dkms/mok.{key,pub}
. The first time you build a DKMS module, it should prompt you to enroll the key. If not, you can manually enroll it:
sudo mokutil --import /var/lib/dkms/mok.pub
Then reboot and complete the MOK enrollment through the blue MOK Manager screen.
Troubleshooting
Module won't load: "Key was rejected by service"
This probably means Secure Boot is blocking unsigned modules. Make sure you installed via DKMS (which signs automatically) and that your MOK is enrolled.
Device keeps switching between "DISK" and WiFi mode
This is normal USB mode-switching behavior for Realtek adapters. The device first appears as a USB storage device (Windows installer), then switches to WiFi mode. The usb-modeswitch
package should be installed by default on Debian/Ubuntu to handle this automatically.
No wireless interface appears
- Check that modules are loaded:
lsmod | grep rtw89
- Check dmesg for errors:
dmesg | grep rtw89
- Make sure firmware is installed:
ls /lib/firmware/rtw89/
- Verify the device is in WiFi mode:
lsusb
should show0b05:1bcf
, not0bda:1a2b
Interface appears but can't scan
Make sure you bring the interface up first:
sudo ip link set <interface-name> up
Then scan with sudo:
sudo iw dev <interface-name> scan
The Bigger Picture
This experience highlights a persistent issue in the Linux hardware ecosystem: cutting-edge consumer hardware often gets released without Linux drivers. That being said, some systems, increasingly I have had better luck setting up the drivers under Linux than Windows, but that is highly variable.
WiFi 7 has been standardized since 2024, but we're in late 2025 and still relying on community-maintained out-of-tree drivers for many adapters. Realtek has the resources to contribute USB drivers to the mainline kernel, but they don't. Instead, great people like Nick Morrow step in and do the work for free. Thank you Nick!
This isn't sustainable, and it's not how a healthy open-source ecosystem should work. Companies selling hardware that runs on Linux need to support Linux properly. Not as an afterthought. Not only by relying on community volunteers. Properly, such as 8x8 paying their staff to support the open source communities a number of hours every week.
That said, I am, as always, extremely grateful for the community members who fill these gaps. Without morrownr's work, my $80 WiFi 7 adapter would be a paperweight.
Conclusion
If you're running into issues with newer Realtek USB WiFi adapters on Linux, check out the morrownr repositories on GitHub. The rtw89 driver worked perfectly for my ASUS ROG USB-BE92, and it supports a wide range of chipsets.
The installation process is straightforward if you follow the steps, and DKMS integration means it'll survive kernel updates. Just be aware of the USB 3.0 bandwidth limitations if you're expecting true multi-gigabit performance.
For my DGPUNET cluster, I'll likely end up using a USB-C to 10GbE adapter (I'm still trying to track down a 10Gbps switch that has more than just 4 10 Gbps ports, that I can afford for less than a thousand+ dollars (haven't found one yet) for the guaranteed bandwidth, but this WiFi 7 adapter gives me solid wireless performance when I need mobility.
If you found this helpful, or if you have experience with other WiFi 7 adapters on Linux, drop a comment. I'm always curious to hear what's working (or not working) for other people in the trenches.
Quick Reference Commands
# Clone and setup git clone https://github.com/morrownr/rtw89 cd rtw89 sudo make cleanup_target_system # Install via DKMS sudo ln -sf $(pwd) /usr/src/rtw89-6.18 sudo dkms add -m rtw89 -v 6.18 sudo dkms build -m rtw89 -v 6.18 sudo dkms install -m rtw89 -v 6.18 # Install firmware and config sudo make install_fw sudo cp rtw89.conf /etc/modprobe.d/ # Load modules sudo modprobe rtw89_core_git sudo modprobe rtw89_8922au_git # Auto-load on boot echo "rtw89_core_git" | sudo tee -a /etc/modules echo "rtw89_8922au_git" | sudo tee -a /etc/modules # Verify lsmod | grep rtw89 ip link show sudo iw dev <interface> scan | grep SSID
Hardware Details
- Adapter: ASUS ROG USB-BE92
- Chipset: Realtek RTL8922AU (WiFi 7 / 802.11be)
- USB: 3.0 SuperSpeed (5 Gbps)
- Firmware: rtw8922a_fw-4.bin v0.35.80.3
- Driver: rtw89_8922au_git from morrownr/rtw89
- Kernel: 6.12.30+bpo-amd64 (Debian 12)
- Secure Boot: Enabled (modules signed via DKMS)