WiFi6 AIC8800 无线网卡驱动编译经验

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(产品代码)

aic8800-2
.


.

沙发

only need .ko, no need .bin files?

中文社区干嘛讲洋文
以及.ko和.bin基于实际情况

区别

.bin是firmware/固件文件
.ko是内核模块

这里似乎只编译了内核模块

233,没办法,debian12最近更新让我打不了中文,我这还是在手机上发的

*.bin 的 firmware 固件文件,各家网卡厂商的 DEB 包,或者 ZIP 压缩包里,实际上都有包含。

也可以解压缩 DEB 文件,查看 MakeFile 里的技术细节,搜索 install 字样,可以看到制到 的目录位置。

另外,本贴描述的技术侧重点,意在表达:

以上网卡厂商提供的 DEB 驱动包,在少量修改 源码、增补 友商 的 设备 ID 后,编译出的驱动,也可以通用其他几家厂商!

现在测试的经验,如果安装的是 Tenda 官方的原版驱动,如果插入 TP-Link 或者 Mercury 水星的 AIC8800 无线网卡(Wi-Fi 6, 300M), 是无法驱动的。反过来,也是无法驱动。

如果想要 aic8800 芯片的 firmware 固件包,这里也提供了一个手搓的 DEB 包。

相关固件文件,均源自 网卡厂商的 官方 驱动包。

aic8800dc-firmware.deb
文件大小:153 K

https://url48.ctfile.com/d/30646948-58456320-e1fa27?p=6859
(访问密码: 6859)

fcitx5请

固件一般是不公开源码的需要被加载到目标硬件中的闭源二进制文件,由厂商提供,所以不需要编译也无法编译。

1 个赞

谢谢

感觉aic8800驱动兼容性太差了,不同品牌的不通用。我这个能连wifi但是上不了网,看不到连接速度。用腾达的和绿联的都是这样,这自带一个装驱动的模拟u盘,但里面是exe

你debian 12 内核版本多少?
tenda 和 tplink 系的驱动,的确是 互不通用。

但是绿联的,应该是 公版驱动。

lsusb ,显示应该是 aic aic8800

另外,楼上网盘里,我记得应该有 6.1 和 6.6 内核的驱动 deb