当前位置:首页>Linux>Linux Wi-Fi驱动安装(上)——网卡识别与在线安装

Linux Wi-Fi驱动安装(上)——网卡识别与在线安装

  • 2026-10-11 07:14:38
Linux Wi-Fi驱动安装(上)——网卡识别与在线安装

大家好,我是冯哥的缓存。今天来聊一个让新手容易遇到的问题:装好 Linux 之后,Wi-Fi 连不上,或者根本找不到无线网卡——怎么办?

为什么 Linux Wi-Fi 经常出问题?

Windows 驱动基本上"插上就能用",因为硬件厂商主动为 Windows 开发并维护驱动。Linux 的情况不一样:

原因
说明
厂商不主动支持
大部分网卡厂商不维护 Linux 驱动,只提供 Windows 驱动
内核驱动覆盖不全
Linux 内核内置了主流网卡驱动,但部分型号(尤其是新款)没有收录
闭源驱动依赖固件
部分网卡(如 Realtek、Broadcom)需要额外安装固件包
内核版本变动
内核升级后,DKMS 驱动可能需要重新编译

好消息:Intel 和大多数 Realtek/MediaTek 网卡在 Ubuntu 22.04+ 上开箱即用,最麻烦的是 Broadcom 系列。

第一步:确认网卡型号

不管遇到什么问题,第一步都是先查清楚是什么网卡。

用命令查询

# 查看所有网络设备(含有线+无线)
lspci -nnk | grep -A3 -i "network\|wireless\|wi-fi"
或者:lspci -nnk | grep -i "network"

# 如果是 USB 网卡
lsusb | grep -i "wireless\|wifi\|network"

# 也可以直接看内核识别到的网络接口
ip link show

lspci 输出示例:

03:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
        Subsystem: Intel Corporation Wi-Fi 6 AX200 [8086:0084]
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi

关注两个地方:

  • Kernel driver in use
    :有值说明驱动已加载,往下看是否正常
  • Kernel driver in use
    :空,说明没有驱动,需要安装

输出解读

lspci 关键字段
含义
[8086:2723]
方括号内是 PCI ID(厂商:设备),用于精确识别 ,可以把这个 ID 复制到搜索引擎查驱动
Kernel driver in use: iwlwifi
当前使用的驱动名称
Kernel modules: iwlwifi
可用的内核模块
空白(无 driver 行)
没有驱动加载

💡 提示: 记下 PCI ID(如 8086:2723)或者厂商型号,去 Google 搜索 [型号] Linux driver 可以找到对应的安装方法。

第二步:查看驱动加载状态

找到网卡型号后,确认驱动是否正常加载。

# 查看无线网卡对应的内核模块是否加载
lsmod | grep -i "iwl\|rtl\|brcm\|ath\|mt76\|r8"

# 查看系统日志里有没有驱动报错
dmesg | grep -i "firmware\|wifi\|wlan\|wireless" | tail -30

# 查看当前网络接口状态
nmcli device status

nmcli device status 输出示例:

DEVICE          TYPE      STATE         CONNECTION
enp3s0          ethernet  connected     有线连接
wlp2s0          wifi      disconnected  --
lo              loopback  unmanaged     --
  • wifi
     状态 disconnected → 驱动加载了但没连,正常
  • wifi
     状态 unavailable → 驱动有问题
  • 完全没有 wifi 那行 → 驱动没加载

主流网卡厂商驱动情况一览

厂商
常见型号
驱动情况
需要额外操作
Intel
AX200/AX210/8260/8265
内核自带 iwlwifi
可能需要固件包(通常自动装)
Realtek
RTL8821CE/8822CE/8852BE
多数内核自带,部分需要 DKMS
中等麻烦
MediaTek
MT7921/MT7922
Ubuntu 22.04+ 内核自带
基本免驱
Qualcomm/Atheros
QCA9377/WCN3990
内核自带 ath10k/ath11k
可能需要固件
Broadcom
BCM43xx 系列
内核没有
,需要手动装
最麻烦

下面按厂商分别介绍安装方法。

