我有两张intel无线网卡,其中一张是AX200。我在购买之前不知道英特尔禁用了所有 5G AP 模式。我之所以要为ap使用无线网卡,是想测试一个软ap在硬件更好的x86平台上可以支持多少并发连接。
我首先在 win10 上使用 connectify pro 进行了测试,并成功使其在 5g 模式下工作。然后我安装了Ubuntu20.04并用hostapd进行了测试。它也适用于 5G,只是通道带宽为 20mhz,太慢了,所以我用我的其他无线卡替换了它。结果是一样的。然后我调整了hostapd的配置文件,最终让它在5g和80mhz下工作。我测试了包括 ax200 在内的两种无线卡,结果非常好。我什至连接到应用程序玩几个小时的在线游戏。与此同时,我还顺便重新启动了我的机器几次。如果重要的话,计算机直接连接到调制解调器。
第二天,我把电脑带到办公室,试图弄清楚有多少设备可以同时连接到我的电脑。然后我发现我无法再在两个英特尔无线卡上启用 5G 模式。所有 5G 通道是否已禁用或带有no ir, radar detection
标志。我什至重新安装了他们之前工作过的ubuntu 20.04。这次我的电脑连接到了软路由器。
然后我在互联网上进行了搜索,非常惊讶地发现它根本不应该工作,因为英特尔禁用了所有 5G AP 通道,就像大多数无线卡不支持 5G 中的 AP 模式一样。
现在的情况就像@VRS提到的那样:Intel AX200 ap 模式
我尝试了他所说的一切,结果是一样的。
我不是 Linux 专家,我不懂 C,也不知道是否可以通过修补内核来绕过限制。我只是随机猜测并修改了文件:https://github.com/torvalds/linux/blob/master/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c 第 315 行:
if (nvm_flags & NVM_CHANNEL_RADAR)
# flags |= IEEE80211_CHAN_RADAR;
flags |= IEEE80211_CHAN_NO_80MHZ;
几行基本上只是替换每IEEE80211_CHAN_RADAR
行,IEEE80211_CHAN_NO_80MHZ
然后修补并编译内核并安装它。
并且iw list
不再显示旗帜no ir, radar detection
。但 hostapd 不工作并抱怨Kernel reports: (extension) channels is disabled
抱歉这张照片是昨晚拍的,我现在不在电脑旁。所以用照片代替代码。
最后,我认为更改代码中的标志根本没有帮助,只会更改iw list
.
我只是不明白这两张卡最初是如何工作的。以及为什么它停止工作。有什么想法吗?