So verhindern Sie den WLAN-Schlaf nach dem Suspendieren

14

Jedes Mal, wenn ich meinen Notebookdeckel öffne, muss ich ein paar Sekunden warten, bis die WLAN-Verbindung wiederhergestellt ist. Ich erinnere mich, dass es in Windows bereits verbunden war. Ich brauche eine Möglichkeit, um zu verhindern, dass das WLAN beim Anhalten getrennt wird.

Die am ehesten gefundene Antwort war /ubuntu//a/961460/613425, aber es hat nicht funktioniert. Ich habe auch versucht, die iwconfig wlan0 poweroffin der Antwort, aber es hat nicht einmal vor dem Neustart funktioniert.

Guerlando OKs
quelle
Im Gegensatz zu der Frage, die Sie oben gestellt haben, ist Ihr WLAN nicht instabil. Die Verbindung wird hergestellt und funktioniert einwandfrei, nachdem Sie den Deckel geöffnet und den Laptop aus dem Ruhezustand geweckt haben. Sie möchten, dass die WLAN-Verbindung schneller hergestellt wird. Was würde passieren, wenn Sie Ihren Laptop 20 Meilen bewegen, während er schläft? Würde es immer noch verbunden bleiben?
user68186
@ user68186 es bleibt nie verbunden, auch nicht an der gleichen stelle, nachdem ich den deckel wieder geöffnet habe. Ich muss warten, bis die Verbindung wieder hergestellt ist.
Guerlando OCs
Meinen Sie damit, dass es niemals verbunden bleibt, während es schläft? Ich kannte einmal jemanden, der im Schlaf redete, aber mein Laptop macht das nicht. Ich glaube nicht, dass das, was du willst, möglich ist, wenn du deinen Laptop nicht ganz einschläfst.
user68186
1
@SebastianStark Razer Blade Stealth 2016 12.5 ". Es hatte das gewünschte Verhalten auf Windows
Guerlando OKs
1
Was ist die Ausgabe zu iwconfig? Bitte bearbeiten Sie Ihre Frage, um die Ausgabe dort statt hier in den Kommentaren bereitzustellen.
Fabby

Antworten:

14

Es gibt zwei Möglichkeiten, WLAN nach dem Schlafen zu aktivieren. Der erste ist ein allgemeiner Patch für Network Manager, wie Sie sehen können, den ich durch Auflisten der Datei erstellt habe:

Deaktivieren oder aktivieren Sie die Stromersparnis wie unten dargestellt:

$ cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 3
# Slow sleep fix: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041
#wifi.powersave = 2
  • Bearbeiten Sie die oben gezeigte Network Manager-Datei.
  • Wechseln Sie WiFi.powersavevon 2zu 3(Energiesparmodus aktivieren).
  • Wenn dies bereits eingestellt ist, 3versuchen Sie es mit 2(Deaktivieren des Energiesparmodus).
  • Nach dem Speichern der Datei ausführen sudo systemctl restart NetworkManager

Das zweite systemdSkript lädt das WLAN-Kernelmodul neu, wenn der Suspend-Vorgang fortgesetzt wird. Es kommt von dieser Antwort: Wifi verfügbare Netze, die nicht plötzlich auftauchen :

Dieses Skript wurde für iwlwifi geschrieben. Dies ist der gebräuchliche Intel-Treibername. Wenn Ihre anders ist, ändern Sie diesen Namen unten:

#!/bin/sh

# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi which can be flakey after a long suspend.
# DATE: Apr 1, 2017. Modified August 30, 2017.

MYNAME=$0

restart_wifi() {
    /usr/bin/logger $MYNAME 'restart_wifi BEGIN'
    /sbin/modprobe -v -r iwldvm # This removes iwlwifi too
    /sbin/modprobe -v iwlwifi   # This starts iwldvm too
#    systemctl restart NetworkManager.service
    /usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
    /usr/bin/logger $MYNAME 'restart_wifi END'
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
    hibernate|suspend|pre*)
      ;;
    resume|thaw|post*)
      restart_wifi;;
esac

HINWEIS: Manchmal genügt es, den Netzwerkmanager einfach zurückzusetzen. In diesem Fall entfernen Sie den Kommentar in der obigen Zeile #. Kommentieren Sie dann die beiden darüber stehenden Zeilen aus, indem Sie sie #an den Anfang dieser beiden Zeilen setzen.

Sie müssen dieses Skript, das aufgerufen wird iwlwifi-reset, mit sudoBefugnissen erstellen und im Verzeichnis speichern /lib/systemd/system-sleep. Dann markieren Sie es ausführbar mit:

chmod a+x /lib/systemd/system-sleep/iwlwifi-reset
WinEunuuchs2Unix
quelle
hatte das gleiche problem mit fedora 31 + xfce (nicht mit gnome shell), der erste weg löste es.
Jherek
2

Ich denke, es hängt mit systemd zusammen. Sie können ein Skript erstellen, das das WLAN-Gerät nach dem Anhalten startet. Versuchen Sie es einfach zuerst manuell.

Ramy Samy
quelle
2

Erstellen Sie zuerst ein neues Skript und machen Sie es ausführbar.

sudo touch /usr/lib/pm-utils/sleep.d/wakewifi
sudo chmod a+x /usr/lib/pm-utils/sleep.d/wakewifi

Bearbeiten Sie dann das Skript

sudo nano /usr/lib/pm-utils/sleep.d/wakewifi

und lassen Sie es so aussehen.

 #!/bin/sh

    case "$1" in
        resume)
            nmcli radio wifi on
    esac

Um sicherzustellen, dass nmcli radio wifi on der richtige Befehl ist, versuchen Sie, in den Energiesparmodus zu wechseln, den Computer zu starten und zu tun

sudo nmcli radio wifi on

Wenn Ihr Computer dann eine Verbindung zum richtigen WLAN herstellt, ist dies möglicherweise eine optionale Lösung für Sie. Ihr Computer sollte sich automatisch verbinden. zu Ihrem gespeicherten WLAN-Zugangspunkt.

BD Bär
quelle