Wifi non funziona dopo la sospensione dopo l'aggiornamento 16.04


149

Questa particolare versione di "non funziona dopo la sospensione" è arrivata dopo l'aggiornamento a 16.04. Sembra che l'aggiornamento includa un'applet Wicd (aggiunta alla barra delle attività Gnome di Metacity Classic accanto all'icona di rete normale), ma non sembra funzionare dopo una sospensione. A sudo service network-manager restartduplica questo problema. È necessario un riavvio completo per riavviare Wifi. Qualche idea sul perché?


6
Hai segnalato un bug al launchpad per il problema ???
apos


Sembra che questo problema sia stato risolto da Ubuntu 14 .
Dan Dascalescu,

Questo non è mai accaduto sotto 14.04 LTS per me. L'aggiornamento a 16.04 LTS è così bello che lo terrò, ma continua a dimenticare la mia password WiFi. Il servizio è chiaramente in esecuzione; solo che dimentica la password e non si connette. Ho pubblicato questo: askubuntu.com/questions/934958/… - e non voglio occuparmi di blacklist o di cose strane.
SDsolar,

Risposte:


176

16.04 funziona su systemd. Prova quanto segue:

sudo systemctl restart network-manager.service

Se funziona, puoi creare uno script per automatizzarlo.

Apri un terminale e digita quanto segue:

sudo nano /etc/systemd/system/wifi-resume.serviceOra incolla lo script lì con un clic destro. Esci con CTRL + X e premi Y per salvare. Ora per attivarlo:sudo systemctl enable wifi-resume.service

script:

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

Spero che sia di aiuto. Funziona sul mio laptop.


2
Hai provato a disinstallare semplicemente wicd?
Joakim Koed,

6
Direi di non preoccuparti di reinstallare per questo. Ho eseguito un'installazione pulita e ho riscontrato questo problema il 16.04. Non ho mai avuto problemi con 14.04.
Michael Martin-Smucker,

