Jak zapobiec uśpieniu Wi-Fi po zawieszeniu

14

Za każdym razem, gdy otwieram pokrywę notebooka, muszę odczekać kilka sekund na ponowne połączenie Wi-Fi. Pamiętam, że w Windows był już podłączony. Potrzebuję sposobu, aby zapobiec rozłączaniu się Wi-Fi po zawieszeniu.

Najbliższa odpowiedź, jaką znalazłem, to /ubuntu//a/961460/613425, ale to nie zadziałało. Próbowałem również iwconfig wlan0 poweroffw odpowiedzi, ale nie zadziałało nawet przed ponownym uruchomieniem.

Guerlando OC
źródło
Tak więc, w przeciwieństwie do pytania, które podałeś powyżej, twoje WiFi nie jest niestabilne. Łączy się i działa dobrze po otwarciu pokrywy i wybudzeniu laptopa ze snu. Chcesz, aby WiFi łączyło się szybciej. Co stałoby się, gdybyś przeniósł laptopa na odległość 20 mil podczas snu? Czy nadal pozostanie podłączony?
user68186
@ user68186 nigdy nie pozostaje podłączony, nawet w tym samym miejscu po ponownym otwarciu pokrywy. Muszę czekać na ponowne połączenie.
Guerlando OC
Czy masz na myśli, że nigdy nie pozostaje podłączony podczas snu? Kiedyś znałem kogoś, kto rozmawiał podczas snu, ale mój laptop tego nie robi. Nie sądzę, że to, czego chcesz, jest możliwe, chyba że całkowicie powstrzymasz komputer od spania.
user68186
1
@SebastianStark Razer Blade Stealth 2016 12.5 ". Miał pożądane zachowanie w
systemie
1
Jaka jest wydajność iwconfig? Proszę edytować swoje pytanie, aby zapewnić wyjście tam zamiast tutaj w komentarzach.
Fabby,

Odpowiedzi:

14

Istnieją dwa sposoby włączenia Wi-Fi po zaśnięciu. Pierwszy to wspólna łatka do Network Managera, jak widać, zrobiłem, wymieniając plik:

Wyłącz lub włącz oszczędzanie energii, jak pokazano poniżej:

$ 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
  • Edytuj plik Menedżera sieci pokazany powyżej.
  • Zmień WiFi.powersavez 2na 3(Włącz oszczędzanie energii).
  • Jeśli jest już ustawiony, 3spróbuj ustawić go na 2(Wyłącz oszczędzanie energii).
  • Po zapisaniu uruchom plik sudo systemctl restart NetworkManager

Drugi to systemdskrypt, który ponownie ładuje moduł jądra WiFi po wznowieniu z zawieszenia. Wywodzi się z tej odpowiedzi: Dostępne sieci Wi-Fi nie pojawiają się nagle :

Ten skrypt jest napisany dla iwlwifi`, która jest popularną nazwą sterownika Intel. Jeśli twój jest inny, zmień jego nazwę poniżej:

#!/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

UWAGA: Czasami wystarczy zresetować menedżera sieci. W takim przypadku usuń komentarz z powyższej linii, usuwając #. Następnie skomentuj dwie linie powyżej, umieszczając #na początku tych dwóch linii.

Musisz stworzyć ten skrypt, zwany iwlwifi-reset, z sudomocami i zapisać go w katalogu /lib/systemd/system-sleep. Następnie oznacz go jako wykonywalny za pomocą:

chmod a+x /lib/systemd/system-sleep/iwlwifi-reset
WinEunuuchs2Unix
źródło
miał ten sam problem z Fedorą 31 + XFCE (nie z powłoką gnome), pierwszy sposób to rozwiązał.
jherek
2

Myślę, że jest to związane z systemd. Możesz utworzyć skrypt, który uruchamia urządzenie Wi-Fi po zawieszeniu. Najpierw spróbuj to zrobić ręcznie.

Ramy Samy
źródło
2

Najpierw zapisz nowy skrypt i wykonaj go.

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

Następnie edytuj skrypt

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

i spraw, by wyglądało to mniej więcej tak.

 #!/bin/sh

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

aby upewnić się, że nmcli radio wifi jest prawidłowe, spróbuj przejść do trybu uśpienia, uruchom komputer i zrób to

sudo nmcli radio wifi on

jeśli komputer połączy się z prawidłowym Wi-Fi, może to być dla Ciebie opcjonalne rozwiązanie. komputer powinien się automatycznie połączyć. do zapisanego punktu dostępu Wi-Fi.

BD Bear
źródło