Wi-Fi не работает после приостановки после обновления 16.04
Эта конкретная версия "не работает после приостановки" появилась после обновления до 16.04. Похоже, что обновление включает в себя апплет Wicd (добавленный в панель задач Metacity Classic Gnome вместе с обычным значком сети), но после приостановки он не работает. sudo service network-manager restart
дублирует эту проблему. Требуется полная перезагрузка, чтобы снова запустить Wi-Fi. Есть идеи почему?
10 ответов
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
Надеюсь это поможет. Это работает на моем ноутбуке.
@147pm Ты когда-нибудь работал?
Я обнаружил, что у меня была довольно похожая проблема, хотя я использую Kubuntu 16.10 (на базе KDE, а не Gnome) и с ноутбуком HP ProBook. И, в отличие от вас, не мой Wi-Fi, который умер после приостановки / пробуждения, а мой порт Ethernet. Тем не менее, мне интересно, связаны ли они.
Я также вижу, что у вас нет проблемы под KDE. Но мне было бы интересно узнать, поможет ли приведенное ниже решение в Gnome, поскольку оно не основано на оконном менеджере, среде рабочего стола или апплетах.
Для начала просто подтвердите, что перезапускаете службу сетевого менеджера.
$ sudo systemctl restart network-manager.service
не работал для меня.
Тем не менее, я нашел ответ, который сработал, потому что вопрос и информация Бужидао не могут подключиться к Интернету после приостановки и комментария GAD3R.
Используя их информацию, я обнаружил, что первое исследование, какое оборудование Ethernet и драйвер / модуль, который я использую, а затем удаление и переустановка этого модуля, сработало для меня (хотя это не относится к бужидао):
Wi-Fi:
$ 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 выше)?
Во всяком случае, просто выстрел в темноте. Если вы нашли ответ на свой вопрос, сообщите нам! Спасибо.
Для автоматического перезапуска NetworkManager после возобновления в среде без sudo
доступ, создать скрипт в /etc/pm/sleep.d
(любое имя), установите исполняемый бит через chmod +x
и вставьте следующее содержание:
case "${1}" in
resume|thaw)
# systemctl restart network-manager.service
service NetworkManager restart
;;
esac
Для меня service
линия работала, но systemctl
может работать лучше для вас.
Источник: /questions/377605/kak-vyipolnit-komandu-posle-vozobnovleniya-iz-priostanovit/377623#377623.
Для меня это кажется случайным, но иногда 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 в пользовательском интерфейсе; подождите несколько секунд; включи его
Кажется, что ни один из них не работает последовательно, но я перечислил их в порядке вероятности успеха в первую очередь.
Метод работы на 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
Запустите эти команды одну за другой в Терминале
sudo nano /lib/systemd/system-sleep/wififix
- Теперь вставьте приведенный ниже код и сохраните его.
!/bin/sh
set -e
if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
case "$1" in
pre) true ;;
post) sleep 1 && service network-manager restart ;;
esac
fi
sudo chmod +x /lib/systemd/system-sleep/wififix
Протестировано на Ubuntu 20.04 Focal Fossa, также работает над другими версиями Mint и Elementary.
У меня была такая же проблема на моем ноутбуке Dell Inspiron 15R с Ubuntu 16.04. У меня сработал сценарий, сообщенный по второму ответу.
После установки скрипта я попробовал приостановку с помощью команды в верхнем правом меню и даже закрыл губу, решив проблему.
Я должен сказать, что проблема менялась в своем поведении (то есть иногда это работало до установки скрипта).
У меня была такая же проблема с 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!
Для меня решение было запустить
nmcli nm sleep false
в терминале
У меня была та же самая проблема, соединяющаяся с моим домашним Wi-Fi после приостановки. Пробовал различные другие предложенные ответы, которые иногда работают, но не всегда.
В конце концов следующее исправление позволило последовательно подключаться к Wi-Fi:
1) Отредактируйте этот файл:
sudo vim /etc/NetworkManager/NetworkManager.conf
2) Добавив это к нему:
[device]
wifi.scan-rand-mac-address=no
У меня была такая же проблема на Ubuntu 20.04. Я пробовал приведенные выше решения, которые не работали с моим адаптером Intel 6235.
Вместо этого случайные веб-поиски привели меня к решению:
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi
sudo systemctl restart NetworkManager
Это решает проблему до следующей приостановки.
Теперь наверное просто
sudo apt update
sudo apt upgrade
должно сработать.
В моем случае среди обновленных пакетов было bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.3)
и после этого обновления Wi-Fi снова работает.