之前配置好一大堆网络方面的东西,准备跑个 iperf3
看看无线速度怎么样,结果一看最大只有 60Mbps
,不能忍,上 5 GHz
,结果又不支持。我就奇了怪了,凭本事连上的 WiFi
还不让共享了???
好吧,这一切要说简单也简单,要说复杂也复杂……
ToC
WLAN 信道列表
WLAN
信道列表[1],也叫 WLAN
频道列表,是各个国家规定的 IEEE 802.11
允许使用的无线信道列表。简单来说,大家都有无线电管制,但都不大一样,你违反管制就是违法。
于是,在全球化愈发深入的当下,如何又要把产品卖出去又要积极遵守各国的法律呢?其实方案很简单:取大家的一个交集就行了。这也就是 Global
了。
特定国家?
于是,擅于观察的部分用户们发现,我不能像路由器一样创建对应频段的热点?经过观察,他们发现了一个奇怪的东西:
下面的 disabled
一目了然,可 no IR
是怎么回事???在 Google 上搜索它只会告诉你 noir
的内容,直接把空格吞了,这也太智能了8(
no ir
关键时刻还是 Arch Wiki 靠得住,直接给我们提供了线索[2]。
这个 no-ir
就是国家码不对了,也就是我们上面所说的。但是这里的介绍还是不够详细,其实想要知道/修改当前的国家码,还是要回到我们熟悉的 iw
上来。
iw
上面可能没提到,第一章图用到的命令是 iw phy | grep MHz
。而想要看到自己目前的国家码,则可以使用 iw reg get
。那有 get
自然会想到 set
,而这个 set
,就是我们今天登场的第一位主角:
通过这个选项,我们应该已经可用修改网卡对应的国家了——
或许。
自主规制?
当你觉得设置好就万事大吉的时候,那可就错了。纵使对于很多网卡都能够完成我们的目标,仍然存在这样一批厂家[3],他们的输出是这样的:
这种不听人话的 self-managed
着实令人头秃,他们试图自己检测自己所在的区域,但又失败了,只能归于虚无。于是,在这种情况下,我们只能试图绕开这道限制了。
lar_disable
这种绕开的手段就是 lar_disable
。lar
是 Location Aware Regulatory 的缩写,禁止了 lar
也就意味着将所有的区域设置统一为用户设置。修改的方式也很简单:
之后重启即可。
结语
lar_disable
给我们提供了最大化发挥网卡功能的可能性,然而,对于 5.4
以上版本的内核,该选项似乎已经失效了[4]。而在 ArchLinux
论坛的对应 issue
中,有人给出了可以解决的 patch
[5],并且产生问题的 commit
也已经被回滚了[6]。由于我5.x
的内核,所以我也不知道实际情况现在究竟是怎么样的,还是等到之后要升级的时候再说吧(笑)