Wifi no funciona después de suspender después de la actualización 16.04

149

Esta versión particular de "no funciona después de suspender" se produjo después de actualizar a 16.04. Parece que la actualización incluye un applet Wicd (agregado a la barra de tareas Metacity Classic Gnome junto con el ícono de red normal), pero no parece funcionar después de una suspensión. A sudo service network-manager restartduplica este problema. Se necesita un reinicio completo para que Wifi vuelva a funcionar. Alguna idea de por qué?

147pm
fuente
66
¿Archivó un error en el launchpad para el problema?
apos
Parece que este problema ha existido desde Ubuntu 14 .
Dan Dascalescu
Esto nunca sucedió bajo 14.04 LTS para mí. La actualización a 16.04 LTS es tan buena que la guardaré, pero sigue olvidando mi contraseña de WiFi. El servicio está funcionando claramente; solo que olvida la contraseña y no se conecta. Publiqué esto: askubuntu.com/questions/934958/… - y no quiero tratar con listas negras ni nada extraño.
SDsolar

Respuestas:

176

16.04 se ejecuta en systemd. Intenta lo siguiente:

sudo systemctl restart network-manager.service

Si esto funciona, puede crear un script para automatizarlo.

Abra una terminal y escriba lo siguiente:

sudo nano /etc/systemd/system/wifi-resume.serviceAhora pegue el script allí con un clic derecho. Salga con CTRL + X y presione Y para guardar. Ahora para activarlo:sudo systemctl enable wifi-resume.service

Guión:

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

Espero que esto ayude. Funciona en mi laptop.

Joakim Koed
fuente
2
¿Has intentado simplemente desinstalar wicd?
Joakim Koed
66
Yo diría que no te molestes en reinstalar esto. Hice una instalación limpia y me encuentro con este problema el 16.04. Nunca tuve un problema con 14.04.
Michael Martin-Smucker
3
A veces funciona y a veces no :(
tokam
1
@mikeymop He estado pensando esto también. Sé que algunas partes del sistema todavía están usando el sistema de arranque, por lo que podría desencadenar algo. Dado que 16.10 está systemd completo y no tiene el error, puede ser correcto.
Joakim Koed
1
¿Cómo puedo eliminar esto? Esto no funcionará en mi sistema
una oferta no puede rechazar el
15

@ 147pm ¿Alguna vez funcionó esto?

Descubrí que tenía un problema bastante similar, aunque estoy en Kubuntu 16.10 (basado en KDE, no en Gnome), y con una computadora portátil HP ProBook. Y, a diferencia de usted, no fue mi Wifi la que murió después de la suspensión / activación, sino mi puerto ethernet. Aún así, me pregunto si están relacionados.

También veo que no tienes el problema en KDE. Pero me interesaría saber si la solución a continuación ayuda con Gnome, ya que la solución no se basa en el administrador de ventanas, el entorno de escritorio o los applets.

Primero, solo para confirmar que reinicia el servicio de administrador de red.

$ sudo systemctl restart network-manager.service

no funciono para mi

Sin embargo, encontré una respuesta que funcionó, gracias a la pregunta e información de buzhidao en no se puede conectar a internet después de suspender y el comentario de GAD3R allí.

Usando su información, descubrí que primero investigando qué hardware de Ethernet y controlador / módulo estoy ejecutando, y luego quitando y volviendo a cargar ese módulo, funcionó para mí (aunque no lo hizo para buzhidao):

Wifi:

$ lspci -knn | grep Net -A2

Ethernet

$ lspci -knn | grep Ether -A2

El segundo de estos (ethernet) fue lo que usé, y encontré:

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

Así que volví a cargar el controlador 'r8169':

$ sudo rmmod r8169 && sudo modprobe r8169

¡y voilá! Esto funcionó. Mi puerto / conexión de Ethernet volvió a la vida (después de suspender / activar) sin tener que reiniciar.

(Tampoco tenía un dispositivo wifi Realtek, sino un Qualcomm Atheros (mod: ath9k) que tal vez explica por qué el wifi continuó funcionando para mí después de despertarme de la suspensión).

Como puede ver en mi comentario en esa otra publicación, me preguntaba si el problema es el elemento común entre Buzhidao y yo: los dispositivos Realtek Semiconductor. A pesar de que usan módulos diferentes, ¿podrían compartir algún código común? ¿O incluso ser tratado de manera diferente por el nuevo código del núcleo ahora de alguna manera?

¿Tiene usted un dispositivo wifi basado en Realtek? (usando lspci arriba)? ¿Tienes suerte al reinstalar el módulo (rmmod / modprobe arriba)?

De todos modos, solo un tiro en la oscuridad. Si ha encontrado una respuesta eventual para usted, ¡háganoslo saber! Gracias.

androclus
fuente
1
También tengo un ethernet RTL8111 / 8168/8411 y sudo rmmod r8169 && sudo modprobe r8169resolví el problema.
lenooh
Mismo problema en Debian 9 con KDE. Reinstalar como se solucionó anteriormente. Gracias una tonelada.
sumitkm
Mi computadora * también tiene un dispositivo ethernet RTL8111 / 8168/8411 y sudo rmmod r8169 && sudo modprobe r81691finalmente me solucionó el problema. No tenía este problema antes de la versión 4.16 del kernel. (* Debian 10 con GNOME, Kernel 4.16 y firmware propietario de Realtek )
ossbuntu
trabajó para mí archlinux con ath10k_pci
nadie el
6

Para reiniciar automáticamente NetworkManager después de reanudar en un entorno sin sudoacceso, cree un script en /etc/pm/sleep.d(cualquier nombre), establezca el bit ejecutable a través de chmod +xe inserte el siguiente contenido:

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

Para mí, la servicelínea funcionó, pero systemctlpuede funcionar mejor para usted.

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

krlmlr
fuente
2
El service NetworkManager restarttrabajó para mí, pero la colocación de la secuencia de comandos no lo hizo (en 16,04). Tuve que mover el guión a /lib/systemd/system-sleep/script-name-here. En este caso, el primer argumento para el script es [pre | post], así que tuve que cambiar la declaración del caso a case "${1}" in ... post) .... También envolví la declaración interna en case "${2}" in ... suspend) ....
Chester
1
Debería ser /lib/systemd/system-sleep/para 15.04+
qwr
2

