Spørsmål:
Hvordan sette WiFi-nettverksprioritet?
user2926577
2016-11-30 12:22:20 UTC
view on stackexchange narkive permalink

Jeg forstår at jeg kan sette opp flere WiFis ved å legge til /etc/wpa_supplicant/wpa_supplicant.conf (som foreskrevet i Sette WiFi opp via kommandolinjen).

La oss si at jeg har to WiFier registrert: wifi_A og wifi_B

Når jeg kobler fra ruteren wifi_A , og start bringebæren min på nytt til kommandolinjen, den kobles automatisk til wifi_B . Når jeg kobler fra ruteren wifi_B , og starter bringebæret mitt på nytt til kommandolinjen, kobles det automatisk til wifi_A . Så langt så bra.

Men, la oss si at begge rutere er tilgjengelige, hvordan kan jeg sette prioriteringer? F.eks. Jeg vil at bringebæret mitt skal koble til wifi_B ved omstart?

Mitt andre spørsmål er: La oss si at jeg er i kommandolinjemodus og for øyeblikket er koblet til wifi_B . Hvordan kan jeg koble til wifi_A i stedet?

Med mindre du lister opp konfigurasjonsfilene dine, er alt du får, i beste fall mye spekulasjoner.
Tre svar:
Dishant
2017-08-12 15:58:09 UTC
view on stackexchange narkive permalink

Men la oss si at begge rutere er tilgjengelige, hvordan kan jeg sette prioriteringer?

Du kan angi prioriteringer for nettverket på følgende måte:

  nettverk = {ssid = "wifi_A" psk = "passwordOfA" prioritet = 1} nettverk = {ssid = "wifi_B" psk = "passwordOfB" prioritet = 2}  

Som standardprioritet på alle nettverk er 0, sett høyere prioritet for å prioritere etter behov.

La oss si at jeg er i kommandolinjemodus og jeg er for øyeblikket koblet til wifi_B. Hvordan kan jeg koble til wifi_A i stedet?

For det bruker du kommandoen:

  wpa_cli select_network 0  

To skift fra wifi_A til wifi_B bruk:

  wpa_cli select_network 1  
for å sjekke hvilket nummer som skal brukes i `wpa_cli select_network #`, kjør først `wpa_cli list_networks`.
Dette fungerer ikke for meg med en Pi 3+ på Stretch. Ran wpa_cli list_networks og fikk nettverksnumrene, og deretter wpa_cli select_network 2. Systemet svarte med OK, men iwconfig viser at det fortsatt er koblet til det opprinnelige nettverket.
En merknad for klarhet: Verdien `prioritet 'brukes som en høyere verdi som betyr høyere prioritet. dvs. nettverk er _ ikke_ valgt i numerisk / tellende rekkefølge (null først).
På Buster er det et grensesnitt "p2p-dev-wlan0", som jeg fant er valgt som standard. Derfor må kommandoene ovenfor inneholde `-i wlan0`. For eksempel: `wpa_cli -i wlan0 select_network 0`. Dette fungerer og det er perfekt for applikasjonen min fordi den ikke trenger `sudo`
techraf
2016-11-30 13:58:45 UTC
view on stackexchange narkive permalink

F.eks. Jeg vil at bringebæret mitt skal koble til wifi_B ved omstart?

Legg til prioritering = 2 til wifi_B kode> blokk og prioritet = 1 til wifi_A blokken i filen /etc/wpa_supplicant/wpa_supplicant.conf .

La oss si at jeg er i kommandolinjemodus og jeg er for øyeblikket koblet til wifi_B . Hvordan kan jeg koble til wifi_A i stedet?

Du kan opprette en egen konfigurasjonsfil for hver av SSID-ene og spesifisere den eksplisitt:

  wpa_supplicant -B -Dwext -iwlan0 -c< / path / to / config_for_wifi_A>sudo dhclient wlan0  
Ved å bruke din tilnærming kan jeg bare bytte fra ett WiFi-nettverk til det andre en gang, kan ikke bytte tilbake (eller til et annet WiFi_C for eksempel.). Etter å ha brukt kommandoen `wpa_supplicant` for å gjøre den første bryteren, bruker jeg den igjen, får jeg en melding` ctrl-iface eksisterer og ser ut til å være i bruk - kan ikke overstyre den \ "Slett '/ var / run / wpa_supplicant / wlan0' manuelt hvis den ikke brukes lenger` osv ... Og etter `sudo dhclient wlan0` blir jeg fortalt` RTMETLINK svarer: Filen eksisterer`. Er dette hva du kan forvente?
du må først slå av forbindelsen med 'wpa_cli terminate' og deretter koble til en annen med 'wpa_supplicant', det er også en mer komplisert måte uten å slå den av [her] (https://wiki.archlinux.org/index.php/ WPA_supplicant # Connecting_with_wpa_cli)
jshep321
2020-07-10 21:47:39 UTC
view on stackexchange narkive permalink

Så for å utdype den fulle løsningen her:

  nettverk = {ssid = "wifi_A" psk = "passwordOfA" prioritet = 1 # lavere prioritet} nettverk = {ssid = "wifi_B" psk = "passwordOfB" prioritet = 2 #høyere prioritet}  

Så etter første omstart, for å aktivt bytte nettverk (uten sekundær omstart):

  sudo wpa_cli list_networks #show them! sudo wpa_cli -i wlan0 select_network 0 # 0, 1 osv. Merk: Nettverk er IKKE det samme nummeret som din prioritet i wpa_supplicant  
Takk for kommentarene i eksemplet! Det er veldig kontraintuitivt at høyere prioritet er lenger i rekkefølgen av naturlige tall ... Jeg har brukt ganske lang tid på å finne ut hvorfor "første" prioritet ble ignorert til fordel for "andre" prioritet.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...