web-dev-qa-db-fra.com

Besoin de reconnecter le câble Ethernet pour le faire fonctionner après avoir connecté l'ordinateur portable à la station d'accueil

Sur mon ordinateur portable Ubuntu 17.04 Dell Latitude, j'utilise une station d'accueil. Cette station dispose d'une connexion dédiée.

  1. Lorsque je connecte mon ordinateur portable à la station, il affiche indéfiniment l'icône d'état de "connexion". Comme s'il essayait de se connecter, puis se réinitialise, puis essayait de se reconnecter.
  2. Lorsque je débranche le câble, attendez un peu et reconnectez-vous, la connexion est instantanément établie.

Cela arrive probablement plus souvent lors de la sortie de veille. Mais j'ai essayé de changer les options d'alimentation du BIOS en vain.

Cela fonctionnait bien sur Ubuntu 16.10, mais je ne sais pas si un problème est survenu après 17.04, car d'autres facteurs ont également changé.

Il y a un vieux commutateur 10/100Mbit entre l'ordinateur portable et le routeur, peut-être que la négociation de la connexion prend trop de temps? Mais l'imprimante réseau se connecte sans problème.

Mise à jour: Tentative de rechargement du pilote Ethernet avec modprobe -r -v tg3, modprobe -v rg3 et redémarrage du service réseau également.

l'exécution de dmesg affiche un grand nombre de messages de liaison/déconnexion:

[92580.119745] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92580.119768] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92580.774047] tg3 0000:09:00.0 eth0: Link is down
[92582.426348] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92582.426351] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92583.368441] tg3 0000:09:00.0 eth0: Link is down
[92585.047635] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92585.047662] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92585.562763] tg3 0000:09:00.0 eth0: Link is down
[92587.207396] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92587.207418] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92588.085716] tg3 0000:09:00.0 eth0: Link is down
[92589.744788] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92589.744816] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92590.706366] tg3 0000:09:00.0 eth0: Link is down
[92592.296863] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[92592.365857] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92592.365860] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92592.365876] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[92593.326975] tg3 0000:09:00.0 eth0: Link is down
[92594.987186] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92594.987212] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92595.947772] tg3 0000:09:00.0 eth0: Link is down
[92597.608392] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92597.608416] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX
[92598.568514] tg3 0000:09:00.0 eth0: Link is down
[92600.229535] tg3 0000:09:00.0 eth0: Link is up at 100 Mbps, full duplex
[92600.229548] tg3 0000:09:00.0 eth0: Flow control is on for TX and on for RX

Wireshark se connecte lorsque la connexion est bloquée:

No.     Time           Source                Destination           Protocol Length Info
      7 2.660584149    0.0.0.0               255.255.255.255       DHCP     342    DHCP Request  - Transaction ID 0xde0c185d

Frame 7: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on interface 0
Ethernet II, Src: Dell_39:4b:6e (d0:67:e5:39:4b:6e), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Request)

No.     Time           Source                Destination           Protocol Length Info
     12 5.401359750    0.0.0.0               255.255.255.255       DHCP     342    DHCP Request  - Transaction ID 0xde0c185d

Frame 12: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on interface 0
Ethernet II, Src: Dell_39:4b:6e (d0:67:e5:39:4b:6e), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Request)

No.     Time           Source                Destination           Protocol Length Info
     35 13.832656290   0.0.0.0               255.255.255.255       DHCP     342    DHCP Discover - Transaction ID 0xb9200f10

Frame 35: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on interface 0
Ethernet II, Src: Dell_39:4b:6e (d0:67:e5:39:4b:6e), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

Wireshark se connecte juste après avoir reconnecté le câble:

No.     Time           Source                Destination           Protocol Length Info
     13 12.440180322   0.0.0.0               255.255.255.255       DHCP     342    DHCP Request  - Transaction ID 0xc06e5459

Frame 13: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on interface 0
Ethernet II, Src: Dell_39:4b:6e (d0:67:e5:39:4b:6e), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Request)

No.     Time           Source                Destination           Protocol Length Info
     14 12.444870618   192.168.1.254         192.168.1.5           DHCP     358    DHCP ACK      - Transaction ID 0xc06e5459

Frame 14: 358 bytes on wire (2864 bits), 358 bytes captured (2864 bits) on interface 0
Ethernet II, Src: VtechTel_55:61:31 (00:12:2a:55:61:31), Dst: Dell_39:4b:6e (d0:67:e5:39:4b:6e)
Internet Protocol Version 4, Src: 192.168.1.254, Dst: 192.168.1.5
User Datagram Protocol, Src Port: 67, Dst Port: 68
Bootstrap Protocol (ACK)

No.     Time           Source                Destination           Protocol Length Info
     15 12.463981621   192.168.1.5           224.0.0.22            IGMPv3   62     Membership Report / Join group 224.0.0.252 for any sources / Join group 224.0.0.251 for any sources

Frame 15: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0
Ethernet II, Src: Dell_39:4b:6e (d0:67:e5:39:4b:6e), Dst: IPv4mcast_16 (01:00:5e:00:00:16)
Internet Protocol Version 4, Src: 192.168.1.5, Dst: 224.0.0.22
Internet Group Management Protocol
1
PeterM

Il y a quelques mois, une mise à jour automatique a interrompu ma suspension/reprise Ethernet après qu'elle fonctionnait parfaitement pendant environ 6 mois. C'est arrivé à quelques autres utilisateurs ici à la même époque.

La solution pour moi a été de créer un script qui sera exécuté lors de la reprise de la suspension:

#!/bin/bash

# NAME: r8169-reset
# PATH: /lib/systemd/system-sleep
# DESC: Reset Ethernet card after suspend, not working automatically
# DATE: Feb ?? 2017. Modified: Apr 30, 2017.

MYNAME=$0

restart_ethernet() {
   /usr/bin/logger $MYNAME 'restart_ethernet(r8169) BEGIN'
   /sbin/modprobe -v -r r8169
   # /sbin/modprobe -v -r mii
   /sbin/modprobe -v r8169
   /usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESED)'
   /usr/bin/logger $MYNAME 'restart_ethernet(r8169) END'
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
   hibernate|suspend|pre*)
      ;;
   resume|thaw|post*)
      restart_ethernet;;
esac

Enregistrez le script dans /lib/systemd/system-sleep/r8169-reset. Bien sûr, changez ce nom de script en votre nom de pilote réel. Modifiez également le nom du module du noyau du pilote dans le script.

Notez la ligne:

/usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESED)'

Parfois, il suffit de redémarrer le gestionnaire de réseau et vous pouvez également essayer.

Vous aurez besoin des pouvoirs de Sudo pour enregistrer le fichier. Pour faire bonne mesure, je marque toujours ces scripts comme executable en utilisant:

Sudo chmod a+x /lib/systemd/system-sleep/r8169-reset

Tu peux vérifier /var/log/syslog pour voir la sortie du script.

J'espère que cela fonctionne pour toi.

2
WinEunuuchs2Unix