/etc/wpa_supplicant/wpa_supplicant.conf
中来设置多个WiFi(如通过命令行设置WiFi中所述)。假设我注册了两个WiFi:
wifi_A
和wifi_B
当我拔下路由器
wifi_A
并重新启动树莓派到命令行时,它会自动连接到wifi_B
。当我拔掉路由器wifi_B
并重新启动树莓派到命令行时,它会自动连接到wifi_A
。到目前为止一切都很好。但是,假设两个路由器都可用,如何设置优先级?例如。我希望我的Raspberry重启后连接到
wifi_B
吗?我的第二个问题是:假设我处于命令行模式,并且当前已连接到
wifi_B
。我该如何连接到wifi_A
? #1 楼
例如我希望我的树莓在重启后连接到
wifi_B
吗?将
priority=2
添加到wifi_B
块中,并将priority=1
添加到wifi_A
文件中的/etc/wpa_supplicant/wpa_supplicant.conf
块中。假设我处于命令行模式,并且当前已连接到
wifi_B
。我该如何连接到wifi_A
?您可以为每个SSID创建一个单独的配置文件,并明确指定它:
wpa_supplicant -B -Dwext -iwlan0 -c</path/to/config_for_wifi_A>
sudo dhclient wlan0
评论
使用您的方法,我只能从一个WiFi网络切换到另一个WiFi网络,无法切换回来(例如,也不能切换到另一个WiFi_C)。在使用wpa_supplicant命令执行第一开关后,再次使用它,我得到一条消息ctrl-iface存在并且似乎正在使用-无法覆盖它\ n如果没有,请手动删除'/ var / run / wpa_supplicant / wlan0'再用了等等...并在sudo dhclient wlan0之后被告知RTMETLINK答案:文件存在。这是期望吗?
–花龙
18年1月31日,2:09
您需要先使用wpa_cli终止连接,然后再使用wpa_supplicant连接到另一个连接,还有一种更复杂的方法,无需在此处将其关闭
– Z-WolF
18年2月1日在19:42
#2 楼
但是,假设两个路由器都可用,如何设置优先级?
您可以按以下步骤设置网络的优先级:
network={
ssid="wifi_A"
psk="passwordOfA"
priority=1
}
network={
ssid="wifi_B"
psk="passwordOfB"
priority=2
}
默认情况下,所有网络的优先级都为0,请根据需要将更高的优先级设置为优先级。
假设我处于命令行模式,而我当前已连接到wifi_B。我该如何连接到wifi_A?
为此,请使用以下命令:
wpa_cli select_network 0
要从
wifi_A
转换为wifi_B
,请使用:wpa_cli select_network 1
评论
要检查在wpa_cli select_network#中使用哪个号码,请首先运行wpa_cli list_networks。
– Z-WolF
18年2月1日在19:47
对于使用Stretch 3的Pi 3+,这对我不起作用。运行wpa_cli list_networks并获取网络号,然后运行wpa_cli select_network2。系统响应OK,但iwconfig显示它仍连接到原始网络。
– lonstar
18/09/17在15:11
为了清楚起见,请注意:优先级值应用为更高的值,意味着更高的优先级。即未按数字/计数顺序(先为零)选择网络。
–尼古拉斯(Nicolas)
18/12/18在21:09
在Buster上,有一个接口“ p2p-dev-wlan0”,我发现默认情况下已选中该接口。因此,以上命令需要包含-i wlan0。例如:wpa_cli -i wlan0 select_network0。这有效并且非常适合我的应用程序,因为它不需要sudo
– ThatsRightJack
20年5月11日在23:28
非常感谢您对优先级进行描述,这是非常必要的。
–itsraghz
20-09-26在7:28
#3 楼
因此,在此处详细说明完整的解决方案:network={
ssid="wifi_A"
psk="passwordOfA"
priority=1 #lower priority
}
network={
ssid="wifi_B"
psk="passwordOfB"
priority=2 #higher priority
}
然后在初次重启后主动切换网络(无需二次重启):
sudo wpa_cli list_networks #show them!
sudo wpa_cli -i wlan0 select_network 0 #0, 1, etc. Note: Networks are NOT the same number as your priority in the wpa_supplicant
评论
感谢您在示例中的评论!在自然数序列中还有更高的优先级是非常违反直觉的……我花了很多时间试图弄清楚为什么忽略了“第一”优先级而倾向于“第二”优先级。
–俄罗斯
20年8月8日14:09
评论
除非您列出配置文件,否则您只会得到很多猜测(充其量)。