联发科(MediaTek) MT7921AU
联发科(MediaTek) MT7921AU是目前Linux开源社区支持最好的无线网卡,官方驱动很早就直接并入Linux 主线内核(Mainline Kernel),只要Linux Kernel 5.18+ (Ubuntu 22.04.2+、24.04 及更新版本)原生支持。
MT7921AU (WiFi 6E / AX1800 级别):
状态:绝对的免驱之王。Linux Kernel 5.18+(Ubuntu 22.04.2+、24.04 及更新版本)原生支持。
特性:支持 WiFi 6 甚至 6E,延迟低、吞吐量大,非常适合高带宽需求的边缘计算节点。
我在淘宝上找了一家 CHANEVE MT7921AU (带双天线 / 支持 Kali 抓包注入) :
底层芯片:联发科 MT7921AU
卖家申明: 明确支持 Kali Linux 的抓包(Monitor Mode,监听模式)和注入(Packet Injection) 说明它的固件和 Linux 驱动是非常纯血且无阉割的。这对于网络调试、安全审计或折腾 Homelab 来说是硬核刚需。
外置天线: 扁平折叠一体式 ,天线横向折叠在网卡主体两侧。这种扁平紧凑的设计,整体重心离主机的 USB 接口近,不容易因为意外碰触而折断或者把主机的 USB 接口压松导致断连。
安装
插入 **CHANEVE MT7921AU USB无线网卡后,使用
dmesg -T观察,果然立即识别出设备并标记为wlan0:
[Fri Jun 5 10:58:19 2026] usb 2-5: new SuperSpeed USB device number 3 using xhci_hcd
[Fri Jun 5 10:58:19 2026] usb 2-5: New USB device found, idVendor=0e8d, idProduct=7961, bcdDevice= 1.00
[Fri Jun 5 10:58:19 2026] usb 2-5: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[Fri Jun 5 10:58:19 2026] usb 2-5: Product: Wireless_Device
[Fri Jun 5 10:58:19 2026] usb 2-5: Manufacturer: MediaTek Inc.
[Fri Jun 5 10:58:19 2026] usb 2-5: SerialNumber: 000000000
[Fri Jun 5 10:58:19 2026] usb 2-5: reset SuperSpeed USB device number 3 using xhci_hcd
[Fri Jun 5 10:58:19 2026] usbcore: registered new interface driver mt7921u
[Fri Jun 5 10:58:19 2026] mt7921u 2-5:1.0: HW/SW Version: 0x8a108a10, Build Time: 20240219110958a
[Fri Jun 5 10:58:19 2026] mt7921u 2-5:1.0: WM Firmware Version: ____010000, Build Time: 20240219111038
[Fri Jun 5 10:58:21 2026] mt7921u 2-5:1.0 wlxfc221c500043: renamed from wlan0
注意,现代Linux默认不使用传统的 wlan0 ,而是使用了 可预测网络接口命名(Predictable Network Interface Names) 机制,所以使用 iwconfig 检查可以看到无线网卡如下:
wlxfc221c500043 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
前缀
wlx:代表这是一块 Wireless(无线)网卡,且使用的是 X (MAC 地址)进行唯一标识后缀
fc221c500043: 无线网卡的 物理 MAC 地址(即fc:22:1c:50:00:43)软件堆栈安装:
sudo apt update
sudo apt install linux-firmware wpasupplicant network-manager
备注
现在 wap_supplicant 的软件包名被修改为 wpasupplicant 了!!! ( 文件查找 搜索提供文件的软件包名 )
软件包名称 |
作用层级 |
用途 |
|---|---|---|
linux-firmware |
物理芯片层 |
包含全球主流无线芯片(包括联发科 MediaTek、Intel、Realtek)的闭源固件(Firmware)。MT7921AU 网卡虽然被内核识别了,但在初始化射频时,必须把固件注入到网卡芯片的 SRAM 里,网卡才能真正发射微波信号 |
wpasupplicant |
链路认证层 |
Linux 体系下 Wi-Fi 认证工具 |
network-manager |
状态机管理层 |
包含 NetworkManager 守护进程以及命令行控制工具 nmcli 和终端图形工具 nmtui。它负责向上对接 Netplan,向下调度 wpa_supplicant,并自动化管理 DHCP 客户端和路由表 |
可选软件包:
sudo apt install iw wireless-tools net-tools
软件包名称 |
作用层级 |
用途 |
|---|---|---|
iw |
无线底层配置工具(替代iwconfig) |
查看无线网卡支持的物理频段(2.4GHz/5GHz)、最大发射功率,或者强制切换信道 |
wireless-tools |
兼容配置工具(iwconfig和iwlist) |
虽然被逐渐弃用,但很多老旧的开源运维脚本和检测工具依然深度依赖 |
net-tools |
传统网络国内工具(ifconfig和route) |
方便传统运维使用 |
编辑
/etc/netplan/60-wireless.yaml(不要直接修改/etc/netplan/50-cloud-init.yaml该文件是cloud-init处理的)
/etc/netplan/60-wireless.yamlnetwork:
version: 2
renderer: NetworkManager # 声明底层的网络渲染引擎
wifis:
wlxfc221c500043: # 严格对齐无线网卡名
dhcp4: true
optional: true # 极为关键:防止开机时因为Wi-Fi没连上卡死死锁2分钟
access-points:
"你的Wi-Fi名称_SSID":
password: "你的Wi-Fi密码"
备注
建议加上 optional: true 。因为服务器默认在开机时,如果发现有网卡处于“未联网”状态,系统会硬卡在开机界面等待网络就绪(通常卡 120 秒),直到超时才放行。加上这一行,即使 USB 无线网卡没插,或者 Wi-Fi 信号不好,系统也能畅通无阻地秒级开机。
执行测试:
sudo netplan try
这里可能会提示警告
** (process:69013): WARNING **: 17:28:53.431: Permissions for /etc/netplan/60-wireless.yaml are too open. Netplan configuration should NOT be accessible by others.
** (generate:69015): WARNING **: 17:28:53.440: Permissions for /etc/netplan/60-wireless.yaml are too open. Netplan configuration should NOT be accessible by others.
** (process:69013): WARNING **: 17:28:53.760: Permissions for /etc/netplan/60-wireless.yaml are too open. Netplan configuration should NOT be accessible by others.
** (process:69013): WARNING **: 17:28:54.046: Permissions for /etc/netplan/60-wireless.yaml are too open. Netplan configuration should NOT be accessible by others.
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 27 seconds
这里的WARNING是因为配置文件中包含了无线的 SSID 名字,更核心的是写入了明文的 Wi-Fi 密码(Pre-Shared Key)。Linux 的系统安全原则要求:任何包含明文凭据(密码、私钥、Token)的配置文件,在物理层面上绝对不允许除了 root 以外的其他普通用户读取。
所以执行以下命令进行文件权限修订:
# 1. 收紧权限,只允许 root 读写
sudo chmod 600 /etc/netplan/60-wireless.yaml
# 2. 对齐文件的属主和属组(确保绝对归属于 root)
sudo chown root:root /etc/netplan/60-wireless.yaml
现在不再WARNING,此时提示:
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 111 seconds <- 这里按回车
Configuration accepted.
最后生效:
sudo netplan apply