我购买了一个英特尔 7260-ac wifi 适配器(支持 802.11ac),并想在 802.11ac 中以 AP 模式(热点)设置它,但失败了。
然后我注意到iw list
显示所有 5GHz 频道如下(no IR)
:
Frequencies:
* 5180 MHz [36] (16.0 dBm) (no IR)
* 5200 MHz [40] (16.0 dBm) (no IR)
* 5220 MHz [44] (16.0 dBm) (no IR)
* 5240 MHz [48] (16.0 dBm) (no IR)
* 5260 MHz [52] (16.0 dBm) (no IR, radar detection)
DFS state: usable (for 1284 sec)
* 5280 MHz [56] (16.0 dBm) (no IR, radar detection)
DFS state: usable (for 1284 sec)
* 5300 MHz [60] (16.0 dBm) (no IR, radar detection)
DFS state: usable (for 1284 sec)
...
我用 Google 搜索了一下并发现了这个:http://www.spinics.net/lists/linux-wireless/msg124066.html说“NO-IR 标志意味着您不能使用需要先启动辐射的操作模式”
此外,我发现它与“世界监管领域”它限制了某些无线频率的使用,并且在某些国家/地区有所不同。
我的问题是:这个限制是no IR
由 Linux 内核还是硬件设置的?如果是由 Linux 内核设置的,我可以将其设置为允许它的另一个国家吗?(或者如果没有国家允许,可以自定义配置吗?)怎么做?
附言:我不确定这是否是提出这个问题的正确地方,但我不知道还能去哪里。提前谢谢!
答案1
正如您正确注意到的那样,这与监管领域有关。它既由硬件设置(预先编程用于...),又由用户空间设置(iw / CRDA [中央监管域代理,udev 助手])。问题是,您只能减少可用频道的频谱。
查找当前 RD:iw reg get
设置 RD:iw reg set <CC>
为ISO_3166-1_alpha-2 2 个字符代码您想要设置的国家/地区。
解释
Linux 允许更改监管域以符合世界各地的监管限制 [...]。为了实现这一点,设备始终遵守其编程的监管域,而国家代码选择只会加强监管限制。 [...]。
例子
如果您的设备已编程为在美国运行(允许在 2.4 GHz 频段的 1-11 频道上运行),而您访问日本(允许在 1-14 频道上运行),并将监管域更改为 JP,则您将无法使用频道 12、13 或 14 (CCK)。但是,如果您的设备已编程为在日本运行,并且您访问美国并选择 US 作为监管域,则频道 12-14 将被禁用。
http://wireless.kernel.org/en/developers/Regulatory/CRDA#Using_iw_to_change_regulatory_domains
答案2
为了绕过硬件强制执行的监管限制,并且你有充分的理由这样做,你可以修补你的驱动程序。我最近写道关于 Atheros 芯片组的帖子。
答案3
监管域由内核设置,您可以使用无线注册数据库和加拿大研究发展局软件包来编辑regulatory.bin
®ulatory.db
文件并创建适当的.pem
文件
在编译 wireless-regdb 之前,您可以编辑文件db.txt
并删除/编辑每个监管域的设置。这将允许您做一些有趣的事情,例如删除参数no IR
并更改所需国家/地区的最大 TX 功率(或使用自定义设置创建一个新国家/地区)。如果您需要在通常不允许您首先发起辐射的通道上注入数据包,这将非常有用。
Kali/Debian 教程: https://miloserdov.org/?p=337
谨防:这在您的国家/地区很可能是违法的,并且只能用于研究、开发和/或教育目的。请遵守当地法律。
我还建议您在尝试此操作之前先获取业余无线电执照,这将使您更好地了解法律和更改这些设置的潜在风险。
答案4
您可以禁用 DFS,如果您正在使用 hostapd,请编辑 hostapd.conf 并设置:
ieee80211h=0
重新启动服务器它就可以正常工作了。