跳过正文
AWUS036AXML 监控模式固件修复:解决主动模式崩溃问题
  1. 博客/

AWUS036AXML 监控模式固件修复:解决主动模式崩溃问题

目录

ALFA AWUS036AXML 是 ALFA Network 的旗舰 WiFi 6E 网卡,搭载 MediaTek MT7921AUN 芯片组,支持三频(2.4 / 5 / 6 GHz),是 2026 年少数能在 6 GHz 频段进行被动监听的 USB 网卡之一。在站点勘测、数据包捕获、PMKID 收集等使用场景下,它的表现相当出色。

TL;DR: AWUS036AXML 的 mt7921u 驱动程序在主动数据包注入时会触发固件当机。本文说明根本原因、诊断步骤,以及更新固件、升级核心与改用 hcxdumptool 被动捕获等修复方案。

但有一个已知问题会让用户措手不及:主动监控模式指令会导致固件崩溃。运行 aireplay-ngmdk4 等工具后,wlan0mon 接口会完全消失,必须重新插拔网卡才能恢复。这不是硬件缺陷,而是目前 Linux mt7921u 驱动程序与固件的限制。

本指南说明根本原因,提供完整的诊断步骤,以及具体的修复与临时解决方案,让您不必中断工作。


问题说明:主动监控模式崩溃
#

症状
#

启用监控模式并运行主动指令(如 aireplay-ng --test wlan0mon 或任何取消认证/注入操作)后,wlan0mon 接口从 ip linkiwconfig 输出中消失。网卡变得无响应,必须物理拔除并重新插入才能恢复。部分情况下,dmesg 会在崩溃后立即显示固件错误或重置事件。

被动操作(使用 airodump-ng 扫描、捕获原始数据包)在触发主动注入前后均可正常运行。

根本原因
#

MT7921AUN 芯片组采用固件式 MAC 架构。Linux 内核的 mt7921u 驱动程序依赖芯片组内嵌固件来处理某些底层操作,包括监控模式下的数据包注入。目前的固件与驱动程序组合未完整实现 Linux 主动注入监控模式所需的指令路径。

相比之下,被动监听(嗅探空中已有的数据包)不需要固件传送任何内容,不会触发崩溃。问题仅限于发送路径操作:取消认证帧、探测请求、关联洪水等主动操作。

已知固件崩溃漏洞。 这是 2026 年初 Linux mt7921u 驱动程序中已确认的问题,影响 AWUS036AXML 及其他 MT7921AUN 的 USB 网卡。未来的内核或固件更新可能会修复此问题——请查阅驱动程序安装指南以获取最新状态。

诊断:确认是否为此问题
#

按以下步骤确认您遇到的是 MT7921AUN 主动模式崩溃,而非其他问题:

# 确认网卡已识别
lsusb | grep -i mediatek

# 确认驱动程序已加载
lsmod | grep mt7921u

# 确认内核版本(必须 >= 5.18)
uname -r

# 启动监控模式
sudo airmon-ng start wlan0

# 测试被动捕获(应正常运行)
sudo airodump-ng wlan0mon

# 测试主动注入(可能崩溃)
sudo aireplay-ng --test wlan0mon

aireplay-ng --test 后网卡从 ip link 消失,即确认遇到固件崩溃漏洞。

通过内核日志进行额外验证:

sudo dmesg | grep -E "mt7921|firmware|reset" | tail -20

注意是否有 mt7921u: firmware crashmt7921u: chip resetusb disconnect 等消息紧接在 aireplay-ng 指令后出现,这些均确认是固件层面的失败。

被动捕获不受影响。airodump-ng 正常但 aireplay-ng 导致崩溃,这正是已知的 MT7921AUN 漏洞。请继续查看以下修复方案。

修复方案一:更新固件包
#

最有效的第一步是确保您拥有最新的 MT7921 固件文件。较旧的固件版本更容易发生崩溃;更新的固件可改善部分主动操作的稳定性。

sudo apt update
sudo apt install firmware-misc-nonfree

# 或从 linux-firmware 仓库手动安装最新 mt7921 固件
sudo apt install git
git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
sudo cp linux-firmware/mediatek/mt7921* /lib/firmware/mediatek/
sudo modprobe -r mt7921u
sudo modprobe mt7921u

更新固件文件后,重新加载驱动程序并再次测试主动模式:

sudo modprobe -r mt7921u && sudo modprobe mt7921u
sudo airmon-ng start wlan0
sudo aireplay-ng --test wlan0mon

修复方案二:使用最新内核
#

mt7921u 驱动程序在上游 Linux 内核中持续维护。自 5.18 版本以来,驱动程序的稳定性补丁、固件指令处理和监控模式改善已纳入内核更新。运行较新的内核是改善行为最可靠的方式之一。

确认当前内核版本:

uname -r

在 Kali Linux 上更新至最新可用内核:

sudo apt update && sudo apt full-upgrade -y
sudo reboot

目标:内核 6.1 LTS 或更新版本,以获得最完整的 mt7921u 驱动程序补丁。内核 6.6 及更新版本包含 MediaTek USB 驱动程序堆栈的额外改善,用户反馈有正面效果。

内核 6.6+ 改善。 多份社区反馈指出,使用内核 6.6 搭配更新固件可减少(但不一定完全消除)MT7921AUN 的主动模式崩溃。升级后请重新执行诊断步骤,评估您的特定组合。

临时解决方案:使用 hcxdumptool(被动 PMKID 捕获)
#

若固件修复无法完全解决崩溃问题,hcxdumptool 提供一个完全不需要数据包注入的高效替代工作流程。

