[gelöst] Mit welchen Befehl wechsle ich in ein bekanntes W-Lan?

Begonnen von SKg, 02 September 2021, 09:56:13

Vorheriges Thema - Nächstes Thema

SKg

Hallo

ich muss leider mal wieder eine Anfängerfrage stellen.

Verwendet wird ein Raspberry PI 3B+ mit Buster ohne Desktop.
Alle bekannten W-Lan Netze sind in der wpa_supplicant.conf eingetragen und funktionieren auch.

Nach dem "Start" verbindet sich mein Pi mit dem erstbesten Netz und verbindet sich bei Verbindungsverlust mit dem nächsten bekannten Netz.
Soweit so gut.

Ich würde mich aber gern, nach dem Start, gezielt mit einem anderen bekannten Netz verbinden.

Gibt es dafür einen Kommandozeilenbefehl?

MFG
Stephan

betateilchen

Keine Ahnung, ob das mit wpa_supplicant überhaupt möglich ist.

Installiere den NetworkManager, dann kannst Du die Auswahl auf Betriebssystemebene mit nmcli lösen.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

erwin

ZitatGibt es dafür einen Kommandozeilenbefehl?
kenn ich nicht, aber mit wpa_supplicant lässt sich eine priorisierung definieren:
network={
        ssid="aaaaa"
        psk="bbbbbbbbb"
        priority=3
}

network={
        ssid="ccccccc"
        psk="dddddddddddddddddddd"
        priority=4
        id_str="xxxHome"
}

network={
        ssid="eeeeeeeeeeeee"
        psk="ffffffffffffffffffffffffffffffffff"
        priority=5
        id_str="YYYYYYYYiPhone"
}

damit wird das ssid mit der höchsten prio vernwendet - falls verfügbar!
l.g erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

SKg

Hallo,

Erst einmal vielen Dank für die bisherigen Antworten.

@betateilchen

Zitat von: betateilchen am 02 September 2021, 10:14:04
Installiere den NetworkManager, dann kannst Du die Auswahl auf Betriebssystemebene mit nmcli lösen.
Kann ich das Programm so ohne weiteres Installieren oder sperre ich mich da gleich aus?
Ich verwende SSH um meinen Pi zu konfigurieren, am Pi selbst ist kein Monitor oder Tastatur angeschlossen!
Die Beschreibung zum NetworkManager liest sich so als müsse man erst alle möglichen Verbindungen konfigurieren (auch die Ethernet Schnittstelle)?

MFG
Stephan

SKg

Hallo, @erwin

Zitat von: erwin am 02 September 2021, 11:14:43
damit wird das ssid mit der höchsten prio vernwendet - falls verfügbar!

Angenommen das Netz mit Prio1 fällt aus und mein Pi wechselt zum Netz mit Prio2.
Würde der Pi wieder zum Netz mit Prio1 wechseln wenn es wieder erreichbar ist?

MFG
Stephan 

erwin

#5
ZitatWürde der Pi wieder zum Netz mit Prio1 wechseln wenn es wieder erreichbar ist?
Soweit ich weiß erst wenn ssid mit prio2 nicht mehr verfügbar! - oder nach reboot... oder mit shell command: sudo systemctl stop networking && sudo systemctl start networking (ungetestet!)
l.g. erwin

edit: getestet:
1) Der ssid mit der niedrigsten prio wird verwendet - war in meinem ersten post falsch!
2) shell-cmd zum ändern - der ssid:sudo ifconfig wlan0 down && sudo ifconfig wlan0 up
das forciert ein neuerliches durchlaufen der wpa_supplicant.conf...

FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

SKg

Hallo @erwin

Zitat von: erwin am 02 September 2021, 12:58:24
2) shell-cmd zum ändern - der ssid:sudo ifconfig wlan0 down && sudo ifconfig wlan0 up
das forciert ein neuerliches durchlaufen der wpa_supplicant.conf...
ich benutze dafür
sudo wpa_cli -i wlan0 reconfigure

MFG
Stephan

Otto123

Hallo Stephan,

ich habe zum flashen von meinem Sauegr mal sowas gebastelt:
die wpa_supplicant enthält mein Haus Wlan und das (offene) Konfigurations-Wlan vom Sauger.
Dann kann man einfach "umschalten"
wpa_cli -i wlan0 select_network ID

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

SKg

Hallo, @OTTO123

ich hatte in deinem Block schon geschaut aber irgend wie nicht das richtige gefunden.

Zitat von: Otto123 am 02 September 2021, 14:45:06

wpa_cli -i wlan0 select_network ID


Kann ich dann anstelle von ID meine gewünschte ESSID eintragen oder wie habe ich den Befehl zu verstehen?

MFG
Stephan

Otto123

#9
mit list_networks zeigt er Dir seine interpretierte wpa_... config an.
Dort stehen nummern, die nimmst Du für select_networks.
oder Du nimmst Deine SSID

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

SKg

Hallo,

danke nochmal an Otto123

mit dem Befehl:
sudo wpa_cli -i wlan0 list_networks
kommt man an die entsprechenden ID Nummern für die Auswahl.

Folgender Ablauf:
sudo wpa_cli -i wlan0 list_networks

ergibt folgendes Ergebnis:

network id / ssid / bssid / flags
0       backnet any
1       Test_W_Lan      any     [CURRENT]


und dann folgender Befehl:
sudo wpa_cli -i wlan0 select_network 0

sorgt dafür das sich mein pi in das WLan Netz mit der ID 0 einloggt, in meinem fall "backnet"
Bis dato aktive Wlan Verbindungen werden automatisch getrennt.

Dann scheint ja wpa_cli das Pendant zu nmcli des NetworkManagers zu sein.

MFG
Stephan

SKg

Hallo;

Otto123 war ein tick schneller ;)

Zitat von: Otto123 am 02 September 2021, 15:19:37

oder Du nimmst Deine SSID


Die direkte Übergabe der ESSID wird zwar positiv quittiert, führt aber nicht zum Wechsel in das gewünschte Netz.

Danke nochmal an Otto123

MFG
Stephan

Otto123

#12
Moin Stephan,

ich war gestern etwas verblüfft über Deine Aussage, ich hatte das mit SSID nämlich probiert.
Allerdings hat mich das Programm ausgetrickst:
Hat man einen anderes Wlan aktiv als die 0 (also das erste in der Liste)
und versucht dann select_network mitIrgendEinerSSID wertet das Programm diesen String als 0 und aktiviert das Erste.
War das (wie bei mir) zufällig das gewünschte, glaubt man an den Erfolg :-[

Das Programm wertet als ID Argument nur Ziffern richtig aus, Strings werden akzeptiert (keine Fehlermeldung) aber ergeben numerisch eine 0.

Das wpa_cli Programm erfordert bei mir keine erhöhten Rechte (sudo).

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

SKg

Hallo Otto,

Zitat von: Otto123 am 03 September 2021, 10:13:52

Das wpa_cli Programm erfordert bei mir keine erhöhten Rechte (sudo).


Das war mir auch durch Zufall aufgefallen weil ich mal das (sudo) vergessen habe. :)

Gruß
Stephan