1. 问题背景与诊断
我的机械师曙光16S笔记本在安装Ubuntu 22.04双系统后,遇到了一个典型的新硬件兼容性问题——系统托盘区完全不显示WiFi图标。这种情况在采用较新无线网卡的设备上并不罕见,特别是当Linux内核尚未内置对应驱动时。
通过终端输入lspci | grep -i network命令,确认我的无线网卡型号是MediaTek MT7920。这个2021年发布的WiFi 6网卡在Linux系统中的驱动模块名为mt7921e。由于Ubuntu 22.04默认安装的5.15内核版本较旧,虽然包含了基础驱动,但缺少必要的固件文件(firmware),导致硬件无法正常工作。
注意:不同品牌的笔记本可能采用相同型号的网卡,但OEM厂商有时会定制固件。如果遇到驱动加载但连接不稳定的情况,可能需要寻找特定供应商的固件。
2. 驱动安装全流程
2.1 准备工作
由于没有网络连接,我们需要通过USB网络共享建立临时网络:
- 用USB线连接安卓手机和电脑
- 在手机设置中启用"USB网络共享"
- 在Ubuntu网络设置中确认有线连接已建立
接着安装必要的工具链:
bash复制sudo apt update
sudo apt install -y git build-essential
2.2 获取官方固件
Linux内核的硬件支持分为驱动模块和固件两部分。MT7920需要从linux-firmware仓库获取最新固件:
bash复制cd /tmp
git clone --depth 1 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
这个仓库包含所有开源硬件厂商提供的二进制固件,更新频率高于各发行版的打包版本。特别要注意的是,MediaTek的固件存放在mediatek子目录中。
2.3 部署固件文件
执行以下命令将固件部署到系统目录:
bash复制sudo mkdir -p /lib/firmware/mediatek
sudo cp -r /tmp/linux-firmware/mediatek/* /lib/firmware/mediatek/
关键