hcxdumptool被动模式运行——直接从接入点广播的信标和探测数据包中捕获 PMKID 值。不发送取消认证数据包、不进行注入、不触发固件崩溃。AWUS036AXML 能完美处理此工作流程。

sudo apt install hcxdumptool hcxtools

# 被动捕获——无需取消认证,无固件崩溃风险
sudo hcxdumptool -i wlan0mon -o capture.pcapng --enable_status=1

# 转换为 hashcat 格式
hcxpcapngtool -o hash.hc22000 capture.pcapng

# 使用 hashcat 破解
hashcat -m 22000 hash.hc22000 /usr/share/wordlists/rockyou.txt

此工作流程从信标数据包中捕获 PMKID,完全不传送任何内容——从无线介质的角度来看是完全被动的。

PMKID 捕获适用于所有现代 WPA2/WPA3 网络。 接入点无论是否有客户端关联,都会在信标数据包中广播 PMKID。您只需在 AP 的范围内,不需要客户端在场,非常适合无法使用取消认证的场景。

临时解决方案:使用 AWUS036ACH 进行主动注入
#

对于确实需要主动数据包注入的任务(强制 WPA 握手捕获、WPS 枚举等),AWUS036ACH(RTL8812AU 芯片组)是在 Kali Linux 上拥有成熟、经过充分测试驱动程序支持的首选解决方案。

推荐的双网卡专业配置:

  • AWUS036AXML → 5 GHz / 6 GHz 被动扫描与捕获
  • AWUS036ACH → 2.4 GHz / 5 GHz 主动注入

这个组合让您完整覆盖所有频段,注入由 RTL8812AU 负责(其 Linux 主动模式支持已稳定多年),AWUS036AXML 负责 6 GHz 探索和高质量被动捕获。

请参阅 AWUS036AXML 评测数据包注入指南以了解两个网卡的配置详情。


主动模式可正常运行的情境
#

在某些条件下,MT7921AUN 的主动模式已有稳定或接近稳定的用户反馈:

  • 内核 6.6 或更新版本搭配 firmware-misc-nonfree 20240610 或更新版本
  • 避免以突发模式使用 aireplay-ng --deauth(高数据包率取消认证洪水比单数据包操作更容易触发崩溃)
  • 使用 --deauth 1--deauth 3,而非持续的取消认证流
  • 确保网卡连接至 USB 3.0 端口(USB 2.0 带宽限制会增加固件指令管道的压力)
  • 在 2.4 GHz 而非 5 GHz 进行注入操作(部分驱动程序版本中低频段似乎更稳定)
在实际评估前请先测试。 即使主动模式看似正常,MT7921AUN 固件仍可能在高负载下于操作途中崩溃。使用 AWUS036AXML 进行主动操作时,请务必备有恢复计划(备用网卡或纯被动工作流程)。

确认固件是否已更新
#

# 确认当前固件文件日期
ls -la /lib/firmware/mediatek/mt7921*

# 确认驱动程序版本
modinfo mt7921u | grep -E "version|filename"

# 确认内核消息中的固件加载状态
sudo dmesg | grep mt7921

固件成功加载时,dmesg 输出应显示类似以下内容:

mt7921u 1-2.3:1.0: firmware init done
mt7921u 1-2.3:1.0: HW/SW Version: ...

摘要:AWUS036AXML 最佳使用场景
#

  • 被动 WiFi 6E 扫描与 PCAP 捕获 — 表现完美
  • hcxdumptool PMKID 捕获 — 无需注入,无固件崩溃风险
  • 6 GHz 网络探索 — airodump-ng 被动扫描 6 GHz 频段
  • WiFi 6E 站点勘测与干扰分析 — 三频被动监听
  • 基线 WPA2 握手捕获 — 从现有流量被动捕获握手数据包
  • ⚠️ 主动数据包注入 — 固件成熟前请改用 AWUS036ACH
  • ⚠️ 取消认证洪水 — 有崩溃风险;在内核 6.6+ 上谨慎测试
  • 最佳工作流程:同时携带 AWUS036AXML + AWUS036ACH,实现全频段全功能覆盖

常見問題

AWUS036AXML 为什么会在主动监控模式下当机?

MT7921AUN 采用固件式 MAC 架构,当前 Linux mt7921u 驱动程序与固件组合未完整实作主动注入所需的指令路径,执行 aireplay-ng 后接口会消失。

如何修复 MT7921AUN 的主动模式当机?

更新 firmware-misc-nonfree 软件包至最新版本、升级至核心 6.6 以上,并避免高数据包率的取消验证洪水,可改善但未必完全消除当机问题。

hcxdumptool 如何在不注入数据包下捕获 PMKID?

hcxdumptool 以被动模式从访问点广播的信标与探测数据包中捕获 PMKID,完全不传送任何数据包,不会触发固件当机。

AWUS036AXML 被动监听有什么限制?

被动监听可正常捕获信标、握手与 PMKID,但无法执行取消验证、探测请求或关联洪水等主动操作,这些需改用 AWUS036ACH 处理。

哪些内核版本能改善 MT7921AUN 稳定性?

核心 6.1 LTS 或更新版本已纳入多项 mt7921u 稳定性修补,核心 6.6 及更新版本包含 MediaTek USB 驱动程序堆叠的额外改善。

相关指南
#

参考文献
#

  1. Linux firmware 仓库(kernel.org)
  2. Linux 核心 mt76 驱动程序
  3. aircrack-ng 工具软件包
  4. hcxdumptool GitHub 专案
  5. ALFA Network 官方支持