staging.inyokaproject.org

LAN über USB-C Dock bricht zusammen

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

carchaias

Avatar von carchaias

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 295

Das folgende ist kein Aprilscherz sondern ein echtes Problem bei dem ich nicht weiterkomme.

Ich habe hier ein Lenovo L-380 Yoga, dass über ein Lenovo USB-C Dock (Gen2) mit meinem Ethernetkabel verbunden ist. Nach einem Neustart wird die Netzwerkverbindung aufgebaut und funktioniert eine zeitlang vollkommen normal. Irgendwann bricht die Verbindung dann ab und lässt sich über das Dock nicht wieder herstellen. WLAN über 5GHz funktioniert in der Regel weiterhin gut. Das 2,5GHz WLan bricht meistens ebenfalls zusammen. Die Ausprägung des Netzwerkausfalls ist dabei sehr unterschiedlich. Teilweise bricht das Netz soweit zusammen, dass kein Gerät im Netz mehr eine Verbindung herstellen kann. Ich sehe dann sehr heftiges Blinken an allen Anschlüssen von Switch und Router und auch des 2,5GHz Netzes. Sobald ich das USB-C Dock vom LAN-Kabel trenne ist der Spuk meistens vorbei, kommt aber wieder sobald ich das Kabel wieder reinstecke. Oft muss ich den Router neu starten um LAN und WLAN wiederzubekommen. Manchmal erscheinen nach dem Neustart heftige Bildstörungen auf dem enbenfalls am Dock angeschlossenen Zweitmonitor obwohl dieser vorher noch problemlos funktioniert hat. Es hilft dann nur alle Netzwerkgeräte (Router, Switch, Dock, Bildschirm) vom Strom zu trennen und nach einigen Minuten wieder einzuschalten.

Der Aufbau ist wie folgt:

Kablemodem --- WLAN Router TPLink TL WDR3600 (4x LAN) --- Switch Netgear GS108 (8x LAN) --- Lenovo USB-C Dock (GEN2) --- Lenovo L380 Yoga
                                                                                        --- Drucker   
                                                                                        --- Server (Ubuntu 20.04 Server)
                                                      --- Laptop L560 (LAN)   

Wenn der Fehler aufgetreten ist lässt sich das Laptop meistens nicht mehr herunterfahren. Es werden folgende Meldungen angezeigt:

(1 of 4) A stop job is running for Network Manager (Zeit...)
(2 of 4) A stop job is running for Raise network interfaces (Zeit...)
(3 of 4) A stop job is running for WPA supplicant (Zeit...)
(4 of 4) A stop job is running for Manage, Install an Generate Color Profiles (Zeit...)

Meldung 1 ist immer da. Die übrigen treten in unterschiedlichen Zusammenstellungen auf manchmal sind es 2 oder 3. Der Computer macht das dann ewig weiter. Ich bemühe dann immer alt+s-abf REISUB um das Spiel zu beenden.

Der Fehler tritt auch ohne Drucker oder Server oder das L560 auf. Der Fehler tritt auch mit einem anderen Switch (ich glaube es war ein DLink 4Port) auf.

Der Fehler tritt nicht auf wenn ich eine anderes Notebook (Lenovo L390 mit Windows10) an das Dock anschließe.

Der Fehler tritt nicht auf, wenn ich einen einfachen USB-C/Lan Adapter (namenlos) an das L380 anschließe.

Die Angaben aus dem Terminal sind z.T. aus mehreren "Sessions" zusammengesetzt, da das System im Fehlerfall manchmal nicht alle Befehle ausführt.

1
2
andrea@hage-Thinkpad:~$ uname -a
Linux hage-Thinkpad 5.4.0-70-generic #78-Ubuntu SMP Fri Mar 19 13:29:52 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
andrea@hage-Thinkpad:~$ lsusb
Bus 002 Device 004: ID 17ef:a393 Lenovo 
Bus 002 Device 003: ID 17ef:a387 Lenovo 
Bus 002 Device 002: ID 17ef:a391 Lenovo USB3.1 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 8087:0a2b Intel Corp. 
Bus 001 Device 004: ID 056a:5157 Wacom Co., Ltd Pen and multitouch sensor
Bus 001 Device 003: ID 04f2:b604 Chicony Electronics Co., Ltd Integrated Camera (1280x720@30)
Bus 001 Device 010: ID 046a:b102 Cherry GmbH 
Bus 001 Device 009: ID 17ef:a396 Lenovo USB2.0 Hub
Bus 001 Device 008: ID 17ef:a38f Lenovo 
Bus 001 Device 007: ID 17ef:a395 Lenovo 
Bus 001 Device 005: ID 17ef:a394 Lenovo 
Bus 001 Device 002: ID 17ef:a392 Lenovo USB2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
1
2
3
4
5
6
7
8
9
andrea@hage-Thinkpad:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 48:2a:e3:20:2a:1d brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
    link/ether 18:56:80:03:71:6d brd ff:ff:ff:ff:ff:ff
