Como definir a prioridade da rede WiFi?

13

Entendo que posso configurar vários WiFis adicionando a /etc/wpa_supplicant/wpa_supplicant.conf(como prescrito em Como configurar o Wi-Fi através da linha de comando ).

Digamos que eu tenho dois WiFis registrados: wifi_Aewifi_B

Quando eu desconecto o roteador wifi_Ae reinicializo minha framboesa na linha de comando, ele se conecta automaticamente wifi_B. Quando eu desconecto o roteador wifi_Be reinicializo minha framboesa na linha de comando, ele se conecta automaticamente wifi_A. Por enquanto, tudo bem.

Mas, digamos que ambos os roteadores estejam disponíveis, como posso definir prioridades? Por exemplo, eu gostaria que meu Raspberry se conectasse ao wifi_Breiniciar?

Minha segunda pergunta é: digamos que estou no modo de linha de comando e atualmente estou conectado wifi_B. Como posso me conectar wifi_A?

user2926577
fonte
A menos que você liste seus arquivos de configuração, tudo o que você terá é muita especulação (na melhor das hipóteses).
Milliways

Respostas:

9

Por exemplo, gostaria que minha framboesa se conectasse ao wifi_Breiniciar?

Adicione priority=2ao wifi_Bbloco e priority=1ao wifi_Abloco no /etc/wpa_supplicant/wpa_supplicant.confarquivo.

Digamos que estou no modo de linha de comando e atualmente estou conectado wifi_B. Como posso me conectar wifi_A?

Você pode criar um arquivo de configuração separado para cada um dos SSIDs e especificá-lo explicitamente:

wpa_supplicant -B -Dwext -iwlan0 -c</path/to/config_for_wifi_A>
sudo dhclient wlan0
techraf
fonte
Usando sua abordagem, eu posso mudar de uma rede WiFi para outra apenas uma vez, não consigo voltar (ou para outro WiFi_C, por exemplo). Depois de usar o wpa_supplicantcomando para fazer a 1ª opção, usando-o novamente, recebo uma mensagem ctrl-iface exists and seems to be in use - cannot override it\ n Delete '/var/run/wpa_supplicant/wlan0' manually if it is not used anymoreetc ... E depois sudo dhclient wlan0que me dizem RTMETLINK answers: File exists. É isso o que esperar?
Calocedrus
você precisa primeiro desligamento da conexão com wpa_cli terminatee, em seguida, conectar a outro com wpa_supplicant, há também uma maneira mais complicada, sem desligá-lo aqui
Z-Wolf
18

Mas, digamos que ambos os roteadores estejam disponíveis, como posso definir prioridades?

Você pode definir prioridades para a rede da seguinte maneira:

network={
    ssid="wifi_A"
    psk="passwordOfA"
    priority=1
}
network={
   ssid="wifi_B"
   psk="passwordOfB"
   priority=2
}

Por padrão, a prioridade de todas as redes é 0, defina uma prioridade mais alta para priorizar conforme sua necessidade.

Digamos que estou no modo de linha de comando e atualmente estou conectado ao wifi_B. Como posso me conectar ao wifi_A?

Para isso, use o comando:

wpa_cli select_network 0

Para mudar de wifi_Apara wifi_Busar:

wpa_cli select_network 1
Dishant
fonte
2
para verificar em qual número usar wpa_cli select_network #, execute wpa_cli list_networksprimeiro.
Z-Wolf
1
Isso não funciona para mim com um Pi 3+ no Stretch. Executei wpa_cli list_networks e obteve os números de rede e depois wpa_cli select_network 2. O sistema respondeu com OK, mas o iwconfig mostra que ainda está conectado à rede original.
lonstar 17/09/18
8
Uma observação para esclarecer: O priorityvalor é aplicado como um valor mais alto, o que significa maior prioridade. ou seja, as redes não são selecionadas em ordem numérica / contadora (zero primeiro).
Nicolas