Wifi nie działa po zawieszeniu po aktualizacji 16.04


149

Ta konkretna wersja „nie działa po zawieszeniu” pojawiła się po aktualizacji do 16.04. Wydaje się, że aktualizacja zawiera aplet Wicd (dodany do paska zadań Metacity Classic Gnome wraz ze zwykłą ikoną sieci), ale wydaje się, że nie działa po zawieszeniu. sudo service network-manager restartPowiela ten problem. Ponowne uruchomienie Wi-Fi wymaga pełnego ponownego uruchomienia. Jakieś pomysły dlaczego?


6
Czy zgłosiłeś błąd w starterze dla problemu?
APOS


Wygląda na to, że ten problem istnieje już od Ubuntu 14 .
Dan Dascalescu

To nigdy nie wydarzyło się dla mnie poniżej 14,04 LTS. Uaktualnienie do 16.04 LTS jest tak świetne, że go zatrzymam, ale wciąż zapomina moje hasło Wi-Fi. Usługa jest wyraźnie uruchomiona; po prostu zapomina hasła i nie łączy się. Opublikowałem to: askubuntu.com/questions/934958/... - i nie chcę zajmować się czarną listą ani niczym dziwnym.
SDsolar

Odpowiedzi:


176

16.04 działa na systemd. Spróbuj wykonać następujące czynności:

sudo systemctl restart network-manager.service

Jeśli to zadziała, możesz utworzyć skrypt, aby go zautomatyzować.

Otwórz terminal i wpisz następujące polecenie:

sudo nano /etc/systemd/system/wifi-resume.serviceTeraz wklej tam skrypt prawym przyciskiem myszy. Wyjdź za pomocą CTRL + X i naciśnij Y, aby zapisać. Teraz, aby go aktywować:sudo systemctl enable wifi-resume.service

Scenariusz:

#/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

Mam nadzieję że to pomoże. Działa na moim laptopie.


2
Czy próbowałeś po prostu odinstalować WICD?
Joakim Koed

6
Powiedziałbym, że nie przejmuj się ponowną instalacją. Zrobiłem czystą instalację i pracuję nad tym problemem 16.04. Nigdy nie miałem problemu z 14.04.
Michael Martin-Smucker

3
Czasami działa, a czasem nie :(
tokam

1
@mikeymop Też o tym myślałem. Wiem, że niektóre części systemu nadal korzystają z upstartu, więc to może coś uruchomić. Ponieważ wersja 16.10 jest pełna i nie zawiera błędu, być może masz rację.
Joakim Koed

1
Jak mogę to usunąć, to nie zadziała w moim systemie
oferta nie może odmówić

15

@ 147pm Czy kiedykolwiek działało to?

Odkryłem, że mam dość podobny problem, chociaż korzystam z Kubuntu 16.10 (opartego na KDE, nie Gnome) i z laptopem HP ProBook. I w przeciwieństwie do ciebie, to nie moje Wi-Fi zginęło po zawieszeniu / wybudzeniu, ale mój port Ethernet. Mimo to zastanawiam się, czy są ze sobą powiązane.

Widzę też, że nie masz problemu z KDE. Chciałbym jednak wiedzieć, czy poniższe rozwiązanie nie pomaga w Gnome, ponieważ nie jest oparte na menedżerze okien, środowisku pulpitu ani apletach.

Po pierwsze, aby potwierdzić, że ponowne uruchomienie usługi menedżera sieci ..

$ sudo systemctl restart network-manager.service

nie działało dla mnie.

Znalazłem jednak odpowiedź, która zadziałała, dzięki pytaniu buzhidao i informacjom o nie można połączyć się z Internetem po zawieszeniu i komentarzu GAD3R.

Korzystając z ich informacji, odkryłem, że najpierw sprawdziłem, który sprzęt Ethernet i sterownik / moduł używam, a następnie usunąłem i ponownie załadowałem ten moduł, działało dla mnie (chociaż nie dla buzhidao):

Wi-Fi:

$ lspci -knn | grep Net -A2

Ethernet:

$ lspci -knn | grep Ether -A2

Drugiego z nich (ethernet) użyłem i znalazłem:

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

więc ponownie załadowałem sterownik „r8169”:

$ sudo rmmod r8169 && sudo modprobe r8169

i voila! To zadziałało. Mój port Ethernet / połączenie wróciło do życia (po zawieszeniu / wznowieniu) bez konieczności ponownego uruchamiania.

(Ja również NIE miałem urządzenia Realtek Wi-Fi, ale Qualcomm Atheros (mod: ath9k), co może wyjaśnia, dlaczego Wi-Fi nadal działało dla mnie po przebudzeniu).

Jak widać z mojego komentarza do tego drugiego postu, zastanawiałem się, czy problem jest wspólnym elementem między Buzhidao a mną: urządzeniami Realtek Semiconductor. Mimo że używają różnych modułów, mogą dzielić jakiś wspólny kod? Lub może być w jakiś sposób traktowany inaczej przez nowszy kod jądra?

Czy sam masz urządzenie Wi-Fi oparte na Realtek? (używając lspci powyżej)? Czy masz szczęście ponownie instalując moduł (rmmod / modprobe powyżej)?

Tak czy inaczej, tylko strzał w ciemność. Jeśli znalazłeś ostateczną odpowiedź dla siebie, daj nam znać! Dzięki.


1
Mam również ethernet RTL8111 / 8168/8411 i sudo rmmod r8169 && sudo modprobe r8169rozwiązałem problem.
lenooh

Ten sam problem na Debianie 9 z KDE. Ponowna instalacja jak wyżej to naprawiła. Wielkie dzięki.
sumitkm

Mój komputer * również ma urządzenie ethernetowe RTL8111 / 8168/8411 i sudo rmmod r8169 && sudo modprobe r81691ostatecznie rozwiązał problem. Nie miałem tego problemu przed wersją jądra 4.16. (* Debian 10 z GNOME, jądrem 4.16 i zastrzeżonym oprogramowaniem układowym od Realtek )
ossbuntu

pracował dla mnie archlinux z ath10k_pci
nikt

6

Aby automatycznie zrestartować NetworkManager po wznowieniu w środowisku bez sudodostępu, utwórz skrypt w /etc/pm/sleep.d(dowolnej nazwie), ustaw bit wykonywalny poprzez chmod +xi wstaw następującą treść:

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

Dla mnie servicelinia działała, ale systemctlmoże działać lepiej dla Ciebie.

Źródło: https://askubuntu.com/a/92235/30266 .


2
service NetworkManager restartPracował dla mnie, ale umieszczenie skryptu nie zrobił (na 16.04). Musiałem przenieść skrypt do /lib/systemd/system-sleep/script-name-here. W tym przypadku pierwszym argumentem skryptu jest [pre | post]więc musiałem zmienić instrukcję case na case "${1}" in ... post) .... Owinęłam również wewnętrzne oświadczenie case "${2}" in ... suspend) ....
Chester

