无线网卡为什么识别不了
Linux 桌面(UOS、银河麒麟、Ubuntu、RHEL 系)里无线网卡「不见了」,多数不是硬件损坏,而是三层链路里断了一层:固件(firmware)文件缺失、内核驱动模块没加载、或者被 rfkill 的软/硬开关禁用。排查要按「硬件是否枚举 → 驱动与固件是否就位 → 无线接口是否创建 → 是否被开关禁用」自下而上确认,否则容易反复重装驱动却始终无效。
基本信息
| 适用平台 | UOS、银河麒麟、Ubuntu/Debian、RHEL 系桌面 |
|---|---|
| 排查链路 | lspci/lsusb → dmesg → ip link/nmcli → rfkill |
| 权限要求 | 读取状态普通用户;装驱动/固件需 root |
| 生效方式 | modprobe 即时生效,装固件后重载模块,部分驱动需重启 |
典型使用场景
- 新装或迁移到信创桌面后 Wi-Fi 图标消失,只剩有线连接
- 网卡能识别但搜不到任何 AP,或搜到却连不上
- 按了飞行模式快捷键、或在虚拟机里点了「断开无线」后 Wi-Fi 一直不回来
- 内核或系统升级后原来的无线驱动失效,需要重装厂商驱动包
- 整机适配阶段确认某型号无线网卡是否在厂商适配清单内
分层检查顺序
分层检查顺序
lspci -nnk | grep -iA3 network # 硬件是否枚举、有无 Kernel driver in use
lsusb | grep -iE 'wireless|wlan|bluetooth' # USB 无线网卡看这里
dmesg -T | grep -iE 'firmware|iwlwifi|rtw|ath' | tail -20 # 固件加载失败会明确报错
ip link | grep -iE 'wl|wlan' # 无线接口是否已创建
rfkill list # Soft/Hard blocked 状态
nmcli radio wifi # NetworkManager 侧的无线开关
nmcli device status # 设备是否被 NM 托管
modinfo <驱动名> | head -10 # 驱动版本与依赖确认关键输出读法
| 输出 | 含义 | 异常表现 |
|---|---|---|
| Kernel driver in use | 该设备当前绑定的内核驱动 | 为空或显示 vfio/none,说明驱动未加载 |
| dmesg 中 firmware ... failed to load | 固件文件缺失 | 补装对应 firmware 包后重载模块 |
| rfkill Soft blocked: yes | 软件禁用(快捷键、飞行模式) | rfkill unblock wifi 即可恢复 |
| rfkill Hard blocked: yes | 硬件开关或 BIOS/固件禁用 | 改物理开关或 BIOS 设置,软件无法解除 |
| nmcli device status 显示 unmanaged | NetworkManager 未接管该设备 | 检查 NM 配置与设备托管规则 |
硬阻塞与软阻塞是两条不同的路:硬阻塞来自机身开关、BIOS 或部分机型的无线白名单,任何 rfkill unblock 都无效,必须先解决物理层再回到软件排查。
信创整机通常由厂商提供已适配的驱动与固件包(内核模块 + firmware),优先使用厂商包而不是从上游内核凑版本,能显著减少内核升级后驱动失效的返工。