WLAN-Verbindung wechseln
-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
WLAN-Verbindung wechseln
Hallo,
habe hier einen Pi mit Raspbian Jessy (werde auch nicht auf Stretch updaten in nächster Zeit). Derbist per WLAN mit meiner Fritzbox verbunden. Das soll auch standardmäßig so bleiben. Ich würde aber gern z. B. per Script eine Verbindung zu einem anderen WLAN herstellen, dessen Zugangsdaten ich auch hinterlegen würde. Keine 2 Verbindungen gleichzeitig.
Wie könnte man das machen? Gibt es Shellbefehle um wlan0 zu trennen und dann mit wlan1 zu verbinden, ohne wlan1 zum Standardnetzwerk zu machen? Nach einem Reboot soll wieder mit wlan0 verbunden werden.
Richard
habe hier einen Pi mit Raspbian Jessy (werde auch nicht auf Stretch updaten in nächster Zeit). Derbist per WLAN mit meiner Fritzbox verbunden. Das soll auch standardmäßig so bleiben. Ich würde aber gern z. B. per Script eine Verbindung zu einem anderen WLAN herstellen, dessen Zugangsdaten ich auch hinterlegen würde. Keine 2 Verbindungen gleichzeitig.
Wie könnte man das machen? Gibt es Shellbefehle um wlan0 zu trennen und dann mit wlan1 zu verbinden, ohne wlan1 zum Standardnetzwerk zu machen? Nach einem Reboot soll wieder mit wlan0 verbunden werden.
Richard
Re: WLAN-Verbindung wechseln
Ja, das geht. Du schreibst 2 service units für die WLAN-Verbindungen. Eine für wlan0 und eine für wlan1. Die service unit für wlan1 muss nicht aktiviert (enabled) werden.Richard hat geschrieben:09.07.2018 14:35:38Gibt es Shellbefehle um wlan0 zu trennen und dann mit wlan1 zu verbinden, ohne wlan1 zum Standardnetzwerk zu machen? Nach einem Reboot soll wieder mit wlan0 verbunden werden.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: WLAN-Verbindung wechseln
Ein prähistorischer Ansatz wäre das hier: https://www.debian.org/doc/manuals/debi ... ing_stanza
-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
Wue erstelle ich denn eine Service Unit für eine WLAN-Verbindung? Kenne das nur sls Autostart für Programme. Die WPA-Daten müssen ja auch hinterlegt werden.
Re: WLAN-Verbindung wechseln
Für die Verwaltung mehrerer Netzwerkverbindungen ist der
network-manager prädestiniert. (Auf Raspi wohl eher ohne GUI.) Mit diesem Frontend musst du keine aufwändigen Service Units konfigurieren, dafür wird implizit gesorgt.
Vielleicht zur "flotten Grobkonfiguration", Feineinstellungen und Umschalten der Netzwerkverbindungen danach mit nmcli-Kommandos.
https://access.redhat.com/documentation ... orkManager
https://developer.gnome.org/NetworkMana ... nmcli.html
Hinweise:
Teste zuerst nmtui oder/und das grafische Tool auf Laptop oder PC mit 2 WLAN-Verbindungen (SSIDs) und verschiedenen Prioritäten. Priorität mit größerer Zahl ist vorrangig. Die Verbindungen müssen schon mal aktiv (verbunden) gewesen sein, damit automatisches Umschalten klappt.
In deinem Fall müsste jedeoch "Automatisch verbinden" nicht aktiviert werden, da:
Übrigens: Mit richtiger Priorisierung und "Automatisch verbinden" könntest du remote auf dem AP/WLAN-Router eine SSID ab- oder zuschalten und der Raspi würde entsprechend automatisch reagieren.


