[gelöst] Wie WLAN beim Start aktivieren auf Server mit CLI?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
muellthos
Beiträge: 7
Registriert: 21.12.2019 18:03:48

[gelöst] Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von muellthos » 21.12.2019 18:21:47

Hallo zusammen

ich baue mir gerade einen Server für Hausautomatisierung. Nach Installation von Debian Server minimal hatte ich Probleme mit dem WLAN Stick, Chip ist rtl8192cu, Kernel ist 4.19.67-2+deb10u2. Nach etlichen rumprobieren, u.a. Kompilieren von Github: lwfinger/rtlwifi_new und den Tips aus
viewtopic.php?f=30&t=175777
funktioniert die WLAN-Verbindung. Allerdings "überlebt" sie keinen Reboot.
Wie kann ich dafür sorgen, dass die WLAN Verbindung beim Startup aktiviert wird?
Zuletzt geändert von muellthos am 22.12.2019 19:40:17, insgesamt 1-mal geändert.
Viele Grüße,

muellthos

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von mat6937 » 21.12.2019 18:48:32

muellthos hat geschrieben: ↑ zum Beitrag ↑
21.12.2019 18:21:47
Wie kann ich dafür sorgen, dass die WLAN Verbindung beim Startup aktiviert wird?
Das geht mit einer service-unit für den wpa_supplicant. Beispiele findest Du im Archiv mit dem source code für den wpa_supplicant.

TomL

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von TomL » 21.12.2019 18:52:44

Ich habe das auf einem System mit einer Service-Unit geregelt, damit das bei jedem Start automatisch erfolgt. Die Befehle sind prinzipiell die gleichen, wie in dem von Dir verlinkten Thread von mir schon beschrieben.

# cat /etc/systemd/system/wlan0.service

Code: Alles auswählen

[Unit]
Description=Wireless network connectivity (Interface=wlan0)
After=basic.target

[Service]
Type=oneshot
RemainAfterExit=yes

ExecStart=/usr/sbin/ip link set dev wlan0 up
ExecStart=/usr/sbin/wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/TomsAP.conf
ExecStart=/usr/sbin/dhclient wlan0

ExecStop=/usr/bin/pkill -f /etc/wpa_supplicant/TomsAP.conf
ExecStop=/usr/sbin/dhclient -r wlan0
ExecStop=/usr/sbin/ip link set dev wlan0 down

[Install]
WantedBy=multi-user.target
Rechte für die Unit: root:root, 644
Manuell zum Testen starten und kontrollieren:

Code: Alles auswählen

systemctl start wlan0.service
systemctl status wlan0.service
Für den Boot aktivieren:

Code: Alles auswählen

systemctl enable wlan0.service

muellthos
Beiträge: 7
Registriert: 21.12.2019 18:03:48

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von muellthos » 21.12.2019 21:33:52

Hallo Thomas,

danke für den Vorschlag, leider bekomme ich folgende Fehlermeldung:
butler@smarthome:/etc/systemd/system$ systemctl start wlx14cc2020287b.service
Failed to start wlx14cc2020287b.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
See system logs and 'systemctl status wlx14cc2020287b.service' for details.
butler@smarthome:/etc/systemd/system$
Bei mir heißt das Interface wlx14cc2020287b, ich habe also überall "wlan0" mit "wlx14cc2020287b" ersetzt, und meine *.config eingebaut.
Meine .service Datei: http://nopaste.debianforum.de/40943
Viele Grüße,

muellthos

TomL

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von TomL » 21.12.2019 21:49:36

muellthos hat geschrieben: ↑ zum Beitrag ↑
21.12.2019 21:33:52
Bei mir heißt das Interface wlx14cc2020287b
Das ist vermutlich das Problem... und zwar die Länge des NIC-Names. Das bedeutet, dass das wahrscheinlich ein kontinuierliches Problem sein wird, was sich jedoch durch schlichte Umbenennung des NICs auf einen kürzeren Namen lösen lässt. Alternativ kann man auch einfach die 'predictables interfacenames' deaktivieren, dann wirds von alleine wieder wlan0 heissen.

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von mat6937 » 21.12.2019 21:52:38

muellthos hat geschrieben: ↑ zum Beitrag ↑
21.12.2019 21:33:52
... ich habe also überall "wlan0" mit "wlx14cc2020287b" ersetzt,...
Nicht überall:

Code: Alles auswählen

ExecStart=/usr/sbin/ip link set dev wlan0 up
ExecStart=/usr/sbin/wpa_supplicant -B -i  wlx14cc2020287b -c /etc/wpa_supplicant/tplink.conf
ExecStart=/usr/sbin/dhclient wlx14cc2020287b

muellthos
Beiträge: 7
Registriert: 21.12.2019 18:03:48

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von muellthos » 22.12.2019 12:02:39

Hallo Thomas,

die Fehlermeldung verschwand, nachdem ich das Paket Polkit installiert habe. Das WLAN kommt aber trotzdem nicht hoch beim Start. Das führt auch dazu, dass das Docker-Interface docker0 nicht hochkommt. Es lässt sich erst hochbringen, wenn auch das WLAN-Interface up ist. Vielleich ist es ein Timing- Problem. Wie kann ich das weiter untersuchen?
Viele Grüße,

muellthos

TomL

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von TomL » 22.12.2019 12:09:27

Der Fehler wurde korrigiert?
ExecStart=/usr/sbin/ip link set dev wlan0 up

Wenn ja, wie ist der Status der Unit nach einem manuellen Start? Das polkit hat eigentlich nichts mit diesem Problem zu tun. Und welche Fehlermeldung ist überhaupt gemeint...?... ich habe hier im Thread keine Fehlermeldung gesehen.

