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.powersave
z 2
na 3
(Włącz oszczędzanie energii).
- Jeśli jest już ustawiony,
3
spróbuj ustawić go na 2
(Wyłącz oszczędzanie energii).
- Po zapisaniu uruchom plik
sudo systemctl restart NetworkManager
Drugi to systemd
skrypt, 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 sudo
mocami 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