mt7921 debian系统 如何安装驱动

Debian 上使用搭载 MT7921 芯片的无线网卡------无论是笔记本内置的 PCIe 版本(mt7921e),还是 ALFA AWUS036AXML 等 USB 网卡(mt7921u)------大概率会遇到一个尴尬的局面:系统识别到了硬件,但 WiFi 界面空空如也。这不是硬件坏了,而是 Debian 默认没有附带 MediaTek 的闭源固件。

MT7921 的驱动早已并入 Linux 内核主线(5.18 及以上),你不需要编译任何东西,只需要把固件文件放到正确的位置,然后重启。下面从确认硬件开始,一步步走完整个流程。

先确认你的硬件到底被识别了没有

安装任何东西之前,先搞清楚系统是否"看得到"这块网卡。

如果是 PCIe 内置网卡 ,用 lspci:

bash 复制代码
lspci -nn | grep -i mediatek

你应该看到类似输出:

复制代码
01:00.0 Network controller [0280]: MEDIATEK Corp. MT7921 802.11ax PCIe Wireless Network Adapter [14c3:7961]

如果是 USB 网卡 ,用 lsusb:

bash 复制代码
lsusb | grep -i mediatek

输出中应包含 ID 0e8d:7961 MediaTek Inc.。看到这些 ID,说明硬件本身没问题,问题只出在固件和驱动加载环节。

驱动是内置的,但固件必须手动装

MT7921 的驱动从 Linux 内核 5.18 起就已内置。Debian 12(Bookworm)默认搭载 6.1 内核,Debian 13(Trixie)搭载 6.12 内核,驱动模块本身都是现成的。但你还需要确认模块是否已经加载:

bash 复制代码
lsmod | grep mt7921

如果没有任何输出,先尝试手动加载看看报什么错:

bash 复制代码
sudo modprobe mt7921e    # PCIe 版本
# 或
sudo modprobe mt7921u    # USB 版本

如果 dmesg 中出现了类似 Direct firmware load for mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin failed 的报错,那就说明问题出在固件------驱动在找固件文件,但系统里没有。

Debian 12 与 Debian 13:两条安装路径

Debian 13(Trixie)用户

Trixie 的内核(6.12)远高于 MT7921 的最低要求,你只需要安装固件包:

bash 复制代码
sudo apt update
sudo apt install firmware-mediatek
sudo reboot

如果 firmware-mediatek 在默认源中不可用,改用 firmware-misc-nonfree:

bash 复制代码
sudo apt install firmware-misc-nonfree

Debian 12(Bookworm)用户

Bookworm 的 6.1 内核对于大多数 MT7921 型号已经够用,固件同样通过 firmware-misc-nonfree 提供:

bash 复制代码
sudo apt update
sudo apt install firmware-misc-nonfree
sudo reboot

如果你的网卡在重启后仍然无法工作,或者出现连接不稳定、频繁断流的情况,可能是内核版本与固件之间存在兼容性问题。此时可以从 backports 安装更新的内核:

bash 复制代码
# 确认 sources.list 中已启用 bookworm-backports
sudo apt install -t bookworm-backports linux-image-amd64 firmware-mediatek
sudo reboot

Debian 论坛中有用户通过这一方式成功驱动了 MT7921 网卡。注意:如果你的 sources.list 中没有 backports 行,需要先添加:

复制代码
deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware

如果 apt 装不上:手动放置固件文件

某些情况下,Debian 仓库中的固件版本可能滞后于网卡实际需要的版本,或者你处于无法联网的状态。这时可以从 linux-firmware 上游仓库手动获取固件文件。

MT7921 需要以下文件(注意:虽然芯片叫 7921,但固件文件名是 MT7961):

复制代码
WIFI_MT7961_patch_mcu_1_2_hdr.bin
WIFI_RAM_CODE_MT7961_1.bin
BT_RAM_CODE_MT7961_1_2_hdr.bin    # 仅蓝牙需要

从内核源码仓库的 linux-firmware/mediatek 目录下载这些文件,然后放入系统的固件目录:

