[gelöst] Network-Manager, Standby und kein WLAN, da Treiber nicht entladen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
uname
Beiträge: 12046
Registriert: 03.06.2008 09:33:02

[gelöst] Network-Manager, Standby und kein WLAN, da Treiber nicht entladen

Beitrag von uname » 07.10.2017 11:23:57

Ich verwende hier Debian Stretch mit Mate-Desktop (Debiantask-mate-desktop). Debianpm-utils habe ich bereits nachinstalliet. Man muss dazu sagen, dass ich auf diesen System (T60 zusätzlidh mit Openbox, wo es genauso wenig funktioniert) über mehrere Releases ge-distupgradet wurde. Unter Debian Jessie (Einführung von systemd) hat es aber definitiv noch funktioniert.

Das Problem ist folgendes. Mein System verwendet die WLAN-Treiber ath5k, der in lspci und lsmod korrekt erkannt wird. Nach den ersten Booten funktioniert das WLAN über den Network-Manager problemlos.

Wenn ich nun in den Standby-Modus wechsel und anschließend wieder das System erwecke erkennt der Network-Manager keine WLAN-Netze mehr. Der Treiber ath5k ist laut lspci und lsmod weiterhin geladen.

Wenn ich jedoch manuell den Treiber entlade:

Code: Alles auswählen

modprobe -r ath5k
dann in den Standby-Modus wechsel und das System erwecke funktioniert alles problemlos ohne zutun. Ich muss den Treiber z.B. nicht manuell neu laden. Scheinbar will der dämliche Netzwork-Manager umbedingt den Treiber neu laden bzw. setzt einen nicht geladenen Treiber voraus.

Es gibt im Internet einige Anleitungen wie man Treiber über pm-utils beim Standby entladen kann,siehe z.B.:

https://forum.ubuntuusers.de/topic/wlan ... t-mehr-an/
->
https://wiki.ubuntuusers.de/pm-utils/#M ... eder-laden


Leider funktioniert das alles unter Debian Stretch nicht. Wie kann ich mein Problem lösen?
Zuletzt geändert von uname am 07.10.2017 12:26:48, insgesamt 1-mal geändert.

Benutzeravatar
smutbert
Moderator
Beiträge: 8320
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Network-Manager, Standby und kein WLAN, da Treiber nicht entladen

Beitrag von smutbert » 07.10.2017 11:42:44

Soweit ich weiß könntest du einfach ein Skript in »/lib/systemd/system-sleep« anlegen, das diese Arbeit übernimmt

Code: Alles auswählen

#!/bin/bash
[ "$1" = "pre" ] && /sbin/modprobe -r ath5k
exit 0
(ich hoffe ich habe das mit dem Parameter richtig in Erinnerung)


Eine andere Möglichkeit wäre eine eigene systemd-unit, zB »/etc/systemd/system/atheros-workaround.service«

Code: Alles auswählen

[Unit]
Description=unload atheros driver before suspend
Before=sleep.target

[Service]
Type=oneshot
#RemainAfterExit=yes
ExecStart=/sbin/modprobe -r ath5k
#ExecStop=/sbin/modprobe ath5k

[Install]
WantedBy=sleep.target
aktivieren mit

Code: Alles auswählen

# systemctl daemon-reload
# systemctl enable atheros-workaround.service
Getestet habe ich keins von beiden - wie du an den auskommentierten Zeilen siehst, habe ich nur eine ähnliche unit von mir an die Zwecke angepasst, aber so ungefähr sollte es funktionieren.

uname
Beiträge: 12046
Registriert: 03.06.2008 09:33:02

Re: Network-Manager, Standby und kein WLAN, da Treiber nicht entladen

Beitrag von uname » 07.10.2017 12:26:11

Danke für die Antwort. Im Verzeichnis /lib/systemd/system-sleep habe ich das Script "wakeon_suspend.sh" gefunden, welches in etwa deine Funktionalität enthält. Leider weiß ich nicht mehr woher es kam. Interessant war, dass es manuell aufgerufen entsprechend funktionierte.

Nach etwas Suche habe ich dann noch folgendes gefunden:

https://wiki.debian.org/Suspend
(naja eigentlch der erste Treffer wenn man schon mal ernsthaft sucht)

Wichtig war aber eigentlich, dass man wohl Suspend per systemd aktivieren und deaktivieren kann. Daher habe ich es gemäß Anleitung (erneut oder zum ersten Mal) aktiviert.

Code: Alles auswählen

systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
Dann habe ich noch Debianpm-utils wieder runtergeworfen und nun scheint es zu funktionieren.


Wahrscheinlich war es so:
Mit dem Dist-Upgrade von Wheezy auf Jessie kam systemd dazu. Das habe ich damals nicht gemocht und vielleicht lief dann in Jessie der Standby-Modus noch über eine andere Funktionalität, die nun mit Stretch nicht mehr existierte oder fehlerhaft war.

Problem somit erst mal gelöst. Danke für den Hinweis auf /lib/systemd/system-sleep

hackbird
Beiträge: 1
Registriert: 16.10.2017 22:01:47

Re: [gelöst] Network-Manager, Standby und kein WLAN, da Treiber nicht entladen

Beitrag von hackbird » 16.10.2017 22:07:59

Hallo smutbert,

habe heute deinen Beitrag gefunden und ich habe ein ähnliches Problem wie uname.
Mein Problem ist, dass ich auf meiner NAS mit openmediavault 3 einen TVHeadend Server laufen habe mit einer DVBC PCIe TV Karte.
Wenn ich nun in den suspend/suspend-hybrid gehe und dann wieder starte meine TV Karte nicht mehr geht.
Nun habe ich das folgende service script gebastelt, was aber leider nicht automatisch funktioniert. Erst wenn ich das script manuel im Terminal starte geht die Karte wieder. Hier mal das script:

Code: Alles auswählen

[Unit]
Description=Restart tvheadend and dvbc
Before=sleep.target
Before=hybrid-sleep.target
Before=suspend.target
Before=hibernate.target
StopWhenUnneeded=yes
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/systemctl stop tvheadend.service ; /sbin/modprobe -r cx23885
ExecStop=/sbin/modprobe -a cx23885 ; /bin/systemctl start tvheadend.service
[Install]
WantedBy=sleep.target
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target
Habe ich irgendwo einen Denkfehler?

Antworten