Suspensión e Hibernación en Ubuntu II
En el post anterior Suspensión e Hibernación en Ubuntu, vimos como en versiones previas LTS 10.04, 12.04, 14.04, 16.04 se presentaron innumerables problemas con la suspensión e hibernación. Hoy le toca el turno a Ubuntu 18.04, que tampoco se salva.
Si bien se han resuelto muchos de los problemas anteriores, se han creado nuevos. Ahora el afectado es la interfaz de red ethernet, que no "resucita" después de la suspensión y queda "desconectada" y no basta con reiniciar las interfaces. La única manera de devolverla a la vida es que reiniciemos el PC.
En 16.10 y 17.04, ya se venía presentando este problema, descrito en los BUGs 1760073 y 1638842, sin embargo repasemos algunas de las propuestas hechas en diferentes publicaciones, que tal vez funcionaron en el pasado, pero que ya no aplican para Ubuntu 18.04:
Creando 10-globally-managed-devices.conf en /etc/NetworkManager/ conf.d :
Creando 10-globally-managed-devices.conf en /etc/NetworkManager/ conf.d :
touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf systemctl restart NetworkManagerModificando NetworkManager.conf:
nano /etc/NetworkManager/NetworkManager.conf [ifupdown] managed=true service network-manager restartAgregando loopback a interfaces (que ya viene incluida en 18.04):
nano /etc/network/interfaces auto lo iface lo inet loopback service network-manager restartModificando 10-globally-managed-devices.conf en /usr/lib/NetworkManager/conf.d :
sudo -H gedit /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf [keyfile] unmanaged-devices=*,except:type:wifi,except:type:wwan,except:type:ethernet service network-manager restart
Incluso algunos propusieron modificar resolv.conf...
En fin. Muchas propuestas y ninguna soluciona el problema. Esto se debe a la interfaz de ethernet en Ubuntu 18.04, en la mayoría de los casos, usa el módulo del kernel r8169 (problema descrito en el BUG 1752772). Para determinarlo, ejecutamos:
lshw -C network
Y la línea "driver" de nuestra interfaz ethernet debe aparecer driver=r8169:
configuración: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8106e-1_0.0.1 06/29/12 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
Entonces la solución es asegurarnos que se levante este módulo después de la suspensión. Para esto creamos el siguiente script:
nano /lib/systemd/system-sleep/r8169 chmod +x /lib/systemd/system-sleep/r8169El cual contiene lo siguiente:
#!/bin/bash modprobe -r r8169 # unload kernel module modprobe -i r8169 # reload kernel module
Y después de la suspensión ejecutamos el script manualmente:
/lib/systemd/system-sleep/r8169
Importante:
Instalar r8168-dkms (apt install r8168-dkms) no soluciona el problema. Por el momento la única opción es el script.
Otra alternativa es crear una especie de loop, como proponen en Ubuntu 18. 04 - Ethernet disconnected after suspend , reemplazando el contenido del script por el siguiente:
Instalar r8168-dkms (apt install r8168-dkms) no soluciona el problema. Por el momento la única opción es el script.
Otra alternativa es crear una especie de loop, como proponen en Ubuntu 18. 04 - Ethernet disconnected after suspend , reemplazando el contenido del script por el siguiente:
#!/bin/bash PROGNAME=$(basename "$0") state=$1 action=$2 function log { logger -i -t "$PROGNAME" "$*" } log "Running $action $state" if [[ $state == post ]]; then modprobe -r r8169 \ && log "Removed r8169" \ && modprobe -i r8169 \ && log "Inserted r8169" fiReinicie. Y verifique su ejecución después de suspensión con:
grep r8169 /var/log/syslog
Post a Comment