ax200/ax201/ax210/ax211/ax411等intel网卡无法开启5G热点问题解决方案汇总

目录

  • 故障原因
  • 解决方案
    • windows
    • linux
      • kernel
      • kernel >= 5.5
        • 方案1 修改linux内核模块代码(iwlwifi内核模块),重新编译内核模块并重新导入
        • 方案2 修改hostapd代码

最后更新于2024.04.28

故障原因

根本原因是因为英特尔在内核中开启了LAR(Location-Aware Regulatory位置感知监管)选项,但是这个LAR似乎存在bug,导致无法正常开启5G热点
其他人喷intel相关文档。有兴趣的可以去看看

解决方案

windows

windows内核是必源的,不知道是怎么写的,也没法修改,暂无根源解决方案。只能等待intel工程师去解决(大概率这个问题可能永远也不会被解决吧)
有一个临时解决方案,详情见:所选网络波段不可用,请选择其他波段。电脑能连5G网络,但是开不了5G热点

linux

linux的解决方案分为两部分,一部分是kernel < 5.5的,一部分是kernel > 5.5的。这是因为kernel < 5.5的情况下,可以通过配置关闭LAR,使得intel的5G热点正常工作,但是kernel >= 5.5的情况下无法关闭LAR。这个问题至今还在linux上挂着bug:Bug 206469 - LAR (location aware regulatory) fails, removal of lar_disable module option breaks workaround.

kernel < 5.5

也可以参考Enabling AP mode for Intel AX-200 WLAN adapters on 5GHz band
如果是OpenWRT系统,则可以修改/etc/modules.conf配置文件,新增如下代码:

options cfg80211 lar_disable=1

重启系统,即可关闭LAR,使得intel的5G热点正常工作。
如果是ubuntu等其他linux系统,可以试试:

echo options iwlwifi lar_disable=1 >> /etc/modprobe.d/iwlwifi.conf

kernel >= 5.5

方案1 修改linux内核模块代码(iwlwifi内核模块),重新编译内核模块并重新导入

该方案总体思路是关闭LAR,在linux kernel < 5.5是,有一个配置选项是lar_disable,将lar_disable设置为1可以关闭LAR,这样可以使得intel的wifi网卡正常开启5G热点。
但是,linux kernel >= 5.5后,intel的工程师们将LAR关闭的选项移除了,导致现在kernel > 5.5的版本会强制开启LAR且无法关闭。所以通过修改iwlwifi内核模块的代码,将LAR相关功能关闭,理论上是可以实现的。这个方案我还没有时间去研究,暂时先写这些。

方案2 修改hostapd代码

修改hostapd的方案在github上已经有大佬实现了,不过该方案应该还存在一些缺陷,但是也能用。相关内容请移步相关链接:

  1. AX200 5GHz AP AX mode works, tildearrow’s method.
  2. making hostapd LAR-friendly (on Intel 5GHz wireless cards)
上一篇:Tableau面试题及参考答案


下一篇:初学C++