L'Ethernet ne reprend pas après la mise en veille.
sudo service network-manager restart
ne fonctionne pas. Seul le redémarrage résout le problème.
L'Ethernet ne reprend pas après la mise en veille.
sudo service network-manager restart
ne fonctionne pas. Seul le redémarrage résout le problème.
Le principal suivi des bugs Ubuntu concernant ce problème, au moins pour le module kernel réseau r8169, semble être :
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772
J'encourage tout le monde qui est affecté par ce problème à s'y rendre et à indiquer que cela vous affecte, afin que les mainteneurs aient une meilleure idée de sa gravité.
Je suis en cours d'exécution d'une installation fraîche de Xubuntu 18.04, et mon interface Ethernet utilise le module kernel r8169, que j'ai découvert en exécutant :
sudo lshw -C network
Il y aura 2 groupes d'informations, l'un commençant par description: interface Ethernet
, et un autre avec description: interface sans fil
. Sous description: interface Ethernet
, cherchez une ligne commençant par configuration:
, comme ceci :
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=rtl_nic/rtl8105e-1.fw ip=192.168.100.6 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
Le pilote se trouvera ici : driver=
.
Systemd exécute tous les scripts exécutables sous /lib/systemd/system-sleep
avant et après la suspension, en passant 2 paramètres, $1
est l'état (pre
, avant la suspension, ou post
, après la suspension), et $2
est l'action (suspend
, hibernate
, hybrid-state
, ou suspend-then-hibernate
). Cela est documenté dans la page de manuel de systemd-suspend.service
.
Nous devons recharger le module pour l'interface Ethernet lors de la reprise de la suspension, après la suspension. J'ai donc créé le script /lib/systemd/system-sleep/r8169-refresh
:
#!/bin/bash
PROGNAME=$(basename "$0")
state=$1
action=$2
function log {
logger -i -t "$PROGNAME" "$*"
}
log "Exécution de $action $state"
if [[ $state == post ]]; then
modprobe -r r8169 \
&& log "Module r8169 retiré" \
&& modprobe -i r8169 \
&& log "Module r8169 inséré"
fi
et je l'ai rendu exécutable :
chmod +x /lib/systemd/system-sleep/r8169-refresh
Les messages enregistrés depuis le script iront dans /var/log/syslog
étiquetés avec le nom du script et son PID. De cette façon, vous pouvez vérifier si le script a rechargé le module kernel :
grep r8169-refresh /var/log/syslog
Voici une autre solution plus simple : créer un service systemd dont la seule tâche est de décharger/recharger le module après un cycle de suspension (je l'ai nommé /etc/systemd/system/fix-r8169.service) :
[Unit]
Description=Fix RTL-8169 Driver on resume from suspend
After=suspend.target
[Service]
User=root
Type=oneshot
ExecStartPre=/sbin/modprobe -r r8169
ExecStart=/sbin/modprobe r8169
TimeoutSec=0
StandardOutput=syslog
[Install]
WantedBy=suspend.target
Ensuite, il suffit d'exécuter systemctl enable fix-r8169.service
, et vous devriez être prêt !! Systemd déchargera et rechargera automatiquement votre module lors du réveil de la suspension.
Santé!
Cela m'est aussi arrivé.
Décharger/recharger les modules/pilotes du noyau réseau fonctionne.
Le mien est r8169, donc (en tant que root) : (J'ai tapé à la main, il y avait un léger retard)
sudo modprobe -r r8169
sudo modprobe -i r8169
J'ai aussi supprimé mii lors de mon premier essai. Ce n'est pas nécessaire cependant.
J'ai eu le même problème et j'ai trouvé cette solution.
exécutez: sudo lshw -C network
pour trouver le module de noyau de votre carte réseau
Dans *-network, description: interface Ethernet, dans le champ de configuration j'ai trouvédriver=sky2
pour moi. sky2 est un module de noyau de réseau ethernet pour mon ordinateur portable.
J'ai créé un fichier sky2.sh dans le dossier: /lib/systemd/system-sleep/
avec
#!/bin/bash
modprobe -r sky2 # décharge le module de noyau sky2
modprobe -i sky2 # recharge le module de noyau sky2
et j'ai changé les permissions avec:
sudo chmod a+x sky2.sh
Après cela, le problème était résolu.
Il détecte la connexion Ethernet?
alors
ouvrir NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
Commenter (ajouter #) le dns=dnsmasq
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
[ifupdown]
managed=true
Redémarrer le gestionnaire de réseau
sudo service network-manager restart
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.