Wi-Fi не работает после приостановки после обновления 16.04


149

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


6
Вы сообщили об ошибке на панели запуска для решения проблемы ???
APOS


Похоже, эта проблема существует с Ubuntu 14 .
Дан Даскалеску

Это никогда не случалось под 14.04 LTS для меня. Обновление до 16.04 LTS настолько велико, что я сохраню его, но оно все время забывает мой пароль WiFi. Сервис явно работает; просто он забывает пароль и не подключается. Я разместил это: askubuntu.com/questions/934958/… - и я не хочу иметь дело с черным списком или чем-то странным.
SDsolar

Ответы:


176

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

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


2
Вы пытались просто удалить WICD?
Йоаким Коед

6
Я бы сказал, не беспокойтесь переустановить для этого. Я сделал чистую установку, и я столкнулся с этой проблемой 16.04. Никогда не было проблем с 14.04.
Майкл Мартин-Smucker

3
Иногда это работает, а иногда нет :(
Токам

1
@mikeymop Я тоже так думал. Я знаю, что некоторые части системы все еще используют выскочку, так что это может вызвать что-то. Поскольку 16.10 является полным systemd и не имеет ошибки, вы можете быть правы.
Иоаким Коед

1
Как я могу удалить это, это не будет работать в моей системе
предложение не может отклонить

15

@ 147pm Ты когда-нибудь работал?

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

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

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

$ sudo systemctl restart network-manager.service

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

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

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

Вай-фай:

$ 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 восстановился (после приостановки / пробуждения) без перезагрузки.

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

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

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

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


1
У меня также есть сеть RTL8111 / 8168/8411 и я sudo rmmod r8169 && sudo modprobe r8169решил проблему.
lenooh

Та же проблема на Debian 9 с KDE. Переустановка как указано выше исправлена. Благодаря тонну.
sumitkm

Мой компьютер * также имеет сетевое устройство RTL8111 / 8168/8411 и, sudo rmmod r8169 && sudo modprobe r81691наконец, исправил проблему для меня. Не было этой проблемы до версии ядра 4.16. (* Debian 10 с GNOME, Kernel 4.16 и проприетарной прошивкой от Realtek )
ossbuntu

работал для меня Archlinux с ath10k_pci
NoOne

6

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

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

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

Источник: https://askubuntu.com/a/92235/30266 .


2
У service NetworkManager restartменя сработало, но размещение сценария не сработало (16.04). Я должен был переместить сценарий в /lib/systemd/system-sleep/script-name-here. В этом случае первым аргументом скрипта является [pre | post], поэтому мне пришлось изменить оператор case на case "${1}" in ... post) .... Я также завернул внутреннее утверждение в case "${2}" in ... suspend) ....
Честер

1
Должно быть /lib/systemd/system-sleep/на 15.04+
17

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и start.
  • Отключить Wi-Fi в пользовательском интерфейсе; подождите несколько секунд; включи его

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


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

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

После этого вы можете проверить статус с: systemctl status wifi-resume.service


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!


1

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

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

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



0

У меня была та же самая проблема, соединяющаяся с моим домашним Wi-Fi после приостановки. Пробовал различные другие предложенные ответы, которые иногда работают, но не всегда.

В конце концов следующее исправление позволило последовательно подключаться к Wi-Fi:

1) Отредактируйте этот файл:

sudo vim /etc/NetworkManager/NetworkManager.conf

2) Добавив это к нему:

[device]
wifi.scan-rand-mac-address=no

0

Теперь наверное просто

sudo apt update
sudo apt upgrade

должно сработать.

В моем случае среди обновленных пакетов был bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.3)и после этого обновления wifi снова работает.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.