WiFi все еще спит, когда возобновить

Когда я ставлю свой рабочий стол в Hybernate, а затем положить его обратно на Wi-Fi ушел. Это похоже на проблему, описанную здесь. Но чтобы это исправить, нужно запустить команду sudo nmcli nm sleep false, Но nm вещь больше не работает. Он был удален из nmcli (опишите здесь). Так что вы могли бы сделать, чтобы это исправить?

Я использую Ubuntu GNOME 4.2

4 ответа

Решение

Пожалуйста, откройте терминал и сделайте:

gksudo gedit  /etc/systemd/system/wifi-resume.service

Используйте nano, kate или leafpad, если у вас нет текстового редактора gedit. Новый пустой файл откроется. Добавьте следующее:

[Unit]
Description=Local system resume actions
After=suspend.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service

[Install]
WantedBy=suspend.target

Дважды внимательно прочитайте, сохраните и закройте текстовый редактор.

Теперь сделайте:

sudo chmod +x  /etc/systemd/system/wifi-resume.service

И следующее:

sudo systemctl enable wifi-resume.service

Я предлагаю вам перезагрузиться. Протестируйте и дайте нам услышать ваш отчет.

У меня сработало

#!/bin/sh

case $1 in
    resume|thaw)
      nmcli radio wifi off && nmcli radio wifi on;;
esac

сопровождаемый sudo chmod +x /etc/pm/sleep.d/10_resume_wifi

Также пользователь может попробовать, если первое не удается.

#!/bin/sh

case $1 in
    post|resume|thaw)
      nmcli radio wifi off && nmcli radio wifi on;;
esac 

Другое решение, похожее на NMCli Tristan T, на которое ссылается этот вопрос (без NM, что больше не является вариантом, как упомянул Тристан):

nmcli radio wifi on

Я использовал ответ Owais Lone на аналогичный вопрос, чтобы включить автоматическое возобновление работы Wi-Fi после приостановки для моего ноутбука (Dell Precision) 16.04 LTS.

Я создал /etc/pm/sleep.d/10_resume_wifi

#!/bin/sh

case "${1}" in
    resume|thaw)
      nmcli radio wifi off && nmcli radio wifi on;;
esac

с последующим sudo chmod +x /etc/pm/sleep.d/10_resume_wifi сделать файл исполняемым.

Если вам интересно узнать о двойных точках с запятой или об одиночной закрывающей скобке, как я, см. http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_03.html - так работает синтаксис кейса,

Принятый ответ в этой теме не сработал для меня, не сработало ни одно из альтернативных решений. Мне пришлось добавить следующий служебный файл как /etc/systemd/system/wifi-resume.service

      [Unit]
Description=Restart Network Manager at resume (after suspend)
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target
[Service]
Type=oneshot
# note: the following also unloads iwlwifi
ExecStart=/usr/sbin/modprobe -r iwldvm
# note: the following also loads iwldvm
ExecStart=/usr/sbin/modprobe iwlwifi
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

а затем включить с помощью sudo systemctl enable wifi-resume.service

В качестве резервной копии при тестировании вышеизложенного я создал скрипт bash со следующим

      #!/bin/bash
echo {MY_PASSWORD} | sudo -S modprobe -r iwldvm
echo {MY_PASSWORD} | sudo -S modprobe iwlwifi
echo {MY_PASSWORD} | sudo -S service network-manager restart
notify-send "Wifi: reloaded."
exit

И привязал его к пользовательскому сочетанию клавиш.

Другие вопросы по тегам