1
Powinien być /lib/systemd/system-sleep/dla 15.04+
qwr

2

Dla mnie wydaje się to losowe, ale czasami Wi-Fi rozłącza się, jeśli jestem podłączony, lub nie pokazuje sieci, jeśli nie jestem. Czasami przełączenie laptopa w tryb uśpienia wydaje się go wyzwalać, ale nie zawsze.

Niektóre kombinacje tych zazwyczaj powodują ponowne uruchomienie bez ponownego uruchamiania:

  • sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
  • sudo service network-manager stop; sleep 5; sudo service network-manager start
    • Zwykłe dzwonienie restarttutaj nigdy nie działa dla mnie. Wygląda na to, że próbuje go uruchomić, zanim skończy się go wyłączać, dlatego mam więcej szczęścia, pauzując między stopa start.
  • Wyłącz Wi-Fi w interfejsie użytkownika; poczekaj kilka sekund; włącz to ponownie

Żaden z nich nie wydaje się konsekwentnie działać, ale najpierw wymieniłem je w kolejności najbardziej prawdopodobnych sukcesów.


2

Metoda pracy na Ubuntu 16.04:

Utwórz usługę: sudo nano /lib/systemd/system/wifi-resume.service

Usługa wywołuje program z:
/etc/init.d/network-manager

Wklej kod:

#/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

Następnie włącz usługę:

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

Spowoduje to utworzenie dowiązań symbolicznych do wskazanych katalogów [Install] / etc / systemd / system i aktywuje usługę

Następnie możesz sprawdzić status za pomocą: systemctl status wifi-resume.service


1

Miałem ten sam problem z bluetooth: po zawieszeniu moja mysz bluetooth nie działała. Więc wyprowadziłem rozwiązanie z powyższego:

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

włączył nową usługę

sudo systemctl enable bluetooth-resume.service

i edytowałem usługę

#/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

Próbowałem także edytować ...

sudo nano /etc/bluetooth/main.conf

i zmienił się

AutoEnable=true

Ale to NIE działało w przypadku „problemu wznowienia” i nie miało żadnego wpływu na nowe urządzenia Bluetooth!


1

Miałem ten sam problem na moim laptopie Dell Inspiron 15R z Ubuntu 16.04. Dla mnie zadziałał skrypt zgłoszony przy drugiej odpowiedzi .

Po zainstalowaniu skryptu wypróbowałem zawieszenie za pomocą polecenia w prawym górnym menu, a nawet zamknąłem wargę, rozwiązując problem.

Muszę powiedzieć, że problem występował naprzemiennie w jego zachowaniu (to znaczy czasami działał przed zainstalowaniem skryptu).



0

Po zawieszeniu miałem ten sam problem z nawiązaniem połączenia z domowym Wi-Fi. Próbowałem różnych innych sugerowanych odpowiedzi, które czasami działały, ale nie zawsze.

Ostatecznie następująca poprawka pozwoliła na stałe połączenie z Wi-Fi:

1) Edytuj ten plik:

sudo vim /etc/NetworkManager/NetworkManager.conf

2) Dodając do tego:

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

0

Teraz prawdopodobnie proste

sudo apt update
sudo apt upgrade

powinno działać.

W moim przypadku wśród uaktualnionych pakietów było bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.3)i po tej aktualizacji wifi znów działa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.