4: enx482ae3a640e3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 48:2a:e3:a6:40:e3 brd ff:ff:ff:ff:ff:ff

enx482ae3a640e3: ist der LAN Adapter im Dock.

1
2
3
4
5
6
7
andrea@hage-Thinkpad:~$ ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
4: enx482ae3a640e3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.5/24 brd 192.168.1.255 scope global noprefixroute enx482ae3a640e3
       valid_lft forever preferred_lft forever
1
2
3
4
andrea@hage-Thinkpad:~$ ip -4 route
default via 192.168.1.1 dev enx482ae3a640e3 proto dhcp metric 100 
169.254.0.0/16 dev enx482ae3a640e3 scope link metric 1000 
192.168.1.0/24 dev enx482ae3a640e3 proto kernel scope link src 192.168.1.5 metric 100 
1
2
3
andrea@hage-Thinkpad:~$ ip -4 neigh
192.168.1.4 dev enx482ae3a640e3 lladdr 30:05:5c:78:a9:d1 STALE
192.168.1.1 dev enx482ae3a640e3 lladdr e8:94:f6:d4:46:a8 REACHABLE

ohne Fehler (mit Fehler reiche ich nach)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
andrea@hage-Thinkpad:~$ nmcli general ; nmcli device ; nmcli connection
STATE      CONNECTIVITY  WIFI-HW    WIFI       WWAN-HW    WWAN      
verbunden  vollständig   aktiviert  aktiviert  aktiviert  aktiviert 
DEVICE           TYPE      STATE            CONNECTION                  
enx482ae3a640e3  ethernet  verbunden        Kabelgebundene Verbindung 2 
wlp2s0           wifi      nicht verbunden  --                          
p2p-dev-wlp2s0   wifi-p2p  nicht verbunden  --                          
enp0s31f6        ethernet  nicht verfügbar  --                          
lo               loopback  nicht verwaltet  --                          
NAME                         UUID                                  TYPE      DEVICE          
Kabelgebundene Verbindung 2  77439ae4-0bd0-365d-9870-3ac9d3229f3e  ethernet  enx482ae3a640e3 
Kabelgebundene Verbindung 1  273bf5df-b3e1-384e-b024-4fd1a8f3d5e4  ethernet  --              
mmg_wlan                     d8bb9273-cb6d-4b9c-8a84-c3c2bf7b3577  wifi      --              
Sesamstrasse2                f56fe15b-aac4-4b46-bdea-2f80d17bdb09  wifi      --              
Sesamstrasse5                f69be20a-010b-4281-82e8-48c32242a104  wifi      --              
andrea@hage-Thinkpad:~$ 

ping funktioniert im Fehlerfall über die besagte Schnittstelle gar nicht.

egrep und dmesg auszüge liefere ich nach, wenn der Fehler wieder da ist

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Die Symptome sprechen für eine falsche Verschaltung des Netzwerks auf Ebene 2 mit möglichen Rundwegen, auf denen Netzwerkpakete endlos kreisen können und damit das Netzwerk überlasten. Lese im Wiki den Artikel Netzwerkbrücke, insbesondere die Ausführungen zum Spanning Tree Protokoll.

carchaias

(Themenstarter)
Avatar von carchaias

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 295

Ohne allzuviel von dem verlinkten Artikel verstanden zu haben: Verkabelungstechnisch besteht da kein "Rundweg", wenn das gemeint ist. Müsste das Problem dann nicht auch mit dem Windows Laptop auftreten?

Es geht ein Kabel vom Router zum Switch (das Autouplink kann) und von dort sternförmig an die drei Geräte (Dock, Server und Drucker).

Ich werde Mal testweise das Switch außen vor lassen und das Dock direkt an den Router stecken.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

carchaias schrieb:

[…] Verkabelungstechnisch besteht da kein "Rundweg"

„Verkabeln“ kann man auch per Funk. Wenn man einen Rechner per Kabel und per WLAN mit einem WLAN-Router verbindet, hat man bereits einen Rundweg geschaltet. Ob dieser im Sinne einer L2-Vermaschung das unkontrollierbare Kreisen von Netzwerkpaketen ermöglicht oder nicht, hängt von der konkreten technischen Realisierung der Verbindungen WLAN/Kabel im Rechner und WLAN-Router ab. Grundsätzlich möglich ist es, und die geschilderten Symptome deuten darauf hin.

carchaias

(Themenstarter)
Avatar von carchaias

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 295