Para mí parece ser aleatorio, pero a veces el wifi simplemente se desconecta si estoy conectado, o no muestra redes si no lo estoy. A veces, poner mi computadora portátil en modo de suspensión parece desencadenarlo, pero no siempre.

Alguna combinación de estos generalmente lo hace funcionar nuevamente sin reiniciar:

  • sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
  • sudo service network-manager stop; sleep 5; sudo service network-manager start
    • Simplemente llamar restartaquí nunca parece funcionar para mí. Parece que intenta iniciarlo antes de que termine de apagarlo, por lo tanto, tengo más suerte haciendo una pausa entre stopy start.
  • Apague el wifi en la interfaz de usuario; espera unos segundos; encenderlo de nuevo

Ninguno de ellos parece funcionar consistentemente, pero primero los enumeré en orden de probabilidad de éxito.

redbmk
fuente
2

Método de trabajo en Ubuntu 16.04:

Crea el servicio: sudo nano /lib/systemd/system/wifi-resume.service

El servicio llama al programa desde:
/etc/init.d/network-manager

Pega el código:

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

Luego habilite el servicio:

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

Esto crea los enlaces simbólicos en los directorios [Instalar] indicados de / etc / systemd / system y activa el servicio

Luego puede verificar el estado con: systemctl status wifi-resume.service

cryptoboy
fuente
1

Tuve el mismo problema con bluetooth: después de suspender mi mouse bluetooth no funcionó. Entonces obtuve la solución de arriba:

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

habilitado el nuevo servicio

sudo systemctl enable bluetooth-resume.service

y editó el servicio

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

También intenté editar ...

sudo nano /etc/bluetooth/main.conf

y cambiado

AutoEnable=true

¡PERO esto NO funcionó para el "problema del currículum" y de todos modos no tuvo ningún impacto en los nuevos dispositivos bluetooth!

apos
fuente
1

Tuve el mismo problema en mi laptop Dell Inspiron 15R con Ubuntu 16.04. Para mí funcionó el guión reportado en la segunda respuesta .

Después de haber instalado el script, probé la suspensión con el comando en el menú superior derecho e incluso cerré el labio, resolviendo el problema.

Tengo que decir que el problema se alternaba en su comportamiento (es decir, a veces funcionaba antes de instalar el script).

Alessandro D'lncal
fuente
0

Para mí la solución era correr

nmcli nm sleep false

en una terminal

tigerjack89
fuente
0

Tuve el mismo problema al volver a conectarme a la wifi de mi casa después de suspender. Intenté las otras respuestas sugeridas que ocasionalmente funcionarían pero no siempre.

Finalmente, la siguiente solución permitió una conexión constante a wifi:

1) Edite este archivo:

sudo vim /etc/NetworkManager/NetworkManager.conf

2) Al agregar esto:

[device]
wifi.scan-rand-mac-address=no
Ray Vega
fuente
0

Ahora probablemente simple

sudo apt update
sudo apt upgrade

Deberia trabajar.

En mi caso, entre los paquetes actualizados había bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.3)y después de esta actualización, el wifi funciona de nuevo.

Daniel
fuente