方案一:Intel 网卡——安装固件包

Intel 网卡驱动(iwlwifi)内核自带,但固件文件需要单独安装。Ubuntu 通常在安装时自动装好,但如果出现问题,可以手动补装:

# 更新软件列表
sudo apt update

# 安装 Intel 无线网卡固件
sudo apt install linux-firmware intel-microcode

# 重新加载驱动
sudo rmmod iwlwifi && sudo modprobe iwlwifi

# 检查是否生效
dmesg | grep iwlwifi | tail -10

Intel AX200/AX210 常见报错:

iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-72.ucode failed
# 如果该文件不存在,尝试更新 linux-firmware 到最新版。

解决:

sudo apt install firmware-iwlwifi
# 或者更新整个固件包
sudo apt install linux-firmware
sudo reboot

方案二:Realtek 网卡——按型号处理

Realtek 网卡分情况:

系列
Ubuntu 22.04 状态
处理方式
RTL8188/RTL8192
内核自带
通常免驱
RTL8821CE
部分系统需要 DKMS
见下文
RTL8822CE/8852BE
Ubuntu 22.04+ 内核自带
通常免驱
RTL8814AU(USB)
内核没有
需要 DKMS 驱动

RTL8821CE 安装方法(需要网络)

# 安装编译依赖
sudo apt update
sudo apt install dkms build-essential linux-headers-$(uname -r) git

# 克隆驱动源码
git clone https://github.com/lwfinger/rtl8821ce.git
cd rtl8821ce

# 编译安装
sudo ./dkms-install.sh

# 重启生效
sudo reboot

⚠️ 注意: DKMS 驱动会在内核升级后自动重新编译,不需要手动重装。

检查 Realtek 固件包

# 安装 Realtek 无线固件
sudo apt install firmware-realtek

# 如果 apt 里没有,说明需要启用 non-free 仓库(Debian 系)
sudo add-apt-repository non-free
sudo apt update && sudo apt install firmware-realtek

方案三:Broadcom 网卡——最麻烦的情况

Broadcom(博通)的 BCM43xx 系列是 Linux 驱动问题重灾区。好消息是 Ubuntu 提供了打包好的驱动,有网的情况下一条命令搞定。

第一步:确认是 Broadcom 网卡

lspci -nnk | grep -i broadcom
# 或者
lspci -nnk | grep -i bcm

常见输出:

02:00.0 Network controller [0280]: Broadcom Inc. BCM43602 802.11ac Wireless LAN SoC [14e4:43ba]

第二步:查 Broadcom 驱动对应表

网卡型号
推荐驱动包
备注
BCM4311/4312/4313
bcmwl-kernel-source
Ubuntu 官方打包
BCM4321/4322/43224/43225
bcmwl-kernel-source
BCM4331/43111/43113
bcmwl-kernel-source
BCM4352/43602
bcmwl-kernel-source
BCM4360/4365
bcmwl-kernel-source
BCM43142
bcmwl-kernel-source
 + 固件
笔记本常见

💡 提示: 绝大多数情况用 bcmwl-kernel-source 都能解决,不需要纠结具体型号。部分 BCM43142 需要额外安装 broadcom-sta-common。

第三步:安装驱动

# 更新软件列表
sudo apt update

# 安装 Broadcom 驱动(一条命令)
sudo apt install bcmwl-kernel-source

# 安装过程中会自动编译内核模块,需要等几分钟
# 安装完成后重启
sudo reboot

第四步:验证安装

# 检查驱动是否加载
lsmod | grep wl 

# 如果看到 wl 但没接口
sudo rfkill unblock all

# 检查网络接口
nmcli device status

# 如果看到 wlan0 或 wlp2s0 的 wifi 行,说明成功

⚠️ 注意:bcmwl-kernel-source 是闭源驱动,安装时需要禁用 Secure Boot 或者为驱动签名。如果系统开启了 Secure Boot,安装过程中会弹出设置 MOK 密码的对话框,按提示操作即可。

方案四:MediaTek/Qualcomm 网卡——升级内核固件

