![802.11ax 监控模式捕获的数据包非常少](https://linux22.com/image/1617943/802.11ax%20%E7%9B%91%E6%8E%A7%E6%A8%A1%E5%BC%8F%E6%8D%95%E8%8E%B7%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8C%85%E9%9D%9E%E5%B8%B8%E5%B0%91.png)
我使用华硕 RT-AX88U 路由器和三星 Galaxy S10 传输 802.11ax 数据包。使用 iperf3,我可以获得高达 900 (!) Mbps 的速度。
我使用一台装有英特尔 AX200 芯片组的笔记本电脑,将其置于监控模式来捕获这些数据包。
不幸的是,我只能捕获正在传输的所有数据包中的一小部分。
请注意,我将笔记本电脑放在发送器(路由器)旁边,这是捕获 802.11ac 数据包的最佳位置(我一直这样做,并且非常成功)。
我已确保自己处于正确的信道上,信道宽度正确(我将路由器设置为 80 MHz,然后将监控模式下的接口也设置为 80 MHz)。此外,我捕获的所有数据包都是 802.11ax (HE) 数据包。
由于某种原因,使用 Netgear Nighthawk RAX80 路由器时我可以捕获所有数据包(但我的最大吞吐量仅为 465 Mbps,大约是使用 ASUS 时的一半,尽管这可能只是 Netgear 固件错误)。但在相同设置下,我使用 ASUS 路由器捕获了大约 5% 的数据包。
另外,我看到从 MCS 8 到 MCS 11 的数据包(256-QAM 和 1024-QAM 数据包)。
还有谁遇到过这个问题吗?
答案1
您需要编辑/etc/modprobe.d/iwlwifi.conf
并设置此选项:
options iwlwifi amsdu_size=3
模块选项amsdu_size=3
增加传入缓冲区大小,足以接收 12 KB 聚合。它会增加驱动程序的内存占用,但如果没有它,嗅探器就会丢失大量数据包。
应用该设置后,请重新启动并重新测试。
要查看所有模块选项,请以 root 身份运行以下命令:
modinfo iwlwifi