bash 复制代码
sudo mkdir -p /lib/firmware/mediatek
sudo cp WIFI_MT7961_patch_mcu_1_2_hdr.bin /lib/firmware/mediatek/
sudo cp WIFI_RAM_CODE_MT7961_1.bin /lib/firmware/mediatek/
sudo cp BT_RAM_CODE_MT7961_1_2_hdr.bin /lib/firmware/mediatek/
sudo reboot

这一方法来源于 Mediatek USB WiFi 适配器固件安装指南,对 PCIe 和 USB 版本同样适用。

重启后的验证

重启后依次执行以下命令确认状态:

bash 复制代码
lsmod | grep mt7921          # 应看到 mt7921e 或 mt7921u 模块
ip link | grep wlan          # 应看到 wlan0 或 wlan1 接口
dmesg | grep mt7921          # 检查是否有固件加载失败的报错

如果 ip link 中出现了 wlan 接口,WiFi 列表也正常出现,就说明驱动和固件都到位了。

几个常见的坑

低发射功率问题。 部分 MT7921/MT7922 用户在 Debian 上遇到发射功率被锁定在极低值(约 3dB)的情况,表现为信号极弱、连接不稳定。一个临时解决方案是卸载 mt76 相关模块后,以 disable_clc=1 参数重新加载驱动:

bash 复制代码
sudo modprobe -r mt7921e mt76
sudo modprobe mt7921e disable_clc=1

这个问题在 Debian Bug #1105211 中有详细记录。

固件回归问题。 有用户反馈升级到 firmware-mediatek 20250917-1 后,原本正常的 mt7921e 反而停止工作。如果更新固件后网卡消失,可以尝试降级固件版本,或在 backports 中寻找更稳定的版本。

蓝牙与 WiFi 的微妙关系。 在部分 USB 网卡上,存在蓝牙固件与 WiFi 固件互相干扰的情况。有开发者发现删除 BT_RAM_CODE_MT7961_1_2_hdr.bin 后 WiFi 反而恢复正常,代价是失去蓝牙功能。如果你不依赖蓝牙,这可以作为一个极端排查手段。

长时间运行后网卡消失。 部分用户在 Debian 12 上运行数小时后,MT7921K 网卡会突然从系统中消失,重启后恢复。这可能与电源管理或 PCIe ASPM 有关,可以尝试在内核启动参数中加入 pcie_aspm=off 来测试。


MT7921网卡

相关推荐
byte轻骑兵15 小时前
【HIDS】规范精讲[3]:把连接间隔压到极限——SCI 四档调速的底层机制
网络·网络协议·人机交互·hids·蓝牙协议
Lucky_Turtle16 小时前
【Linux】ip命令,路由表相关配置
linux·运维·tcp/ip
dawnsky.liu16 小时前
在 RHEL 中使用 goose 实现主机运维
linux·运维·aiops
马立杰16 小时前
Docker Build 编译补丁版 PHP7.4 FPM 容器镜像教程(CVE-2026-109618 CVE-2026-109619)
运维·docker·容器·php
kkkkkkkkkk_Z16 小时前
新手自学嵌入式 | 学习日记: Linux驱动进阶 —— Platform总线与I2C子系统实战
linux·运维·学习
Android系统攻城狮16 小时前
Linux Gstreamer深度解析之gst_audio_aggregator_set_sink_caps调用流程与实战(九十一)
linux·运维·服务器·gstreamer音视频·音视频进阶
骑着蜗牛撵大象32716 小时前
从三次握手到 epoll:C++ 写出可落地的 TCP Socket 服务端
网络·c++·tcp/ip·高并发·tcp·epoll
比兔代理17 小时前
静态 IP 的粘性会话原理,以及连接稳定性解析
网络·网络协议
怪力左手17 小时前
cuda-toolkit离线安装
linux·运维·人工智能
Gauss松鼠会17 小时前
GaussDB 内存相关参数及故障诊断
运维·数据库·sql·oracle·性能优化·架构·gaussdb