解决树莓派4B搜不到,不能连接5G WiFi的问题

By | 2019年11月24日

双十一买了一个树莓派4B,拿到手上第一件事儿当然是装系统,联网了。

系统我选择的是官方支持的Raspbian。烧写,开机一次成功,但是到了联网的时候就出问题了。

一开始GUI界面里是能搜到我所使用的WiFi的,但是一旦输入密码进行连接,就再也找不到我的那个SSID了。

这种现象只出现在5GWiFi上,使用2.4G完全能正常联网。

搜不到某个WiFi大概率是频段上出了问题,经过一番搜索在GitHub上发现有人和我有类似的经历。

https://github.com/raspberrypi/firmware/issues/1246

由于5GWiFi所使用的频率比较特殊,各个国家对于允许使用的信道有较大的差异。

对于频段的限制是通过软件实现的,因此我们设置WiFi地区来修改可以连接的频段。

使用iwlist channel命令可以查看到当前允许连接的频段

上图是将地区设置为CN后可以连接的频段。可以看的5G可以使用的频段仅有149-165一共5个。这个范围其实是远小于中国实际可以使用的信道的。

早在2012年,中国就新开放了36-64频段,因此实际能使用的频段至少有36, 40, 44, 48, 52, 56, 60, 64, 149,153, 157, 161, 165,一共13个。

而我的WiFi正好设置使用56信道,因此树莓派不能连接就很正常了

知道问题在那儿就很简单了,第一个方法是在路由器上修改无线信道,改成149-165中的一个就解决所有问题了。

然而,改信道是不可能改信道的,这辈子都不可能改信道。你要问为啥?因为149-165信道内已经挤满了WiFi,你来感受一下

(左边那个最大的弧就是我的WiFi)

没办法,学校宿舍楼无线环境就是这么差。那只能方案2了,修改树莓派上WiFi的地区。使用rasp-config或图形界面里的设置将地区改为US,然后再看看支持的信道:

嗯,这才像话嘛……

修改地区后,果然就能搜索到我的SSID了,选择连接一气呵成。

然后……更鬼畜的事情发生了,WiFi会在连上的几秒后自动断开,断开几秒后又会自动重新连上。

如果这个时候你使用iwlist channel去查看能连接的信道,你会发现在连接成功后地区似乎又被修改为了CN,这个时候会因为信道不支持而自动断开

但是断开一段时间后又会自己恢复为US地区的信道,于是又能连上了……

这个操作似乎说明WiFi会在完成连接后自动协商当前的地区,当然我也没研究过802.11ac协议,这仅仅是一个猜测。

解决问题的方法也很简单,在路由器上把地区也修改为US

保存后WiFi就正常了。

6 thoughts on “解决树莓派4B搜不到,不能连接5G WiFi的问题

  1. alex

    路由器刷了openwrt, 5G wifi 没有指定信道,没有中国的那些频率,树莓派无线一直连不了。看了你的文章,终于找到原因,解决了。多谢

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注