WiFi6 AIC8800 无线网卡驱动编译
2024.3.17
-
系统:Debian GNU/Linux 11 (bullseye)
-
内核:6.1.0-0.deb11.13-amd64
-
调整后编译生成的驱动:可以驱动不同网卡厂商的 USB无线网卡
-
技巧提示:有编译经验、熟悉 Linux 系统的朋友,可以多看几眼附件中,
在终端下的截图。有技术细节哦! -
AIC8800 的芯片 ID
sudo modinfo aic8800_fdrv | grep alias
alias: usb:v2357p0147d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2604p0014d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2604p0013d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v368Bp88DFd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:vA69Cp88DDd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:vA69Cp88DCd*dc*dsc*dp*icFFiscFFipFFin*
alias: usb:vA69Cp8801d*dc*dsc*dp*icFFiscFFipFFin*
手上两个 AIC8800 芯片的 USB 无线网卡(AX300, 300M速率):
- Tenda 腾达 U2 V5 (外置天线。29元左右)
- Mercury 水星 UX3H (外置天线。29元左右。lsusb 识别为:TP-Link AIC8800)
编译流程:
一、编译
make
二、安装编译好的2个 ko 驱动文件,复制到指定系统目录。
安装完后,会自动执行一个操作
sudo depmod -a $(uname -r)
sudo make install
三、拔下网卡,再插上。或者依次执行以下几组命令:
sudo modprobe cfg80211
sudo modprobe aic_load_fw
sudo modprobe aic8800_fdrv
**(可选步骤)**四、更新 启动镜像文件 initramfs,重新启动后见效。
sudo update-initramfs -u
(特别说明:
对于其它某些 USB 无线网卡芯片的驱动来说,编译、安装后,可以不执行上面“第四步”的操作,就能马上检测到 对应的无线网卡。
但是对于这款芯片型号 AIC8800, 如果不能被正常识别,
建议还是运行下 第四步 的操作,并重启动进入系统。)
五、技术细节说明
打开这两个文件,
/AIC8800/drivers/aic8800/aic8800_fdrv/aicwf_usb.h
/AIC8800/drivers/aic8800/aic8800_fdrv/aicwf_usb.c
查找 并 看懂这几组字符
USB_VENDOR_ID_TENDA (厂商代码)
USB_PRODUCT_ID_TENDA (产品代码1)
USB_PRODUCT_ID_TENDA_U2 (产品代码2)
USB_VENDOR_ID_TP(厂商代码)
USB_PRODUCT_ID_TP(产品代码)
.
.