muellthos
Beiträge: 7
Registriert: 21.12.2019 18:03:48

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von muellthos » 22.12.2019 15:26:18

Hallo Tom,

ja, den Fehler habe ich korrigiert. Wenn ich das von Skript mit systemctl start wlx14cc2020287b.service starten wollte, und auch beim Status kam die Fehlermeldung mit: " ...freedesktop.PolicyKit-1..." oder so. Nach der Installation von Docker kam beim Start der Docker-Dienste die gleiche Meldung. Dazu habe ich auf im Web gefunden, das das Paket polkit benötigt wird. Nach der Installation des Pakets ist die Fehlermeldung weg.
Das WLAN Inteface kommt jedoch immer noch nicht hoch beim Reboot.
Viele Grüße,

muellthos

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von mat6937 » 22.12.2019 15:42:49

muellthos hat geschrieben: ↑ zum Beitrag ↑
22.12.2019 15:26:18
Das WLAN Inteface kommt jedoch immer noch nicht hoch beim Reboot.
Ist der dhclient installiert? Wie ist die Ausgabe von:

Code: Alles auswählen

which dhclient
?

TomL

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von TomL » 22.12.2019 15:47:18

muellthos hat geschrieben: ↑ zum Beitrag ↑
22.12.2019 15:26:18
Das WLAN Inteface kommt jedoch immer noch nicht hoch beim Reboot.
Dann jetzt zum dritten Mal die Aufforderung... :? .... bitte die kompletten Ausgaben der beiden Befehle hier posten (in Code-Tags, so wie hier folgend)... natürlich hinsichtlich wlan0 angepasst auf Deine WLAN-Schnittstelle.

Code: Alles auswählen

systemctl start wlan0.service
systemctl status wlan0.service
Das Problem kann man nur lösen, wenn Du die Schritte einschließlich der Fehlermeldung hier postest. Denn solange das Problem nicht konkret beschrieben ist, gibt es kein Problem... und "geht nicht" ist keine Problembeschreibung. Und ich gehe davon aus, dass Du wegen des Fehlschlagen die Unit natürlich nicht "enabled" hast, was man nach einer Kontrolle (s.o.) nur dann tut, wenn es zuvor keine Fehler gab.

Sofern die Unit allerdings doch aktiviert wurde, erst mal wieder ausplanen:

Code: Alles auswählen

systemctl stop wlan0.service
systemctl disable wlan0.service
Ich vermute immer noch das, was ich ganz zu Anfang schon schrieb, da passiert irgendein Überlauf wegen der Länge des NIC-Names.... deswegen wird das nicht gehen... aber eins nach dem anderen.... erst mal den Ist-Zustand und die vermutliche Fehlermeldung sehen.

muellthos
Beiträge: 7
Registriert: 21.12.2019 18:03:48

Re: Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von muellthos » 22.12.2019 19:39:38

Hallo Thomas,
vielen Dank, das WLAN funktioniert jetzt. Nachdem ich das .service- Script korrigiert (alle "Wlan0" durch "wlx14cc2020287b" ersetzt) habe, gab es keine Fehler mehr bei

Code: Alles auswählen

systemctl start wlan0.service
systemctl status wlan0.service
. Danach

Code: Alles auswählen

systemctl enable wlan0.service
und das WLAN ist beim Start da. Kaum macht man es richtig, schon geht's. Danke noch mal für die Hilfe, und bezüglich der Problembeschreibungen werde ich mich in Zukunft bessern :oops:
Viele Grüße,

muellthos

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: [gelöst] Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von jph » 24.12.2019 13:30:09

Ich habe den Thread nur mal überflogen, aber das Netzwerk über Service-Units zu starten, erscheint mir etwas wie „durch die Brust ins Auge“. Auf einem headless Server würde ich das mit systemd-networkd lösen (man 5 systemd.network).

Die Kollegen von Arch haben das umfangreich beschrieben: https://wiki.archlinux.org/index.php/Systemd-networkd

Frohes Fest!

TomL

Re: [gelöst] Wie WLAN beim Start aktivieren auf Server mit CLI?

Beitrag von TomL » 24.12.2019 14:25:57

jph hat geschrieben: ↑ zum Beitrag ↑
24.12.2019 13:30:09
Ich habe den Thread nur mal überflogen, aber das Netzwerk über Service-Units zu starten, erscheint mir etwas wie „durch die Brust ins Auge“.
Ernsthaft...?... :mrgreen:
jph hat geschrieben: ↑ zum Beitrag ↑
24.12.2019 13:30:09
Auf einem headless Server würde ich das mit systemd-networkd lösen (man 5 systemd.network).Die Kollegen von Arch haben das umfangreich beschrieben: https://wiki.archlinux.org/index.php/Systemd-networkd
Ein 500-Zeilen-Tutorial anstelle von jeweils 3 Unit-Statements zum Starten und Schließen? Ganz nebenbei bemerkt, systemd-networkd verwaltet sowieso keine WLAN-Interfaces und verwendet dafür wie die o.g. Unit ebenfalls wpa-supplicant, was in dem Fall natürlich als Daemon auch über eine Service-Unit gestartet wird.... soll heissen, systemd-networkd startet keine WLAN-Netzwerke, sondern benahmt allenfalls das Interface, wenn man das abweichend von den Predictable NIC-Names haben möchte, oder legt ggf. sysctl-Werte oder eine statische IP fest.... was man imho ebenfalls der Einfachheit halber auch direkt in der Service-Unit unterbringen könnte. :wink:

Antworten