Vielleicht
Code: Alles auswählen
nmtui
https://access.redhat.com/documentation ... orkManager
https://developer.gnome.org/NetworkMana ... nmcli.html
Hinweise:
Teste zuerst nmtui oder/und das grafische Tool auf Laptop oder PC mit 2 WLAN-Verbindungen (SSIDs) und verschiedenen Prioritäten. Priorität mit größerer Zahl ist vorrangig. Die Verbindungen müssen schon mal aktiv (verbunden) gewesen sein, damit automatisches Umschalten klappt.
In deinem Fall müsste jedeoch "Automatisch verbinden" nicht aktiviert werden, da:
Das Start-Netzwerk muss damit wahrscheinlich mit einem entsprechenden nmcli-Kommando nach dem Booten gestartet werden. Kleine systemd service unit (Google-Stichworte) mit entsprechendem nmcli-Kommando für Aktivierung der gewünschten Startverbindung schreiben, im Netzwerkmanager sind Verbindungsparamter beider WLAN-Profile hinterlegt.Gibt es Shellbefehle um wlan0 zu trennen und dann mit wlan1 zu verbinden, ohne wlan1 zum Standardnetzwerk zu machen? Nach einem Reboot soll wieder mit wlan0 verbunden werden.
Übrigens: Mit richtiger Priorisierung und "Automatisch verbinden" könntest du remote auf dem AP/WLAN-Router eine SSID ab- oder zuschalten und der Raspi würde entsprechend automatisch reagieren.
Re: WLAN-Verbindung wechseln
Im aktuellen source-code-Archiv für wpa_supplicant stellen die Entwickler Beispiele für service units zur Verfügung:Richard hat geschrieben:10.07.2018 06:50:08Wue erstelle ich denn eine Service Unit für eine WLAN-Verbindung?
Code: Alles auswählen
:~$ ls -la Downloads/wpa_supplicant-2.6/wpa_supplicant/systemd
insgesamt 40
drwxrwxr-x 2 xx xx 4096 Nov 29 2017 .
drwxrwxr-x 10 xx xx 4096 Nov 29 2017 ..
-rw-rw-r-- 1 xx xx 497 Nov 29 2017 wpa_supplicant-nl80211@.service
-rw-rw-r-- 1 xx xx 489 Okt 2 2016 wpa_supplicant-nl80211.service.arg.in
-rw-rw-r-- 1 xx xx 210 Nov 29 2017 wpa_supplicant.service
-rw-rw-r-- 1 xx xx 451 Nov 29 2017 wpa_supplicant@.service
-rw-rw-r-- 1 xx xx 443 Okt 2 2016 wpa_supplicant.service.arg.in
-rw-rw-r-- 1 xx xx 234 Okt 2 2016 wpa_supplicant.service.in
-rw-rw-r-- 1 xx xx 489 Nov 29 2017 wpa_supplicant-wired@.service
-rw-rw-r-- 1 xx xx 481 Okt 2 2016 wpa_supplicant-wired.service.arg.in
Bei UU im wiki gibt es auch ein Beispiel: https://wiki.ubuntuusers.de/systemd/net ... ation-WLAN
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
@Jana66
Ich habe die WLAN-Verbindung bisher über die /etc/network/interfaces eingerichtet. nmtui zeigt mir bisher keine Verbindungen kann, ich vermute ich muss beide Verbindungen über den Network Manager einrichten?
@ mat6937
Da ich das ganze unter Jessy umsetzen wil wo noch die "alten" Namen für die Netzwerkschnittstelle verwendet werden, müssten die Service-Units bei mir
bzw.
heißen. Wenn die Unit ausgeführt wird, wird '%i' durch 'wlan0' oder 'wlan1' ersetzt?
Wie ich das hier? Muss ich auch die WLAN-Einrichtung per /etc/network/interfaces ausschalten und stattdessen wpa_supplicant verwenden?
Ich habe die WLAN-Verbindung bisher über die /etc/network/interfaces eingerichtet. nmtui zeigt mir bisher keine Verbindungen kann, ich vermute ich muss beide Verbindungen über den Network Manager einrichten?
@ mat6937
Da ich das ganze unter Jessy umsetzen wil wo noch die "alten" Namen für die Netzwerkschnittstelle verwendet werden, müssten die Service-Units bei mir
Code: Alles auswählen
wpa_supplicant@wlan0.service
Code: Alles auswählen
wpa_supplicant@wlan1.service
Wie ich das hier? Muss ich auch die WLAN-Einrichtung per /etc/network/interfaces ausschalten und stattdessen wpa_supplicant verwenden?
Re: WLAN-Verbindung wechseln
Ja.Richard hat geschrieben:10.07.2018 17:57:59Wenn die Unit ausgeführt wird, wird '%i' durch 'wlan0' oder 'wlan1' ersetzt?
Du musst Dich allerdings entscheiden.... Networkmanager ist EIN Weg, /etc/init.d/networking (etc/network/interfaces) ist EIN Weg, systemd-Service-Units ist EIN Weg. Alles drei gleichzeitig wird nicht gehen oder behindert sich gegenseitig. Wenn es sich um ein stationäres System handelt, würde ich den networkmanager und/oder networking deaktivieren und das Netzwerk nur über die Service-Unit starten.
Re: WLAN-Verbindung wechseln
Ja, ist ein weniger bekanntes Tool/Frontend (Text User Interface) desRichard hat geschrieben:10.07.2018 17:57:59nmtui zeigt mir bisher keine Verbindungen kann, ich vermute ich muss beide Verbindungen über den Network Manager einrichten?


