Як запобігти сну Wi-Fi після призупинення


14

Щоразу, коли я відкриваю кришку ноутбука, мені доведеться почекати кілька секунд, щоб Wi-Fi знову підключився. Пам’ятаю, що в Windows це вже було підключено. Мені потрібен спосіб запобігти відключенню Wi-Fi під час призупинення.

Найближча відповідь, яку я знайшов, була /ubuntu//a/961460/613425, але вона не працювала. Я також спробував iwconfig wlan0 poweroffвідповісти, але це не спрацювало навіть перед перезавантаженням.


Отже, на відміну від питання, яке ви зв'язали вище, ваш WiFi нестабільний. Він підключається і працює добре після того, як ви відкриєте кришку і розбудите ноутбук зі сну. Ви хочете, щоб WiFi швидше підключився. Що буде, коли ви пересунете ноутбук у 20 милях, поки він спить? Чи все-таки це залишиться на зв’язку?
user68186

@ user68186 він ніколи не залишається підключеним, навіть там, де я знову відкриваю кришку. Мені потрібно чекати, коли він знову підключиться.
Герлендо OC

Ви маєте на увазі, що ніколи не залишається на зв’язку, поки спить? Колись я знав когось, хто говорив під час сну, але мій ноутбук цього не робить. Я не думаю, що те, що ви хочете, можливо, якщо ви не перестанете спати ноутбук взагалі.
user68186

1
@SebastianStark Razer Blade Stealth 2016 12.5 ". Він мав бажану поведінку на windows
OC Guerlando

1
Який вихід iwconfig? Будь ласка, відредагуйте своє запитання, щоб надати висновок там, а не тут у коментарях.
Фабі

Відповіді:


14

Є два способи включення 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

була така ж проблема з Fedora 31 + XFCE (не з оболонкою gnome), перший спосіб її вирішив.
jherek

2

Я думаю, що це пов'язано з systemd. Ви можете створити сценарій, який запустить wifi-пристрій після призупинення. Спробуйте спочатку зробити це вручну.


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 - це правильна команда, спробуйте перейти в сплячий режим, запустити комп'ютер і зробити

sudo nmcli radio wifi on

якщо ваш комп'ютер потім підключиться до правильного wifi, то це може бути необов’язковим рішенням для вас. комп'ютер повинен автоматично підключитися. до збереженої точки доступу до Wi-Fi.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.