3
A volte funziona e talvolta no :(
tokam

1
@mikeymop Ho pensato anche a questo. So che alcune parti del sistema stanno ancora usando upstart, quindi ciò potrebbe innescare qualcosa. Poiché 16.10 è completo systemd e non presenta l'errore, potresti essere corretto.
Joakim Koed,

1
Come posso rimuoverlo, questo non funzionerà sul mio sistema
un'offerta non può rifiutare il

15

@ 147pm Hai mai funzionato?

Ho scoperto di avere un problema abbastanza simile, anche se sono su Kubuntu 16.10 (basato su KDE, non su Gnome) e con un laptop HP ProBook. E, a differenza di te, non è il mio Wifi che è morto dopo la sospensione / sveglia, ma la mia porta Ethernet. Tuttavia, mi chiedo se siano collegati.

Vedo anche che non hai il problema con KDE. Ma sarei interessato a sapere se la soluzione seguente aiuta in Gnome, poiché la soluzione non si basa su window manager, ambiente desktop o applet.

Innanzitutto, solo per confermare il riavvio del servizio di gestione della rete.

$ sudo systemctl restart network-manager.service

Non ha funzionato per me.

Tuttavia, ho trovato una risposta che ha funzionato, grazie alla domanda e alle informazioni di buzhidao su Impossibile connettersi a Internet dopo la sospensione e il commento di GAD3R lì.

Usando le loro informazioni, ho scoperto che prima la ricerca dell'hardware ethernet e del driver / modulo che sto eseguendo, quindi la rimozione e il ricaricamento di quel modulo, ha funzionato per me (anche se non per buzhidao):

Wi-Fi:

$ lspci -knn | grep Net -A2

Ethernet:

$ lspci -knn | grep Ether -A2

Il secondo di questi (ethernet) era quello che ho usato e ho trovato:

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

così ho ricaricato il driver 'r8169':

$ sudo rmmod r8169 && sudo modprobe r8169

e voilà! Questo ha funzionato. La mia porta / connessione ethernet è tornata in vita (dopo la sospensione / riattivazione) senza riavviare.

(Inoltre NON avevo un dispositivo wifi Realtek, ma un Qualcomm Atheros (mod: ath9k) che forse spiega perché il wifi ha continuato a funzionare per me dopo il risveglio dalla sospensione.)

Come puoi vedere dal mio commento su quell'altro post, mi chiedevo se il problema fosse l'elemento comune tra Buzhidao e me: i dispositivi Realtek Semiconductor. Anche se usano moduli diversi, potrebbero condividere un codice comune? O essere trattato in modo diverso dal nuovo codice del kernel ora in qualche modo?

Tu stesso hai un dispositivo wifi basato su Realtek? (usando lspci sopra)? Hai fortuna a reinstallare il modulo (sopra rmmod / modprobe)?

Ad ogni modo, solo un colpo nel buio. Se hai trovato una risposta per te, faccelo sapere! Grazie.


1
Ho anche un Ethernet RTL8111 / 8168/8411 e ho sudo rmmod r8169 && sudo modprobe r8169risolto il problema.
lenooh,

Stesso problema su Debian 9 con KDE. La reinstallazione come sopra risolto. Grazie mille.
sumitkm

Anche il mio computer * ha un dispositivo Ethernet RTL8111 / 8168/8411 e sudo rmmod r8169 && sudo modprobe r81691finalmente risolto il problema per me. Non aveva questo problema prima della versione 4.16 del kernel. (* Debian 10 con GNOME, Kernel 4.16 e firmware proprietario di Realtek )
ossbuntu

ha funzionato per me archlinux con ath10k_pci
nessuno il

6

Per riavviare automaticamente NetworkManager dopo il ripristino in un ambiente senza sudoaccesso, creare uno script in /etc/pm/sleep.d(qualsiasi nome), impostare il bit eseguibile tramite chmod +xe inserire il seguente contenuto:

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

Per me, la servicelinea ha funzionato, ma systemctlpotrebbe funzionare meglio per te.

Fonte: https://askubuntu.com/a/92235/30266 .


2
Ha service NetworkManager restartfunzionato per me, ma il posizionamento della sceneggiatura non ha funzionato (il 16.04). Ho dovuto spostare la sceneggiatura in /lib/systemd/system-sleep/script-name-here. In questo caso il primo argomento dello script è [pre | post], quindi ho dovuto cambiare l'istruzione case in case "${1}" in ... post) .... Ho anche inserito la frase interna case "${2}" in ... suspend) ....
Chester,

1
Dovrebbe essere /lib/systemd/system-sleep/per il 15.04+
qwr

2

Per me sembra casuale, ma a volte il wifi si disconnette solo se sono connesso o non mostra le reti se non lo sono. A volte mettere il mio laptop in modalità di sospensione sembra attivarlo, ma non sempre.

Una combinazione di questi di solito riprende a funzionare senza riavviare:

  • sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
  • sudo service network-manager stop; sleep 5; sudo service network-manager start
    • Chiamare semplicemente restartqui non sembra mai funzionare per me. Sembra che cerchi di avviarlo prima che abbia finito di spegnerlo, quindi ho più fortuna a fermarmi tra stope start.
  • Disattiva il wifi nell'interfaccia utente; attendere qualche secondo; riaccenderlo

Nessuno di questi sembra funzionare in modo coerente, ma li ho elencati in ordine di successo per primo.


2

Metodo di lavoro su Ubuntu 16.04:

Crea il servizio: sudo nano /lib/systemd/system/wifi-resume.service

Il servizio chiama il programma da:
/etc/init.d/network-manager

Incolla il codice:

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

Quindi abilitare il servizio:

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

Questo crea i collegamenti simbolici nelle directory [Installa] indicate di / etc / systemd / system e attiva il servizio

Successivamente puoi controllare lo stato con: systemctl status wifi-resume.service


1

Ho avuto lo stesso problema con il bluetooth: dopo aver sospeso il mio mouse bluetooth non ha funzionato. Quindi ho derivato la soluzione dall'alto:

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

abilitato il nuovo servizio

sudo systemctl enable bluetooth-resume.service

e modificato il servizio

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

Ho anche provato a modificare ...

sudo nano /etc/bluetooth/main.conf

e cambiato

AutoEnable=true

MA questo NON ha funzionato per il "problema di ripresa" e non ha avuto alcun impatto sui nuovi dispositivi Bluetooth!


1

Ho avuto lo stesso problema sul mio portatile Dell Inspiron 15R con Ubuntu 16.04. Per me ha funzionato la sceneggiatura riportata sulla seconda risposta .

Dopo aver installato lo script ho provato la sospensione con il comando nel menu in alto a destra e persino chiudendo il labbro, risolvendo il problema.

Devo dire che il problema si alternava nel suo comportamento (cioè a volte funzionava prima di installare lo script).


0

Per me la soluzione era quella di correre

nmcli nm sleep false

in un terminale


0

Ho avuto lo stesso problema di riconnettermi al mio wifi di casa dopo la sospensione. Ho provato le varie altre risposte suggerite che a volte funzionavano ma non sempre.

Alla fine la seguente correzione consentiva di connettersi costantemente al wifi:

1) Modifica questo file:

sudo vim /etc/NetworkManager/NetworkManager.conf

2) Aggiungendo questo ad esso:

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

0

Ora probabilmente semplice

sudo apt update
sudo apt upgrade

dovrebbe funzionare.

Nel mio caso tra i pacchetti aggiornati c'era bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.3)e dopo questo aggiornamento il wifi funziona di nuovo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.