Jak ustawić priorytet sieci WiFi?

13

Rozumiem, że mogę skonfigurować wiele WiFis, dodając do /etc/wpa_supplicant/wpa_supplicant.conf(zgodnie z opisem w Konfigurowanie Wi-Fi za pośrednictwem wiersza poleceń ).

Załóżmy, że mam zarejestrowane dwa WiFi: wifi_Aiwifi_B

Po odłączeniu routera wifi_Ai ponownym uruchomieniu mojego malina do wiersza poleceń automatycznie się łączy wifi_B. Po odłączeniu routera wifi_Bi ponownym uruchomieniu mojego malina do wiersza poleceń automatycznie się łączy wifi_A. Jak na razie dobrze.

Powiedzmy jednak, że oba routery są dostępne. Jak ustawić priorytety? Np. Chciałbym, aby moja Raspberry połączyła się wifi_Bprzy ponownym uruchomieniu?

Moje drugie pytanie brzmi: powiedzmy, że jestem w trybie wiersza poleceń i jestem obecnie podłączony wifi_B. Jak mogę się wifi_Azamiast tego połączyć ?

użytkownik2926577
źródło
Jeśli nie podasz swoich plików konfiguracyjnych, dostaniesz tylko dużo spekulacji (w najlepszym wypadku).
Milliways,

Odpowiedzi:

10

Np. Chciałbym, aby moja malina połączyła się wifi_Bprzy ponownym uruchomieniu?

Dodaj priority=2do wifi_Bbloku i priority=1do wifi_Abloku w /etc/wpa_supplicant/wpa_supplicant.confpliku.

Powiedzmy, że jestem w trybie wiersza poleceń i aktualnie jestem podłączony wifi_B. Jak mogę się wifi_Azamiast tego połączyć ?

Możesz utworzyć osobny plik konfiguracyjny dla każdego z identyfikatorów SSID i określić go jawnie:

wpa_supplicant -B -Dwext -iwlan0 -c</path/to/config_for_wifi_A>
sudo dhclient wlan0
techraf
źródło
Korzystając z twojego podejścia, mogę przełączyć się z jednej sieci Wi-Fi tylko raz, nie mogę się przełączyć (lub np. Na inną sieć WiFi_C). Po użyciu wpa_supplicantpolecenia, aby zrobić pierwszy przełącznik, używając go ponownie, dostaję komunikat 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 anymoreitd ... I po sudo dhclient wlan0otrzymaniu polecenia RTMETLINK answers: File exists. Czy tego można się spodziewać?
calocedrus
musisz najpierw zamknąć połączenie, wpa_cli terminatea następnie połączyć się z innym wpa_supplicant, istnieje również bardziej skomplikowany sposób bez wyłączania go tutaj
Z-WolF
19

Powiedzmy jednak, że oba routery są dostępne. Jak ustawić priorytety?

Możesz ustawić priorytety dla sieci w następujący sposób:

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

Domyślnie priorytetem wszystkich sieci jest 0, ustaw wyższy priorytet, aby ustalać priorytety zgodnie z potrzebami.

Powiedzmy, że jestem w trybie wiersza poleceń i aktualnie jestem podłączony do wifi_B. Jak zamiast tego mogę połączyć się z wifi_A?

W tym celu użyj polecenia:

wpa_cli select_network 0

Przejście od wifi_Ado wifi_Bużytku:

wpa_cli select_network 1
Dishant
źródło
2
aby sprawdzić, którego numeru użyć wpa_cli select_network #, wpa_cli list_networksnajpierw uruchom .
Z-WolF
1
To nie działa dla mnie z Pi 3+ na Stretch. Uruchomiłem wpa_cli list_networks i otrzymałem numery sieci, a następnie wpa_cli select_network 2. System odpowiedział OK, ale iwconfig pokazuje, że nadal jest podłączony do oryginalnej sieci.
lonstar
8
Uwaga dla przejrzystości: priorityWartość jest stosowana jako wyższa wartość, co oznacza wyższy priorytet. tzn. sieci nie są wybierane w kolejności numerycznej / liczenia (najpierw zero).
Nicolas