iw reg get
通过安装 wireless-regdb 和 cdra Debian 软件包,我成功地显示了允许的频道 44 (5220MHz):
root@foo1:~# iw phy phy0 reg get
global
country GB: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
(5470 - 5730 @ 160), (N/A, 26), (0 ms), DFS
(5725 - 5850 @ 80), (N/A, 23), (N/A), NO-OUTDOOR
(57000 - 71000 @ 2160), (N/A, 40), (N/A)
root@foo1:~# iw phy phy1 reg get
global
country GB: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
(5470 - 5730 @ 160), (N/A, 26), (0 ms), DFS
(5725 - 5850 @ 80), (N/A, 23), (N/A), NO-OUTDOOR
(57000 - 71000 @ 2160), (N/A, 40), (N/A)
这些卡片是:
0000:01:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
Subsystem: Rivet Networks QCA6174 802.11ac Wireless Network Adapter
Flags: bus master, fast devsel, latency 0, IRQ 253
...
Kernel driver in use: ath10k_pci
Kernel modules: ath10k_pci
...
0001:01:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter
Flags: bus master, fast devsel, latency 0, IRQ 254
...
Kernel driver in use: ath10k_pci
Kernel modules: ath10k_pci
我的 wifi 卡都已在 2.4GHz 频段用作接入点(使用 hostapd),但由于卡特定的“NO-IR”标志,它们都不能用作 5GHz 频段的 AP:
nl80211: Drv Event 36 (NL80211_CMD_REG_CHANGE) received for wlan1
nl80211: Regulatory domain change
* initiator=1
* type=0
* alpha2=GB
wlan1: Event CHANNEL_LIST_CHANGED (27) received
Channel list updated - continue setup
nl80211: Regulatory information - country=GB (DFS-ETSI)
nl80211: 2400-2483 @ 40 MHz 20 mBm
nl80211: 5150-5250 @ 80 MHz 23 mBm (no outdoor)
nl80211: 5250-5350 @ 80 MHz 20 mBm (no outdoor) (DFS)
nl80211: 5470-5730 @ 160 MHz 26 mBm (DFS)
nl80211: 5725-5850 @ 80 MHz 23 mBm (no outdoor)
nl80211: 57000-71000 @ 2160 MHz 40 mBm
nl80211: Added 802.11b mode based on 802.11g information
nl80211: Mode IEEE 802.11g: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467[DISABLED] 2472[DISABLED] 2484[DISABLED]
nl80211: Mode IEEE 802.11a: 5180[NO_IR] 5200[NO_IR] 5220[NO_IR] 5240[NO_IR] 5260[NO_IR][RADAR] 5280[NO_IR][RADAR] 5300[NO_IR][RADAR] 5320[NO_IR][RADAR] 5500[DISABLED][RADAR] 5520[DISABLED][RADAR] 5540[DISABLED][RADAR]
nl80211: Mode IEEE 802.11b: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467[DISABLED] 2472[DISABLED] 2484[DISABLED]
Channel 44 (primary) not allowed for AP mode, flags: 0x16073 NO-IR
wlan1: IEEE 802.11 Configured channel (44) not found from the channel list of current mode (2) IEEE 802.11a
wlan1: IEEE 802.11 Hardware does not support configured channel
- 我可以通过更改无线卡的监管域来使我的无线卡用作 5GHz 频段的接入点吗?
- 如果是这样,我如何将它们
EEPROM regdomain
从代表 GB 的值更改0x69
为0x64
代表 GB 的值? - 或者我可以让较宽松的 GB 限制优先于卡的监管领域吗?
答案1
长话短说:你不能!一张卡永远不会允许你选择一个拥有比当前编程授予的更多权利的位置;这是这些法规的要求。 (这些规定实际上是有充分理由的;当一块流氓网卡干扰气象雷达时,就可能毁掉数百万人的公共服务。)
当然,当您是驱动程序的作者时,会有一些……灵活性,并且因为所有 Linux 驱动程序本质上都是开源的,所以您可以能修改驱动程序并可能能够重新编程该区域。然而,这仅适用于少数选定的卡,并且如果您实际上不在您想要对卡进行编程的位置,那么这又是非法的,并且在道德上是有问题的。您最喜欢的搜索引擎是您的朋友;但话又说回来,即使如果这对你的卡来说是可能的,它将要涉及内核驱动程序的修改、编译、加载,以及所有这些。