Aufgrund des letzten Hinweises bin ich hingegangen und habe L560 mal komplett abgeklemmt. Das ist der einzige Computer hier, der neben L380 mehr als eine Netzwerkschnittstelle hat (WLAN, LAN). Wlan war aber ohnehin bei beiden ausgeschaltet. Nachdem tatsächlich der Fehler in den letzten 2 Tagen nicht aufgetreten ist, war er heute auf einmal wieder da. L380 war dabei im "Leerlauf". Es lief nur dmesg -wT im Terminal um was einzufangen. Um 10:18 war es soweit.

Hier ein paar Ergbnisse:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

andrea@hage-Thinkpad:~$ dmesg -wT

[Mi Mär 31 10:18:15 2021] INFO: task kworker/5:1:136 blocked for more than 1208 seconds.
[Mi Mär 31 10:18:15 2021]       Tainted: G           OE     5.4.0-70-generic #78-Ubuntu
[Mi Mär 31 10:18:15 2021] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[Mi Mär 31 10:18:15 2021] kworker/5:1     D    0   136      2 0x80004000
[Mi Mär 31 10:18:15 2021] Workqueue: events rtl_work_func_t [r8152]
[Mi Mär 31 10:18:15 2021] Call Trace:
[Mi Mär 31 10:18:15 2021]  __schedule+0x2e3/0x740
[Mi Mär 31 10:18:15 2021]  schedule+0x42/0xb0
[Mi Mär 31 10:18:15 2021]  rpm_resume+0x174/0x780
[Mi Mär 31 10:18:15 2021]  ? __switch_to_asm+0x40/0x70
[Mi Mär 31 10:18:15 2021]  ? wait_woken+0x80/0x80
[Mi Mär 31 10:18:15 2021]  rpm_resume+0x31d/0x780
[Mi Mär 31 10:18:15 2021]  ? __switch_to_asm+0x40/0x70
[Mi Mär 31 10:18:15 2021]  ? __switch_to_asm+0x34/0x70
[Mi Mär 31 10:18:15 2021]  ? __switch_to_asm+0x40/0x70
[Mi Mär 31 10:18:15 2021]  ? __switch_to_asm+0x34/0x70
[Mi Mär 31 10:18:15 2021]  ? __switch_to_asm+0x40/0x70
[Mi Mär 31 10:18:15 2021]  __pm_runtime_resume+0x52/0x80
[Mi Mär 31 10:18:15 2021]  usb_autopm_get_interface+0x1d/0x50
[Mi Mär 31 10:18:15 2021]  rtl_work_func_t+0x70/0x2b0 [r8152]
[Mi Mär 31 10:18:15 2021]  ? psi_avgs_work+0x64/0xd0
[Mi Mär 31 10:18:15 2021]  process_one_work+0x1eb/0x3b0
[Mi Mär 31 10:18:15 2021]  worker_thread+0x4d/0x400
[Mi Mär 31 10:18:15 2021]  kthread+0x104/0x140
[Mi Mär 31 10:18:15 2021]  ? process_one_work+0x3b0/0x3b0
[Mi Mär 31 10:18:15 2021]  ? kthread_park+0x90/0x90
[Mi Mär 31 10:18:15 2021]  ret_from_fork+0x35/0x40

Die Meldung wiederholt sich alle paar Minuten.

andrea@hage-Thinkpad:~$ ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever

andrea@hage-Thinkpad:~$ ip -4 route
andrea@hage-Thinkpad:~$ ip -4 neigh

andrea@hage-Thinkpad:~$ nmcli general ; nmcli device ; nmcli connection
STATE           CONNECTIVITY  WIFI-HW    WIFI       WWAN-HW    WWAN      
wird verbunden  begrenzt      aktiviert  aktiviert  aktiviert  aktiviert 
DEVICE           TYPE      STATE                                               CONNECTION                  
enx482ae3a640e3  ethernet  wird verbunden (IP-Einstellungen werden ermittelt)  Kabelgebundene Verbindung 2 
wlp2s0           wifi      nicht verbunden                                     --                          
p2p-dev-wlp2s0   wifi-p2p  nicht verbunden                                     --                          
enp0s31f6        ethernet  nicht verfügbar                                     --                          
lo               loopback  nicht verwaltet                                     --                          
NAME                         UUID                                  TYPE      DEVICE      >
Kabelgebundene Verbindung 2  77439ae4-0bd0-365d-9870-3ac9d3229f3e  ethernet  enx482ae3a64>
Kabelgebundene Verbindung 1  273bf5df-b3e1-384e-b024-4fd1a8f3d5e4  ethernet  --          >
mmg_wlan                     d8bb9273-cb6d-4b9c-8a84-c3c2bf7b3577  wifi      --          >
Sesamstrasse2                f56fe15b-aac4-4b46-bdea-2f80d17bdb09  wifi      --          >
Sesamstrasse5                f69be20a-010b-4281-82e8-48c32242a104  wifi      --          >
andrea@hage-Thinkpad:~$ 

