ubuntu网卡失效

ubuntu网卡失效

  • [Tenda WiFi6 网卡(AIC8800DC)驱动失效修复记录](#Tenda WiFi6 网卡(AIC8800DC)驱动失效修复记录)
    • 一、故障现象
    • 二、排查过程
      • [1. 确认 USB 设备被识别(排除硬件问题)](#1. 确认 USB 设备被识别(排除硬件问题))
      • [2. 确认没有驱动绑定到设备](#2. 确认没有驱动绑定到设备)
      • [3. 确认驱动模块缺失](#3. 确认驱动模块缺失)
      • [4. 用启动记录对时间线,确认根因](#4. 用启动记录对时间线,确认根因)
    • 三、根因
    • 四、修复步骤
      • [1. 编译驱动](#1. 编译驱动)
      • [2. 安装模块 + 固件 + udev 规则(需 root)](#2. 安装模块 + 固件 + udev 规则(需 root))
      • [3. 验证](#3. 验证)
    • 五、以后再遇到怎么办
      • [方式 A:临时修复(本次采用)](#方式 A:临时修复(本次采用))
      • [方式 B:一劳永逸(推荐,尚未实施)](#方式 B:一劳永逸(推荐,尚未实施))
    • 六、涉及文件位置备忘

Tenda WiFi6 网卡(AIC8800DC)驱动失效修复记录

日期:2026-09-19

设备:Tenda AIC8800DC(USB ID 2604:0014)

系统:Ubuntu 22.04,内核 6.8.0-138-generic


一、故障现象

  • 网卡在 Windows 上正常,Ubuntu 上此前也能正常使用
  • 2026-09-18 晚上重启后,WiFi 突然消失
  • 网卡 USB 已插入,但网络设置里看不到无线网卡

二、排查过程

1. 确认 USB 设备被识别(排除硬件问题)

bash 复制代码
lsusb
# Bus 001 Device 005: ID 2604:0014 Tenda AIC8800DC   ← 设备正常被识别

2. 确认没有驱动绑定到设备

bash 复制代码
lsusb -t
# Port 9: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 480M
#                                                    ↑ Driver 为空 = 没有任何驱动接管

注意:此时系统里显示"已连接"的 enx... "有线连接"其实是手机 USB 共享网络

(rndis_host),与网卡无关,容易误判。

3. 确认驱动模块缺失

bash 复制代码
lsmod | grep -i aic        # 无输出,模块未加载
modinfo aic8800_fdrv       # ERROR: Module not found
find /lib/modules -name 'aic8800*'
# /lib/modules/6.2.0-26-generic/kernel/drivers/net/wireless/aic8800/aic8800_fdrv.ko
# ↑ 模块只存在于【旧内核】6.2.0-26 目录下,当前内核 6.8.0-138 没有

4. 用启动记录对时间线,确认根因

bash 复制代码
last reboot | head
# reboot   system boot  6.8.0-138-generi Sun Sep 20 00:06   still running
# reboot   system boot  6.8.0-138-generi Sat Sep 19 16:11 - 16:52
# reboot   system boot  6.2.0-26-generic Fri Sep 18 12:35 - 22:30
#                       ↑ 9月18日白天还在旧内核(驱动正常)
#                         18日晚重启进入新内核后驱动失效

三、根因

系统内核自动升级(6.2.0-26 → 6.8.0-138)后,该驱动没有跟着为新内核编译。

  • 此驱动是外置源码编译模块(make 装到 /lib/modules/<内核版本>/...),
    没有注册 DKMS (/usr/src/AIC8800 里没有 dkms.conf)
  • 所以内核更新后模块不会自动重编译,新内核下驱动"消失"

四、修复步骤

1. 编译驱动

bash 复制代码
cd ~/wifi6-adapter-linux-driver-V1.0.1.10/Appendix/linux_driver_sourcecode/aic8800_linux_drvier/drivers/aic8800
make

遇到的坑 :编译报 gcc-12: not found。Ubuntu 内核头文件固定要求 gcc-12

(内核编译选项 -ftrivial-auto-var-init=zero 只有 gcc-12+ 支持,系统里的

gcc-11 无法绕过)。

bash 复制代码
sudo apt install -y gcc-12   # 装好后重新 make,一次通过

编译产物:

  • aic8800_fdrv/aic8800_fdrv.ko(无线网卡驱动)
  • aic_load_fw/aic_load_fw.ko(固件加载)

2. 安装模块 + 固件 + udev 规则(需 root)

bash 复制代码
sudo bash -c 'set -e; cd ~/wifi6-adapter-linux-driver-V1.0.1.10/Appendix/linux_driver_sourcecode/aic8800_linux_drvier/drivers/aic8800; make install; cd ../..; bash install_setup.sh; modprobe aic_load_fw; modprobe aic8800_fdrv'

坑:install_setup.sh 没有可执行权限,直接 ./install_setup.sh 会报

"权限不够",要用 bash install_setup.sh 方式运行。

该命令依次完成:

  1. make install ------ 两个 .ko 装入当前内核的模块目录并 depmod
  2. install_setup.sh ------ 复制固件(fw/aic8800D80、fw/aic8800DC)到
    /lib/firmware/,安装 udev 规则 aic.rules
  3. modprobe 加载两个模块

3. 验证

bash 复制代码
lsmod | grep aic      # aic8800_fdrv / aic_load_fw 已加载
nmcli device status   # 出现 wlxc83a351aaeb8 (wifi),自动连回 XJTU_STU1
ping -c 3 -I wlxc83a351aaeb8 223.5.5.5   # 3/3 通,延迟约 24ms

五、以后再遇到怎么办

同样的故障一定会在下次内核更新后复现(WiFi 消失)。两种处理方式:

方式 A:临时修复(本次采用)

重复上面"第四节"的步骤即可(gcc-12 装过就不用再装,直接 make 会用缓存,

很快)。也可以进源码目录后只跑:

bash 复制代码
cd Appendix/linux_driver_sourcecode/aic8800_linux_drvier/drivers/aic8800
make && sudo make install && sudo modprobe aic8800_fdrv

方式 B:一劳永逸(推荐,尚未实施)

把驱动注册为 DKMS 模块 ,以后内核更新时自动重编译,彻底免维护。

需要:在 /usr/src/AIC8800-<版本>/ 下补一个 dkms.conf,然后

dkms add / dkms build / dkms install 注册。

六、涉及文件位置备忘

内容 路径
驱动源码 ~/wifi6-adapter-linux-driver-V1.0.1.10/Appendix/linux_driver_sourcecode/aic8800_linux_drvier/
已安装到 /usr/src 的源码副本 /usr/src/AIC8800/
模块安装位置 /lib/modules/<内核版本>/kernel/drivers/net/wireless/aic8800/
固件 /lib/firmware/aic8800D80/、/lib/firmware/aic8800DC/
udev 规则 /etc/udev/rules.d/aic.rules
官方安装指南 PDF Linux System Quick Installation Guide.pdf、Appendix/Linux System Source Code Installation Guide.pdf
相关推荐
坚定的共产主义生产设备永不宕机2 分钟前
服务器从裸机开始搭建ESXI虚拟机
linux·服务器·网络
刚入门的大一新生8 分钟前
Linux-线程封装
linux·运维·服务器
god_cvz12 分钟前
实践:Linux环境构建CTB工具(cesium-terrain-builder)
linux·gis·ctb
Android系统攻城狮27 分钟前
Linux FFmpeg深度解析之av_dump_format调用流程与实战(十一)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
Android系统攻城狮41 分钟前
Linux FFmpeg深度解析之avcodec_find_decoder调用流程与实战(十二)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
小白的码BUG之路1 小时前
K8s -- 启动一主二从节点
linux·运维·服务器
Escalating_xu1 小时前
【Linux 网络编程】IP 分片与重组:3000 字节的数据报,怎样拆开又拼回来?
linux·网络·tcp/ip
小相会自律1 小时前
全平台远程控制软件推荐2026:Win/Mac/Linux/手机/鸿蒙互通哪款好
linux·macos·智能手机·todesk·teamviewer·向日葵
风娜1 小时前
【Linux网络】UDP 服务器怎么写?从 socket、bind 到 recvfrom/sendto,手写完整回显服务器
linux·服务器·网络
静以修身zzz1 小时前
OpenStack对象存储-Swift、OpenStack编排管理-heat、OpenStack网络管理-neutron
linux·运维·服务器·架构·openstack·swift