Wifi не работает после приостановки после обновления 16.04

128

Эта конкретная версия «не работает после приостановки» появилась после обновления до 16.04. Похоже, что обновление включает в себя апплет Wicd (добавлен в панель задач Metacity Classic Gnome рядом с обычным сетевым значком), но, похоже, не работает после приостановки. A sudo service network-manager restart дублирует эту проблему. Для возобновления Wifi требуется полная перезагрузка. Любые идеи, почему?

    
задан 147pm 23.04.2016 в 11:42
источник

9 ответов

154

16.04 работает на systemd. Попробуйте следующее:

sudo systemctl restart network-manager.service

Если это сработает, вы можете создать скрипт для его автоматизации.

Откройте терминал и введите следующее:

sudo nano /etc/systemd/system/wifi-resume.service Теперь вставьте скрипт туда, щелкнув правой кнопкой мыши. Выйдите с помощью CTRL + X и нажмите Y для сохранения. Теперь, чтобы активировать его: sudo systemctl enable wifi-resume.service

Сценарий:

#/etc/systemd/system/wifi-resume.service
#sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart networkmanager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

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

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Надеюсь, это поможет. Он работает на моем ноутбуке.

    
ответ дан Joakim Koed 23.04.2016 в 13:17
13

То же самое с Lenovo X230. Не происходит после каждого приостановления, но иногда.

sudo systemctl restart network-manager.service 

устраняет проблему.

    
ответ дан Martin 24.04.2016 в 13:29
6

Чтобы автоматически перезапустить NetworkManager после возобновления в среде без доступа sudo , создайте скрипт в /etc/pm/sleep.d (любое имя), установите исполняемый бит через chmod +x и вставьте следующий контент:

case "" in
    resume|thaw)
        # systemctl restart network-manager.service
        service NetworkManager restart
;;
esac

Для меня работала service , но systemctl может работать лучше для вас.

Источник: Ссылка .

    
ответ дан krlmlr 05.11.2016 в 07:50
3

@ 147pm Вы когда-нибудь получали эту работу?

Я обнаружил, что у меня была аналогичная проблема, хотя я нахожусь на Kubuntu 16.10 (на базе KDE, а не на Gnome) и на ноутбуке HP ProBook. И, в отличие от вас, это был не мой Wifi, который умер после приостановки / пробуждения, но мой порт Ethernet. Тем не менее, мне интересно, связаны ли они.

Я также вижу, что у вас нет проблемы в KDE. Но мне было бы интересно узнать, помогает ли приведенное ниже решение под Gnome, поскольку решение не основано на оконном менеджере, среде рабочего стола или апплетах.

Во-первых, просто для подтверждения перезапуска службы сетевого менеджера.

$ sudo systemctl restart network-manager.service

не работал для меня.

Тем не менее, я нашел ответ, который сработал, благодаря вопросу и информации buzhidao на невозможно подключиться к Интернету после приостановки и комментарий GAD3R.

Используя их информацию, я обнаружил, что первое исследование того, какое оборудование ethernet и драйвер / модуль я запускаю, а затем удаление и повторная установка этого модуля, работало для меня (хотя это не для buzhidao):

Wifi:

$ lspci -knn | grep Net -A2

Ethernet:

$ lspci -knn | grep Ether -A2

Второй из них (ethernet) был тем, что я использовал, и я нашел:

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
        Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [103c:1944]
        Kernel driver in use: r8169
        Kernel modules: r8169

, поэтому я снова установил драйвер 'r8169':

$ sudo rmmod r8169 && sudo modprobe r8169

и вуаля! Это сработало. Мой Ethernet-порт / соединение возобновилось (после приостановки / пробуждения) без перезагрузки.

(У меня также не было устройства Realtek wifi, но Qualcomm Atheros (mod: ath9k), который, возможно, объясняет, почему Wi-Fi продолжал работать для меня после пробуждения от приостановки.)

Как вы можете видеть из моего комментария к этому другому сообщению, я задавался вопросом, является ли проблема общим элементом между Бужидао и мной: устройства Realtek Semiconductor. Даже если они используют разные модули, они могут иметь общий код? Или даже по-другому обрабатывать новый код ядра сейчас?

У вас есть устройство Wi-Fi на базе Realtek? (используя lspci выше)? У вас есть какая-нибудь удача в установке модуля (rmmod / modprobe выше)?

Во всяком случае, просто выстрел в темноте. Если вы нашли возможный ответ для себя, сообщите нам об этом! Thx.

    
ответ дан androclus 16.03.2017 в 22:40
2

Для меня это кажется случайным, но иногда Wi-Fi просто отключается, если я подключен, или не показывает сети, если нет. Иногда перенос моего ноутбука в спящий режим, похоже, вызывает его, но не всегда.

Некоторая комбинация из них обычно возвращает его снова без перезагрузки:

  • sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
  • %код%
    • Просто вызов sudo service network-manager stop; sleep 5; sudo service network-manager start здесь никогда не работает для меня. Похоже, он пытается запустить его, прежде чем он завершит его закрытие, поэтому мне больше повезло, когда вы переместились между restart и stop .
  • Отключите Wi-Fi в пользовательском интерфейсе; подождите несколько секунд; верните его на

Ни один из них не работает последовательно, но я перечислил их в порядке наиболее вероятного успеха.

    
ответ дан redbmk 20.12.2016 в 16:07
2

Рабочий метод на Ubuntu 16.04:

Создайте службу: sudo nano /lib/systemd/system/wifi-resume.service

Служба вызывает программу:
/etc/init.d/network-manager

Вставьте код:

#/lib/systemd/system/wifi-resume.service
#sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart network-manager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target 

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

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Затем включите службу:

sudo systemctl enable /lib/systemd/system/wifi-resume.service

Это создает символические ссылки в указанные [Установить] каталоги системы / etc / systemd / и активирует службу

Затем вы можете проверить статус с помощью: systemctl status wifi-resume.service

    
ответ дан cryptoboy 23.01.2017 в 00:59
1

У меня была такая же проблема с bluetooth: после приостановки моя мышь bluetooth не работала. Поэтому я получил решение сверху:

sudo nano /etc/systemd/system/bluetooth-resume.service

включил новую службу

sudo systemctl enable bluetooth-resume.service

и отредактировал сервис

#/etc/systemd/system/bluetooth-resume.service
#sudo systemctl enable bluetooth-resume.service
[Unit]
Description=Restart bluethooth at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart bluetooth.service

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Я также попытался отредактировать ...

sudo nano /etc/bluetooth/main.conf

и изменил

AutoEnable=true

НО это НЕ работало для «проблемы с резюме» и так или иначе не использовалось на новых устройствах bluetooth!

    
ответ дан apos 31.08.2016 в 11:11
1

У меня была такая же проблема на моем ноутбуке Dell Inspiron 15R с Ubuntu 16.04. Для меня работал сценарий, сообщенный во втором ответе .

После установки скрипта я попробовал подвеску с помощью команды в правом верхнем меню и даже закрыл губу, решив проблему.

Я должен сказать, что проблема чередовалась в его поведении (то есть, иногда это работало до установки скрипта).     

ответ дан Alessandro D'lncal 18.01.2017 в 14:58
0

Для меня решение заключалось в том, чтобы запустить

nmcli nm sleep false

в терминале

    
ответ дан tigerjack89 08.04.2017 в 11:01