carchaias

(Themenstarter)
Avatar von carchaias

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 295

Ich habe da was gefunden, das sich sehr nach dem gleichen Problem anhört.

https://bugzilla.kernel.org/show_bug.cgi?id=200977

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

carchaias schrieb:

Ich habe da was gefunden, das sich sehr nach dem gleichen Problem anhört. […]

Vielleicht. Aber ich sehe da nicht so offensichtlich Gemeinsamkeiten. Wenn doch, dann ist Dein Problem von der Art „defekte Hardware/schlechter Treiber“. Vielleicht liege ich falsch mit meiner Vermutung, aber die von Dir berichteten Totalausfälle beim Netzwerk sind wohl charakteristischer als der Totalausfall des Rechners.

carchaias

(Themenstarter)
Avatar von carchaias

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 295

Das Problem mit dem Netzwerk scheine ich gelöst zu haben. Jedenfalls ist der Fehler nach einer kleinen Änderung nicht mehr aufgetreten. Tatsächlich lag es offenbar daran, das der Realtek Treiber r8152 für den Ethernetcontroller im USB-C Gen2 Dock von Lenovo nicht mit dem Stromsparmodus klarkommt. Hinweise darauf gibt es in unterschiedlichen Forenbeiträgen.

Ausschlaggebend für mich war der vorgenannte Beitrag auf kernel.org

https://bugzilla.kernel.org/show_bug.cgi?id=200977

und der folgende Beitrag bei askubuntu:

https://askubuntu.com/questions/1044127/usb-ethernet-adapter-realtek-r8153-keeps-disconnecting

Bus und Device mit lsusb -t ermittelt und damit dann die ID des Gerätes mit lsusb

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

lsusb -t

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
[mark]        |__ Port 1: Dev 4, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M[/mark]
 ...

lsusb

...
Bus 002 Device 004: ID 17ef:a387 Lenovo 
...

Dann noch ein kleiner Eintrag mit der ID in der /etc/tlp.conf

1
2
3
4

#USB-C Dock Ethernet Controller von suspend ausschließen
USB_BLACKLIST="17ef:a387"

nach einem reboot kann man mit powertop das Ergebnis bestaunen:

1
2
3
4
5
6
7
8
9
sudo powertop

PowerTOP v2.11    Übersicht  Untätigkeits Frequenzstatistik Gerätestatisti Einstellba Aufwachvorgänge                   

...
                                                            
>> Schlecht      Automatische Bereitschaft für USB-Gerät USB-C Dock Ethernet [Realtek]

..

Seit dem läuft alles vollkommen problemlos.

MaxPowers82

Anmeldungsdatum:
11. November 2006

Beiträge: 175

Danke carchaias, dass hat auch mein Problem mit dem Realtek LAN(RTL8153) meines Samsung TU87F(LF32TU870VRXEN) mit integrierter Dockingstation behoben.

Zusätzlich war der tlp Service auf meinem Ubuntu 23.04 noch nicht aktiviert, dies musste ich noch mit

1
sudo systemctl enable tlp.service

ändern.

Nachtrag: Wenn ich erst den Laptop aufwecke, dann den TFT einschalte funktioniert es nicht. Zusätzlich musste ich mit Powertop alle USB Geräte/Controller mit "gutem" Stromsparmodi testweise auf schlechten umstellen. Den erfolgreichen Eintrag habe ich dann in ein Script unter /etc/pm/sleep.d/ integriert. Bei mir war dies: echo on > /sys/bus/usb/devices/4-1/power/control

Wobei sich die Gerätenummer gerne ändert. Daher habe ich das folgende Script geschrieben:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash

# Einstellungen sichern
powertop --html=powertop.html -t 0.1   # schnelle Messung, da nur usb-einstellungen relevant

cat powertop.html | grep 'unbekanntes USB-Gerät' | awk -F "USB-Gerät " '{print $2}' | awk -F " " '{print $1}' > powertop_good.txt

# Von "gut" nach "schlecht" umstellen
while read option; do
    echo "Setting Automatische Bereitschaft für unbekanntes USB-Gerät $option to ON"
    echo "on" > /sys/bus/usb/devices/$option/power/control
done < powertop_good.txt

sleep 1
# Einstellungen wiederherstellen # Von "schlecht" nach "gut" umstellen
while read option; do
    echo "Setting Automatische Bereitschaft für unbekanntes USB-Gerät $option to auto"
    echo "auto" > /sys/bus/usb/devices/$option/power/control
done < powertop_good.txt


# Aufräumen
rm powertop.html powertop_good.txt 

echo "Einstellungen erfolgreich umgestellt und wiederhergestellt."
		
	
Antworten |