Files
aic8800d80/INSTALL_SCRIPT.md
Shen Mintao 1f7b370cd9 fix: include matched USB firmware in initramfs and propagate probe errors
Declare the installed firmware and configuration paths on both USB modules so initramfs tools can include the matched set. Preserve failed system configuration and firmware-download errors instead of binding an interface after cleanup. Keep intentional reboot/re-enumeration returns unchanged.

Addresses #117. Validated with extracted probe regression cases, inventory/modinfo checks and all three modules built against Linux 6.8 and 6.17 headers; no Kylin boot hardware validation.
2026-10-28 10:17:36 +08:00

2.4 KiB

Automated Installation Script

Overview

This automated installation script (install.sh) installs the AIC8800 Wi-Fi driver and firmware loader on Linux systems. Wi-Fi/Bluetooth combo adapters use the standard kernel btusb driver after firmware initialization. For USB device 368b:8d81, it also installs a device-scoped ACL bulk TX ZLP companion module without replacing the distribution's btusb.ko.

  • Automatic Secure Boot detection
  • Automatic dependency installation
  • Automatic driver compilation and installation
  • Automatic module loading on boot
  • Automatic cleanup of obsolete aic_btusb configuration
  • Automatic aic_zlp_quirk handling for the validated 368b:8d81 device
  • Wi-Fi-only and Wi-Fi/Bluetooth combo adapter support from the same branch
  • Comprehensive error handling
  • Colored output and logging
  • Compatible with Ubuntu, Debian, Fedora, Arch Linux, and derivatives (DKMS supported dkms.conf)

Usage

# Clone the repository and download the script, make the script executable
git clone https://github.com/shenmintao/aic8800d80.git && cd aic8800d80 && chmod +x install.sh

# Run the installation
sudo ./install.sh

On Arch Linux and derivatives, the installer uses the existing pacman package database. It does not refresh that database or upgrade the system. If pacman cannot download dependencies because the database is stale, run sudo pacman -Syu yourself, reboot if the kernel was updated, and rerun the installer with headers matching the running kernel.

The USB modules declare the complete firmware set shipped in fw/, including configuration files and extension patches, so initramfs tools can include those files when they include the modules. Rerun the installer after updating the driver to rebuild DKMS modules and refresh the current kernel's initramfs. If the adapter only works after reloading its modules after boot, check that the initramfs contains its aic8800*/ firmware directory (issue #117). Custom firmware paths supplied with aic_fw_path still need to be included in the initramfs by the administrator.

For more information, please refer to the README.md file.




Diagnostic Build Script (Optional)

This script is used to diagnose build issues with the AIC8800D80 driver. Useful for identifying the root cause of the build failure.

# Make the script executable and run it
chmod +x diagnostic_build.sh && sudo ./diagnostic_build.sh