https://access.redhat.com/documentation ... orkManager
Feinheiten dann (oder gleich alles) mit nmcli ...
Aber wie TomL schrieb, entscheide dich für 1 Methode.

-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
Ich werde hier erstmal den Weg über den Network Manager versuchen. Dazu müsste man ja vorher erst einmal /etc/network/interfaces deaktivieren oder anders dafür sorgen, dass aus dieser Datei keine Infos mehr gezogen werden. Genügt es sie zu löschen oder zu verschieben?
Kann per nmtui beide WLAN-Verbindungen einrichten. Dann könnte ich die auch per nmtui ändern.
Das mit den Prioritäten muss ich mir nochmal ansehen.
Kann per nmtui beide WLAN-Verbindungen einrichten. Dann könnte ich die auch per nmtui ändern.
Das mit den Prioritäten muss ich mir nochmal ansehen.
Das versteh ich nicht. Auf allen meiner Notebooks nutze ich den NM und die verbinden sich ohne Rückfragen oder sonstige Settings mit dem Standardnetzwerk. In allen sind schon beide WLANs eingerichtet.Das Start-Netzwerk muss damit wahrscheinlich mit einem entsprechenden nmcli-Kommando nach dem Booten gestartet werden.
Re: WLAN-Verbindung wechseln
Weder noch. Es genügt, die Datei vor der Installation vonRichard hat geschrieben:11.07.2018 12:14:36Ich werde hier erstmal den Weg über den Network Manager versuchen. Dazu müsste man ja vorher erst einmal /etc/network/interfaces deaktivieren oder anders dafür sorgen, dass aus dieser Datei keine Infos mehr gezogen werden. Genügt es sie zu löschen oder zu verschieben?

(Nur interface lo darf vorhanden sein.)
Bei mir:
Code: Alles auswählen
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
Code: Alles auswählen
cat /etc/resolv.conf
# Generated by NetworkManager
search borstel.test
nameserver 10.65.20.1
nameserver 10.65.10.1
Verzeichnis /etc/network/interfaces.d/ ist leer.
Kontrolle:
Code: Alles auswählen
cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
Eben. Mit dem Standardnetzwerk, bei WLAN und 2 SSIDs immer die am höchsten priorisierte Verbindung. Aber du wolltest per Kommando/Script umschalten und nicht ständige "Rückfälle" erleiden.Richard hat geschrieben:11.07.2018 12:14:36Auf allen meiner Notebooks nutze ich den NM und die verbinden sich ohne Rückfragen oder sonstige Settings mit dem Standardnetzwerk. In allen sind schon beide WLANs eingerichtet.

