¿Cómo establecer la prioridad de la red WiFi?

13

Entiendo que puedo configurar múltiples WiFis agregando a /etc/wpa_supplicant/wpa_supplicant.conf(como se prescribe en Configuración de WiFi a través de la línea de comandos ).

Digamos que tengo dos WiFis registrados: wifi_Aywifi_B

Cuando desconecto el enrutador wifi_Ay reinicio mi frambuesa en la línea de comandos, se conecta automáticamente wifi_B. Cuando desconecto el enrutador wifi_By reinicio mi frambuesa en la línea de comandos, se conecta automáticamente wifi_A. Hasta aquí todo bien.

Pero, digamos que ambos enrutadores están disponibles, ¿cómo puedo establecer prioridades? Por ejemplo, ¿me gustaría que mi Raspberry se conecte wifi_Bal reiniciar?

Mi segunda pregunta es: Digamos que estoy en el modo de línea de comando y actualmente estoy conectado wifi_B. ¿Cómo me puedo conectar en su wifi_Alugar?

usuario2926577
fuente
A menos que enumeres tus archivos de configuración, todo lo que obtendrás es mucha especulación (en el mejor de los casos).
Milliways

Respuestas:

10

Por ejemplo, ¿me gustaría que mi frambuesa se conecte wifi_Bal reiniciar?

Añadir priority=2al wifi_Bbloque y priority=1al wifi_Abloque en el /etc/wpa_supplicant/wpa_supplicant.confarchivo.

Digamos que estoy en el modo de línea de comandos y actualmente estoy conectado wifi_B. ¿Cómo me puedo conectar en su wifi_Alugar?

Puede crear un archivo de configuración separado para cada uno de los SSID y especificarlo explícitamente:

wpa_supplicant -B -Dwext -iwlan0 -c</path/to/config_for_wifi_A>
sudo dhclient wlan0
techraf
fuente
Usando su enfoque, puedo cambiar de una red WiFi a la otra solo una vez, no puedo volver a cambiar (u otro WiFi_C por ejemplo). Después de usar el wpa_supplicantcomando para hacer el primer cambio, al usarlo nuevamente recibo un mensaje 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 ... Y después de sudo dhclient wlan0que me lo digan RTMETLINK answers: File exists. ¿Es esto lo que puedes esperar?
calocedrus
primero debe cerrar la conexión wpa_cli terminatey luego conectarse a otra wpa_supplicant, también hay una forma más complicada sin
cerrarla
19

Pero, digamos que ambos enrutadores están disponibles, ¿cómo puedo establecer prioridades?

Puede establecer prioridades para la red de la siguiente manera:

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

Por defecto, la prioridad de todas las redes es 0, establezca una prioridad más alta para priorizar según sus necesidades.

Digamos que estoy en el modo de línea de comandos y actualmente estoy conectado a wifi_B. ¿Cómo puedo conectarme a wifi_A en su lugar?

Para eso usa el comando:

wpa_cli select_network 0

Para cambiar de wifi_Aa wifi_Bsu uso:

wpa_cli select_network 1
Disidente
fuente
2
para verificar en qué número usar wpa_cli select_network #, ejecute wpa_cli list_networksprimero.
Z-WolF
1
Esto no funciona para mí con un Pi 3+ en Stretch. Ejecuté wpa_cli list_networks y obtuve los números de red, y luego wpa_cli select_network 2. El sistema respondió con OK pero iwconfig muestra que todavía está conectado a la red original.
lonstar
8
Una nota para mayor claridad: el priorityvalor se aplica como un valor más alto que significa mayor prioridad. es decir, las redes no se seleccionan en orden numérico / de conteo (cero primero).
Nicolas