较新的 MediaTek(MT7921/MT7922)和 Qualcomm(QCA6390/WCN6856)网卡在 Ubuntu 22.04+ 中基本免驱,但如果出现问题:

# 更新固件包(通常能解决问题)
sudo apt update
sudo apt install linux-firmware

# 重新加载 MediaTek 驱动
sudo modprobe -r mt7921e && sudo modprobe mt7921e

# 或者重新加载 Qualcomm 驱动
sudo modprobe -r ath11k_pci && sudo modprobe ath11k_pci

sudo reboot

安装后的基本验证

安装驱动重启后,用以下命令确认一切正常:

# 1. 确认无线网卡接口存在
ip link show | grep wl

# 2. 确认 NetworkManager 识别到 Wi-Fi 设备
nmcli device status

# 3. 扫描周围 Wi-Fi 热点
nmcli device wifi list
# 如果该命令卡住或没反应,先检查 nmcli device status 看 wifi 是否 disconnected 而不是 unavailable。

# 4. 连接 Wi-Fi
nmcli device wifi connect "你的WiFi名称" password "你的密码"

# 5. 确认已连接
nmcli connection show --active

驱动加载排查流程

如果装完驱动还是不行,按这个流程一步一步排查:

步骤
命令
看什么
1. 确认网卡被识别
lspci -nnk | grep -i network
有没有网卡条目
2. 确认驱动加载
lsmod | grep <驱动名>
有没有模块
3. 查看固件错误
dmesg | grep -i firmware
有没有 failed 字样
4. 查看网络接口
ip link show
有没有 wlan0/wlp 接口
5. 查看 NM 状态
nmcli device status
接口状态是否 unavailable
6. 查看详细日志
`journalctl -b
grep -i wifi`

常见报错速查

报错现象
原因
解决方法
lspci
 没有网卡
网卡物理未识别或硬件故障
检查 BIOS 是否禁用了无线网卡(部分笔记本有 BIOS 开关)
Kernel driver in use
 为空
没有驱动加载
按型号安装对应驱动
dmesg
 里有 firmware failed
固件文件缺失
sudo apt install linux-firmware
驱动装完还是 unavailable
驱动加载但接口被禁用
sudo rfkill unblock all
 解除射频封锁
rfkill list
 显示 Soft blocked: yes
软件锁
sudo rfkill unblock wifi
rfkill list
 显示 Hard blocked: yes
硬件锁
检查笔记本的物理无线开关(或 Fn+F2/F3 等快捷键)
bcmwl-kernel-source
 安装报错
Secure Boot 冲突
BIOS 关闭 Secure Boot 后重装
驱动装完内核升级后失效
没用 DKMS 管理
重新运行 dkms-install.sh 或重装驱动包

各品牌网卡安装路线速查

网卡厂商/系列
快速安装命令
有网要求
Intel AX200/AX210
sudo apt install linux-firmware
需要
Realtek RTL8821CE
git clone
 + dkms-install.sh
需要(下篇有离线方案)
Broadcom BCM43xx
sudo apt install bcmwl-kernel-source
需要
MediaTek MT7921
sudo apt install linux-firmware
需要
Qualcomm QCA6390
sudo apt install linux-firmware
需要

💡 提示: 如果当前完全没有有线网络,也没法用手机共享热点,请看下篇的离线安装方法——用另一台电脑提前把驱动包下好,拷进 U 盘安装。

小结

步骤
要点
先识别网卡
lspci -nnk
 查型号和驱动名
看驱动是否加载
lsmod
 + dmesg 查固件报错
Intel
通常免驱,缺固件时 apt install linux-firmware
Realtek 新型号
Ubuntu 22.04+ 多数免驱;老型号用 DKMS
Broadcom
apt install bcmwl-kernel-source
 一条命令
MediaTek/Qualcomm
更新 linux-firmware
装完不生效
先查 rfkill list,再查 nmcli device status

📌 下篇预告: 无网络情况下如何离线安装 Wi-Fi 驱动,以及蓝牙设备的配对与常见问题处理。

最新文章

随机文章