Є два способи включення Wi-Fi після сну. Перший - це звичайний патч для Менеджера мережі, як ви бачите, що я зробив, перерахувавши файл:
Вимкніть або увімкніть економію електроенергії, як показано нижче:
$ 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
- Відредагуйте файл мережевого менеджера, показаний вище.
- Перехід
WiFi.powersave
від 2
на 3
(Увімкнути економію енергії).
- Якщо це вже встановлено,
3
спробуйте встановити його 2
(Вимкнути економію енергії).
- Після збереження запустіть файл
sudo systemctl restart NetworkManager
Другий - це systemd
сценарій, який перезавантажує модуль ядра WiFi при поновленні з призупинення. Це випливає з цієї відповіді: доступні мережі Wi-Fi не з’являються раптово :
Цей сценарій написаний для iwlwifi`, що є загальною назвою драйверів Intel. Якщо ваш інший, змініть це ім'я нижче:
#!/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
ПРИМІТКА. Іноді просто необхідне скидання мережевого менеджера - все, що потрібно. У такому випадку відмініть коментар рядок вище, видаливши #
. Потім прокоментуйте два рядки над ним, поставивши #
на початку цих двох рядків.
Вам потрібно буде створити цей скрипт, який називається iwlwifi-reset
, з sudo
повноваженнями і зберегти його в каталозі /lib/systemd/system-sleep
. Потім позначте його виконуваним за допомогою:
chmod a+x /lib/systemd/system-sleep/iwlwifi-reset