Comment définir la priorité du réseau WiFi?

13

Je comprends que je peux configurer plusieurs WiFis en les ajoutant à /etc/wpa_supplicant/wpa_supplicant.conf(comme prescrit dans Configuration du WiFi via la ligne de commande ).

Disons que j'ai deux WiFis enregistrés: wifi_Aetwifi_B

Lorsque je débranche le routeur wifi_Aet redémarre ma framboise en ligne de commande, il se connecte automatiquement à wifi_B. Lorsque je débranche le routeur wifi_Bet redémarre ma framboise en ligne de commande, il se connecte automatiquement à wifi_A. Jusqu'ici tout va bien.

Mais, disons que les deux routeurs sont disponibles, comment puis-je définir des priorités? Par exemple, j'aimerais que ma Raspberry se connecte au wifi_Bredémarrage?

Ma deuxième question est: disons que je suis en mode ligne de commande et que je suis actuellement connecté à wifi_B. Comment puis-je me connecter à la wifi_Aplace?

user2926577
la source
À moins que vous ne listiez vos fichiers de configuration, tout ce que vous obtiendrez sera beaucoup de spéculations (au mieux).
Milliways

Réponses:

10

Par exemple, j'aimerais que ma framboise se connecte au wifi_Bredémarrage?

Ajoutez priority=2au wifi_Bbloc et priority=1au wifi_Abloc dans le /etc/wpa_supplicant/wpa_supplicant.conffichier.

Disons que je suis en mode ligne de commande et que je suis actuellement connecté à wifi_B. Comment puis-je me connecter à la wifi_Aplace?

Vous pouvez créer un fichier de configuration distinct pour chacun des SSID et le spécifier explicitement:

wpa_supplicant -B -Dwext -iwlan0 -c</path/to/config_for_wifi_A>
sudo dhclient wlan0
techraf
la source
En utilisant votre approche, je peux passer d'un réseau WiFi à l'autre une seule fois, je ne peux pas revenir en arrière (ou à un autre WiFi_C par exemple). Après avoir utilisé la wpa_supplicantcommande pour effectuer le premier changement, en l'utilisant à nouveau, je reçois un message 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 ... Et après qu'on sudo dhclient wlan0me le dise RTMETLINK answers: File exists. Est-ce à quoi s'attendre?
calocedrus
vous devez d'abord fermer la connexion avec wpa_cli terminatepuis vous connecter à une autre avec wpa_supplicant, il y a aussi un moyen plus compliqué sans la fermer ici
Z-WolF
19

Mais, disons que les deux routeurs sont disponibles, comment puis-je définir des priorités?

Vous pouvez définir les priorités du réseau comme suit:

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

Par défaut, la priorité de tous les réseaux est 0, définissez une priorité plus élevée pour hiérarchiser selon vos besoins.

Disons que je suis en mode ligne de commande et que je suis actuellement connecté à wifi_B. Comment puis-je me connecter à wifi_A à la place?

Pour cela, utilisez la commande:

wpa_cli select_network 0

Pour passer de wifi_Aà wifi_Butiliser:

wpa_cli select_network 1
Déshangent
la source
2
pour vérifier le numéro à utiliser wpa_cli select_network #, exécutez d' wpa_cli list_networksabord.
Z-WolF
1
Cela ne fonctionne pas pour moi avec un Pi 3+ sur Stretch. A exécuté wpa_cli list_networks et obtenu les numéros de réseau, puis wpa_cli select_network 2. Le système a répondu par OK mais iwconfig montre qu'il est toujours connecté au réseau d'origine.
lonstar
8
Une note pour plus de clarté: la priorityvaleur est appliquée comme une valeur plus élevée, ce qui signifie une priorité plus élevée. c'est-à-dire que les réseaux ne sont pas sélectionnés dans l'ordre numérique / de comptage (zéro en premier).
Nicolas