(Nach erfolgreicher Umschaltung des WLANs per Kommando wird der Raspi ohne Weiteres wohl auch mit zuletzt aktivem WLAN booten. Nehme das stark an.)
Teste es mit Laptop und 2 SSIDs, mit dem grafischen

Zuletzt geändert von BenutzerGa4gooPh am 11.07.2018 17:05:10, insgesamt 1-mal geändert.
-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
Am Notebook geht das sehr gut, wen man da das Standard-WLAN als "immer verbinden" setzte, wird genau das bei jedem reboot erneut verbunden.
Hab aber ein anderes Problem. Wenn ich versuche im nmtui versuche eine Verbindung zu bearbeiten kommt
nmtui:ERROR:nmt-newt-listbox.c:333:update_active_internal: assertion failed: (priv->active >= 0 && priv->active < priv->entries->len
Laut hier https://bugzilla.redhat.com/show_bug.cgi?id=1119663 wäre der Fehler mit der 0.9.10.2 behoben, ich habe aber nur die 9.10.0 und finde kein PPA für Raspbian Jessy - ein Update auf Stretch würde ich gern vermeiden, der Pi hier wird als Infrarot-Receiver eingesetzt, es war ein absoluter Akt die ganzen Sachen einzurichten. Bekomm ich nie wieder so hin.
Falls jemand eine Quelle für die gefixte Version hat. Sonst bleibt nur selbst bauen?
Hab aber ein anderes Problem. Wenn ich versuche im nmtui versuche eine Verbindung zu bearbeiten kommt
nmtui:ERROR:nmt-newt-listbox.c:333:update_active_internal: assertion failed: (priv->active >= 0 && priv->active < priv->entries->len
Laut hier https://bugzilla.redhat.com/show_bug.cgi?id=1119663 wäre der Fehler mit der 0.9.10.2 behoben, ich habe aber nur die 9.10.0 und finde kein PPA für Raspbian Jessy - ein Update auf Stretch würde ich gern vermeiden, der Pi hier wird als Infrarot-Receiver eingesetzt, es war ein absoluter Akt die ganzen Sachen einzurichten. Bekomm ich nie wieder so hin.
Falls jemand eine Quelle für die gefixte Version hat. Sonst bleibt nur selbst bauen?
Re: WLAN-Verbindung wechseln
Nö. Du kannst WLAN-Verbindungen komplett mit nmcli-Kommandos konfigurieren. Schaue dir obige Links an oder google nach praktischen Beispielen. nmtui ist nur ein Frontend für Faule.
Oder probiere mal - angeblich interaktiv - Example 12 mit WLAN: https://people.freedesktop.org/~lkundra ... mples.html
Bissel suchen oder Manpage nach entsprechender WLAN-Syntax, jedenfalls ein Frontend brauchst du nicht.
Hier steht auch was zur WLAN-Konfiguration: https://wiki.ubuntuusers.de/NetworkMana ... _ohne_GUI/
(Links in meinen obigen Beiträgen sind ausführlicher.)
Zum Wechsel der Verbindung mit nmcli: https://wiki.siduction.de/index.php?tit ... mandozeile (unten)
Und nun (mehr) Eigeninitiative!

Edit: Link korrigiert
Re: WLAN-Verbindung wechseln
Wenn Du eine service unit hast, musst Du den wpa_supplicant nicht mit der interfaces-Datei starten. Du könntest die Zuweisung der IP-Adresse an das Interface, mit Hilfe der interfaces-Datei (noch) machen, aber mit jessie (systemd) gibt es elegantere Möglichkeiten (z. B. systemd-networkd oder dhcpcd).Richard hat geschrieben:10.07.2018 17:57:59Muss ich auch die WLAN-Einrichtung per /etc/network/interfaces ausschalten und stattdessen wpa_supplicant verwenden?
Mit einer service unit wird auch der wpa_supplicant verwendet. Hier z. B. meine (auf jessie/PI) service unit:
Code: Alles auswählen
pi@raspberrypi:~ $ systemctl cat wpa_supplicant-nl80211@wlan0.service
# /lib/systemd/system/wpa_supplicant-nl80211@wlan0.service
[Unit]
Description=WPA supplicant daemon (interface- and nl80211 driver-specific version)
Requires=sys-subsystem-net-devices-wlan0.device
BindsTo=sys-subsystem-net-devices-wlan0.device
After=sys-subsystem-net-devices-wlan0.device
Before=network.target
Wants=network.target
ConditionPathExists=!/tmp/wpasupplicant_wlan0_lock
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/sbin/wpa_supplicant -B -qq -c/etc/wpa_supplicant/wpa_supplicant-nl80211-wlan0.conf -Dnl80211 -iwlan0
#ExecStartPost=-/usr/local/bin/starts_after_wpa_restart
Restart=on-failure
RestartSec=120
StartLimitInterval=125
StartLimitBurst=2
[Install]
Alias=multi-user.target.wants/wpa_supplicant-nl80211@wlan0.service
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
Hab jetzt einfach mal auf Stretch geupdated. Hab jetzt aber erstmal keine WLAN-Verbindung mehr. Glaube da wurde was geändert von Jessy auf Stretch. Muss ich nochmal gucken. Ich wollte halt gerne trotzdem ein laufendes nmtui haben, da ich meine Pi oft auch über SSH von unterwegs steuere und das recht simple zu sein scheint. Ein nmcli kann auch mal schief gehen, auch in Scripten. Wenn nmtui geht guck ich mir auch mal nmcli an.
Re: WLAN-Verbindung wechseln
U. a. predictable interfaces.Richard hat geschrieben:12.07.2018 08:42:11Hab jetzt aber erstmal keine WLAN-Verbindung mehr. Glaube da wurde was geändert von Jessy auf Stretch.
https://0010100.net/blog/?x=entry:entry170723-085401
ausführlicher:
https://www.freedesktop.org/wiki/Softwa ... faceNames/
https://lists.debian.org/debian-user/20 ... 01453.html
-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
Ich hab jetzt doch alles unter Stretch eingerichtet und mal den Network Manager versucht. Leider findet er aber weder mit nmcli noch mit nmtui WLANs. nmcli zeigt
Bei nmtui wird nur die derzeit noch bestehende Ethernet-Verbindung angezeigt (die soll später wegfallen).
Für die WLAN-Verbindung mit wpa_supplicant musste ich "-D wext" einfügen, also
damit er den WLAN-Dongle erkannte. Liegt wohl am etwas älteren Realtek-Chip. Ist scheinbar ab Stretch nötig. Ist ein RTL8188SU.
Muss ich das auch für den NM extra mit angeben? Ich denke der Weg über nmtui ist der einfachste um auch mal fix die Verbindung zu wechseln.
Code: Alles auswählen
nmcli device wifi list
* SSID MODUS CHAN RATE SIGNAL BARS SICHERHEIT
Für die WLAN-Verbindung mit wpa_supplicant musste ich "-D wext" einfügen, also
Code: Alles auswählen
sudo wpa_supplicant -i wlan0 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf
Muss ich das auch für den NM extra mit angeben? Ich denke der Weg über nmtui ist der einfachste um auch mal fix die Verbindung zu wechseln.
Re: WLAN-Verbindung wechseln
Code: Alles auswählen
ip link show
oder
ifconfig -a
USB-Sticks kriegen ab Stretch lange (MAC-Adresse enthalten), predictable IF-Namen. Selber vergebener Name (oder der alte?) könnte in Verbindung mit


Bei Verwendung des Netzwerkmanagers / nmtui muss kein wpa-supplicant anderweitig konfiguriert werden, imho auch konfliktträchtig, wenn man das nicht richtig macht: Dann sollte man dem Netzwerkmanager "sagen", um welche Verbindungen er sich (nicht) kümmern soll. Lasse ihn besser komplett verwalten, also nichts "vorbei" konfigurieren.Muss ich das auch für den NM extra mit angeben? Ich denke der Weg über nmtui ist der einfachste um auch mal fix die Verbindung zu wechseln.
Vmtl. funktioniert Trick nach Upgrade auf Stretch: WLAN-Firmware deinstallieren und neu installieren. Dann dürfte der Netzwerkmanager die neuen IF-Namen kapiert haben. Natürlich per Ethernet-Zugang machen.
Zuletzt geändert von BenutzerGa4gooPh am 15.07.2018 15:04:15, insgesamt 1-mal geändert.
-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
Hab deinen Beitrag gelesen, Raspbian Stretch verwendet aber diese neuen Interfacenamen nicht. Bei mir heißen sie eth0 und wlan0. Ich hab auch kein Upgrade gemacht, sondern diesmal Stretch komplett neu eingerichtet.
Auchhab ich nicht gesagt, dass ich wpa_suppplicant und NM gleichzeitig nutzen will oder gleichzeitig nutze. Hab mit wpa_supplicant eine Verbindung aufgebaut und dann wieder die Config gelöscht und rebootet. NM findet aber kein WLAN. Bei wpa_supplicant war die Angabe eines Treibers nötig, evtl. braucht NM sowas auch?
Auchhab ich nicht gesagt, dass ich wpa_suppplicant und NM gleichzeitig nutzen will oder gleichzeitig nutze. Hab mit wpa_supplicant eine Verbindung aufgebaut und dann wieder die Config gelöscht und rebootet. NM findet aber kein WLAN. Bei wpa_supplicant war die Angabe eines Treibers nötig, evtl. braucht NM sowas auch?
Re: WLAN-Verbindung wechseln
Hast du notwendige WLAN-Firmware nach Neuinstallation installiert? Ich habe keinen Raspi, weiß nicht ob mit Raspbian notwendig.
zeigen Fehler. Komplettes dmesg durchsehen bringt vlt. auch Erkenntnisse. Ansonsten schaue in meine Links oben und diagnostiziere den Netzwerkmanager mit nmcli-Kommandos und poste Fehlermeldungen! So kann man wenig sagen.
Problematisch: Raspbian ist offenbar anders als Debian (keine predictable IFs, systemd?). Wärst vielleicht besser im Raspi-Forum aufgehoben. Geht ja nur noch darum, den
network-manager wieder in Betrieb zu nehmen. Jetzt gehe ich erst mal baden. 
Code: Alles auswählen
journalctl -b -p err (wenn systemd in Raspbian) bzw.
dmesg | grep -i firmware
Problematisch: Raspbian ist offenbar anders als Debian (keine predictable IFs, systemd?). Wärst vielleicht besser im Raspi-Forum aufgehoben. Geht ja nur noch darum, den


-
- Beiträge: 653
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: WLAN-Verbindung wechseln
Hab es nun hinbekommen Ethernet und WLAN über nmcli einzurichten, reproduzierbar ist das alles nicht. u.a. musste ich über eine Art Eingabekonsole des NM gehen. Der Eingabeprompt änderte sich. Das musste ich aber mit sudo öffnen, da sonst Änderungen nicjt übernommen wurden.
Jetzt muss ich blöderweise auch nmtui per sudo öffnen um Verbindungseinstellungen zu ändern. Normal läuft ja die NM-GUI nicht über sudo.
Jetzt muss ich blöderweise auch nmtui per sudo öffnen um Verbindungseinstellungen zu ändern. Normal läuft ja die NM-GUI nicht über sudo.