AIC8800D80 Linux Driver
This driver is for the AIC8800D80 chipset, supported by devices such as the Tenda U11 and AX913B.
Important
Choose the branch for your hardware revision before installing. If the driver log reports
chip_id=7, chip_mcu_id=1on an AIC8800D80 or AIC8800DC/DW device, use thelegacy-mcu1branch. It contains the matched legacy firmware and loader profile required to avoid the deterministic firmware upload timeout at0x170400. Usemainwhenchip_mcu_id=0or when the MCU revision is unknown.Hardware revision takes precedence over the separate Bluetooth branch. MCU1 devices should remain on
legacy-mcu1, which initializes Bluetooth for the kernel's standardbtusbdriver. After switching branches, rerunsudo ./install.shand reboot; switching the Git branch alone does not replace the firmware already installed under/lib/firmware.
Added support for devices with Vendor ID 368B (tested).
Tested on Linux kernel 6.16 with Ubuntu 25.04 and 6.1.0.27 with Debian 12.
Note
Bluetooth branch retirement: The separate
bluetoothbranch is deprecated and is being kept only during the migration period. Wi-Fi and standard-btusbBluetooth support are being consolidated intomainin PR #73. After hardware validation and promotion, thebluetoothbranch will be removed. Existing users may remain on it temporarily; new validation should usetest/unified-wifi-bt-zlp. MCU1 hardware must uselegacy-mcu1, not the separatebluetoothbranch.
Disclaimer
I did not develop this software, The code is sourced from the Tenda U11 driver. I only made some modifications to the code to adapt it to newer kernel versions. Apart from compilation issues, I am unable to address other problems.
Attention
Before installing the driver, delete all aic8800-related folders under /lib/firmware. Using an incorrect firmware version may cause the system to freeze.
Installation Steps
Method 1: Quick Installation (Recommended)
Method 2: Manual Installation
Copy udev rules:
Copy the aic.rules file to /lib/udev/rules.d/:
sudo cp aic.rules /lib/udev/rules.d/
Copy firmware:
Copy the aic8800D80 folder from ./fw to /lib/firmware/:
sudo cp -r ./fw/aic8800D80 /lib/firmware/
Navigate to the driver directory:
Change to the drivers/aic8800 directory:
cd ./drivers/aic8800
Compile and Install the Driver:
First, compile the driver:
make
Then, install the driver:
sudo make install
For any kernel updates, you'll need to reinstall the driver:
make clean
make
sudo make install
Load the Driver
After installation, load the driver with the following command:
sudo modprobe aic8800_fdrv
Verify the Module is Active
Check if the module is loaded correctly:
lsmod | grep aic
You should see output similar to:
aic8800_fdrv 536576 0
cfg80211 1146880 1 aic8800_fdrv
aic_load_fw 69632 1 aic8800_fdrv
usbcore 348160 10 xhci_hcd,ehci_pci,usbhid,usb_storage,ehci_hcd,xhci_pci,uas,aic_load_fw,uhci_hcd,aic8800_fdrv
After that, plug in your USB wireless network card.
Verify Wi-Fi Device is Active
To check if the Wi-Fi interface is recognized, run:
iwconfig
If the device is still not active, check the kernel logs for any errors related to the driver:
sudo dmesg