Как предотвратить сон wifi после приостановки

14

Каждый раз, когда я открываю крышку ноутбука, мне приходится ждать несколько секунд, пока Wi-Fi не подключится. Я помню, что в Windows он уже был подключен. Мне нужен способ предотвратить отключение Wi-Fi при приостановке.

Самый близкий ответ, который я нашел, был /ubuntu//a/961460/613425, но он не работал. Я также попробовалiwconfig wlan0 poweroff в ответе, но это не сработало даже до перезагрузки.

ОК Герландо
источник
Таким образом, в отличие от вопроса, который вы указали выше, ваш WiFi не является нестабильным. Он подключается и работает нормально после того, как вы откроете крышку и разбудите ноутбук из сна. Вы хотите, чтобы WiFi подключался быстрее. Что произойдет, если вы переместите свой ноутбук на 20 миль, пока он спит? Будет ли оно оставаться подключенным?
user68186
@ user68186 он никогда не остается подключенным, даже в том же месте, когда я снова открываю крышку. Я должен ждать, пока он подключится снова.
OCs Guerlando
Вы имеете в виду, что он никогда не остается на связи, пока он спит? Однажды я знал кого-то, кто говорил во сне, но мой ноутбук этого не делает. Я не думаю, что то, что вы хотите, возможно, если вы не остановите свой ноутбук от полного сна.
user68186
1
@SebastianStark Razer Blade Stealth 2016 12.5 ". У него было желаемое поведение на Windows
OCs Guerlando
1
Какой выход iwconfig? Пожалуйста, отредактируйте свой вопрос, чтобы обеспечить вывод там, а не здесь, в комментариях.
Fabby

Ответы:

14

Есть два способа включения WiFi после сна. Первый - это общее исправление для Network Manager, как вы можете видеть из списка файлов:

Выключите или включите энергосбережение, как показано ниже:

$ 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
  • Отредактируйте файл Network Manager, показанный выше.
  • Изменить WiFi.powersaveс 2на3 (Enable энергосбережения).
  • Если он уже настроен, 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
WinEunuuchs2Unix
источник
была такая же проблема с Fedora 31 + XFCE (не с оболочкой gnome), первый путь решил ее.
Джерек
2

Я думаю, что это связано с systemd. Вы можете сделать скрипт, который запускает устройство Wi-Fi после приостановки. Просто попробуйте сначала сделать это вручную.

Рами Сами
источник
2

Сначала создайте новый скрипт и сделайте его исполняемым.

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

Затем отредактируйте скрипт

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

и заставить его выглядеть примерно так

 #!/bin/sh

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

чтобы убедиться в правильности команды nmcli radio wifi on , попробуйте перейти в спящий режим, запустить компьютер и выполнить

sudo nmcli radio wifi on

если ваш компьютер подключится к правильному Wi-Fi, это может быть дополнительным решением для вас. Ваш компьютер должен автоматически подключиться. к вашей сохраненной точке доступа Wi-Fi.

BD Bear
источник