In meinem Büro haben wir vor Kurzem zwanzig Laptops Dell Latitude 5420 unter Ubuntu 20.04 gekauft und wir haben ein großes Problem mit der Ethernet-Verbindung, der Download ist extrem langsam (aber der Upload ist gut).
Bearbeiten: Das Problem besteht nur bei dieser Laptop-Serie, nur mit integriertem Ethernet und nur unter Ubuntu (siehe die Tests unten). WLAN funktioniert einwandfrei, Ethernet funktioniert auch einwandfrei, wenn wir Windows auf diesen Laptops installieren, und wir haben keine Probleme, wenn wir einen Ethernet-USB-Adapter oder eine Dockstation mit Ethernet verwenden.
Hardwareseitig sind die Laptops mit integrierten Netzwerkkarten ausgestattet: Intel „Ethernet Connection I219-LM“.
Unten sind die Tests, die ich durchgeführt habe.
Bedingungen der bei mir zu Hause durchgeführten Tests:
- Art der verwendeten Internetverbindung: VDSL2+
- Downloadgeschwindigkeit: 40,43 Mbit/s
- Upload-Geschwindigkeit: 5,70 Mbit/s
Bedingungen der in meiner Praxis durchgeführten Untersuchungen:
- Art der verwendeten Internetverbindung: Glasfaser
- Downloadgeschwindigkeit: 756,21 Mbit/s
- Upload-Geschwindigkeit: 337,64 Mbit/s
Hier sind die Tests, die ich durchgeführt habe:
Ubuntu 20.04.1 LTS „Out Of The Box“
- Ergebnis nach der Installation: Langsames Ethernet (@home = Download: 0,89 Mbit/s / Upload: 4,82 Mbit/s)
- Kernelversion nach der Installation: 5.6.0-1032-oem
- Ethernet-Treiberversion nach der Installation: Intel e1000e 3.2.6-k
- Kernelversion nach Update: 5.10.0-1029-oem
- Ethernet-Treiberversion nach Update: Intel e1000e 5.10.0-1029-oem (Treiber im Kernel enthalten)
- Ergebnis nach Update: Slow Ethernet (@home = Download: 0,57 Mbit/s / Upload: 4,61 Mbit/s)
Ubuntu 20.04.2 LTS „von USB installieren“
- Ergebnis nach der Installation: Langsames Ethernet (@home = Download: 0,89 Mbit/s / Upload: 4,82 Mbit/s) (@office = Download: 6,36 Mbit/s / Upload: 327,99 Mbit/s)
- Kernel-Version nach der Installation: 5.8.0-43-generic
- Ethernet-Treiberversion nach der Installation: Intel e1000e 3.2.6-k
- Kernel-Version nach Update: 5.8.0-55-generic
- Ethernet-Treiberversion nach Update: Intel e1000e 3.2.6-k
- Ergebnis nach Update: Langsames Ethernet (@home = Download: 0,68 Mbit/s / Upload: 4,52 Mbit/s) (@office = Download: 5,31 Mbit/s / Upload: 411,82 Mbit/s)
- Erfolglose Versuche, den Treiber 3.8.4 und 3.8.7 manuell zu installieren: Fehler während der Treiberkompilierung
Ubuntu 20.04.2 LTS „Live-Sitzung von USB“
- Ergebnis bei Live-Sitzung: Ethernet „etwas weniger“ langsam (@home = Download: 15,60 Mbit/s / Upload: 4,41 Mbit/s)
- Kernelversion: 5.8.0-43-generic
- Ethernet-Treiberversion: Intel e1000e 3.2.6-k
Ubuntu 18.04 LTS „von USB installieren“
- Ergebnis nach der Installation: Karte vom System gesehen, aber nicht beansprucht
- Kernel-Version: 5.4.0-74-generic
- Ethernet-Treiberversion: Keine
- Kernel-Version nach Update: 5.4.0-74-generic
- Ethernet-Treiberversion nach Update: Keine
- Ethernet-Treiberversion nach manueller Installation: 3.8.4-NAPI (heruntergeladen von der Intel-Site)
- Ergebnis nach Update: Ethernet ok (@home = Download: 40,29 Mbit/s / Upload: 5,37 Mbit/s)
Ubuntu 20.04.1 LTS „Installation von Dell Recovery ISO“ (heruntergeladen von der Dell OS Recovery Tool-Software)
- Ergebnis nach der Installation: Langsames Ethernet (@home = Download: 0,87 Mbit/s / Upload: 4,73 Mbit/s)
- Kernelversion nach der Installation: 5.6.0-1032-oem
- Ethernet-Treiberversion nach der Installation: Intel e1000e 3.2.6-k
- Kernelversion nach Update: 5.10.0-1029-oem
- Ethernet-Treiberversion nach Update: Intel e1000e 5.10.0-1029-oem (Treiber im Kernel enthalten)
- Ergebnis nach Update: Slow Ethernet (@home = Download: 0,56 Mbit/s / Upload: 4,49 Mbit/s)
- Erfolglose Versuche, den Treiber 3.8.4 und 3.8.7 manuell zu installieren: Fehler während der Treiberkompilierung mit den Kerneln 5.6.0-1032-oem und 5.10.0-1029-oem
Ubuntu 21.04 „von USB installieren“
- Ergebnis nach der Installation: Langsames Ethernet (@office = Download: 1,52 Mbit/s / Upload: 400,58 Mbit/s)
- Kernel-Version nach der Installation: 5.11.0-16-generic
- Ethernet-Treiberversion nach der Installation: 5.11.0-16-generic (Treiber im Kernel enthalten)
- Kernel-Version nach Update: 5.11.0-18-generic
- Ethernet-Treiberversion nach Update: 5.11.0-18-generic (Treiber im Kernel enthalten)
- Ergebnis nach Update: Langsames Ethernet (@office = Download: 2,22 Mbit/s / Upload: 410,05 Mbit/s)
Windows 10 Professional (Version 21H1)
- Ergebnis nach Installation: Ethernet ok (@office = Download: 850,12 Mbit/s / Upload: 519,30 Mbit/s)
Wie wir also nach all diesen Tests sehen können, können wir ein Hardwareproblem bereits ausschließen (Das Problem tritt bei 5 oder 6 der getesteten 20 Laptops auf) und die Bandbreite ist unter Ubuntu 18.04 perfekt, sobald die Intel-Treiber manuell installiert sind und unter Windows.
Zunächst denke ich, die Lösung wäre, eine neuere Version des Treibers „Intel e1000e“ zu installieren, aber wenn ich versuche, ihn auf dem von der „Dell ISO“ installierten Ubuntu zu kompilieren, erhalte ich diese Fehler (entschuldigen Sie die französische Sprache) :
Auf Kernel 5.6.0-1032-oem (von Dell ISO):
administrateur@administrateur-Latitude-5420:~/Téléchargements/e1000e-3.8.7/src$ sudo make *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but *** the signing key cannot be found. Module signing has been *** disabled for this build. make[1] : on entre dans le répertoire « /usr/src/linux-headers-5.6.0-1032-oem » CC [M] /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o In file included from /home/administrateur/Téléchargements/e1000e-3.8.7/src/e1000.h:14, from /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.c:30: /home/administrateur/Téléchargements/e1000e-3.8.7/src/kcompat.h:825:2: error: #error UTS_UBUNTU_RELEASE_ABI is too large... 825 | #error UTS_UBUNTU_RELEASE_ABI is too large... | ^~~~~ make[2]: *** [scripts/Makefile.build:276: /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o] Erreur 1 make[1]: *** [Makefile:1707: /home/administrateur/Téléchargements/e1000e-3.8.7/src] Erreur 2 make[1] : on quitte le répertoire « /usr/src/linux-headers-5.6.0-1032-oem » make: *** [Makefile:73: default] Erreur 2
Auf Kernel 5.10.0-1029-oem (von Dell ISO):
administrateur@administrateur-Latitude-5420:~/Téléchargements/e1000e-3.8.7/src$ sudo make *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but *** the signing key cannot be found. Module signing has been *** disabled for this build. make[1] : on entre dans le répertoire « /usr/src/linux-headers-5.10.0-1029-oem » CC [M] /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o In file included from /home/administrateur/Téléchargements/e1000e-3.8.7/src/e1000.h:14, from /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.c:30: /home/administrateur/Téléchargements/e1000e-3.8.7/src/kcompat.h:825:2: error: #error UTS_UBUNTU_RELEASE_ABI is too large... 825 | #error UTS_UBUNTU_RELEASE_ABI is too large... | ^~~~~ make[2]: *** [scripts/Makefile.build:287: /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o] Erreur 1 make[1]: *** [Makefile:1849: /home/administrateur/Téléchargements/e1000e-3.8.7/src] Erreur 2 make[1] : on quitte le répertoire « /usr/src/linux-headers-5.10.0-1029-oem » make: *** [Makefile:73: default] Erreur 2
Nachdem ich Ubuntu vom offiziellen ISO (nicht von Dell) neu installiert und SecureBoot deaktiviert hatte, konnte ich endlich erfolgreich den neuen Intel e1000e-Treiber installieren … aber … das Problem besteht immer noch …
Auf Kernel 5.8.0-43-generic (von offiziellem Ubuntu ISO)
- Ergebnis nach Treiberupdate 3.8.7: Langsames Ethernet (@home = Download: 0,16 Mbit/s / Upload: 2,38 Mbit/s)
Auf Kernel 5.8.0-55-generic (von offiziellem Ubuntu ISO)
- Ergebnis nach Treiberupdate 3.8.7: Langsames Ethernet (@home = Download: 1,00 Mbit/s / Upload: 5,13 Mbit/s)
Ich muss gestehen, dass ich völlig ratlos bin … Haben Sie eine Idee, woher das kommen könnte?
In der Zwischenzeit finden Sie hier das Ergebnis der lshw -C network
Bestellung. Zögern Sie nicht, mich nach den Ergebnissen anderer Bestellungen zu fragen. Ich werde sie veröffentlichen.
$ sudo lshw -C network
*-network:1
description: Ethernet interface
produit: Ethernet Connection (13) I219-LM
fabricant: Intel Corporation
identifiant matériel: 1f.6
information bus: pci@0000:00:1f.6
nom logique: enp0s31f6
version: 20
numéro de série: 38:14:28:0f:32:1a
taille: 1Gbit/s
capacité: 1Gbit/s
bits: 32 bits
horloge: 33MHz
fonctionnalités: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.8.7-NAPI duplex=full firmware=0.8-4 ip=192.168.1.31 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
ressources: irq:147 mémoire:a2300000-a231ffff
Vielen Dank im Voraus für Ihre Hilfe ! :)
Yann
Aktualisieren
Hier sind die Ergebnisse der nestat -i
und netstat -s
Befehle (in meinem Netzwerk zu Hause):
$ netstat -i
Table d'interfaces noyau
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s31f 1500 29522 448 361 0 30261 0 0 0 BMRU
lo 65536 4572 0 0 0 4572 0 0 0 LRU
wlp0s20f 1500 7350 0 672 0 563 0 0 0 BMRU
$ netstat -s
Ip:
Forwarding: 2
50727 total packets received
6 with invalid addresses
0 forwarded
0 incoming packets discarded
49394 incoming packets delivered
43118 requests sent out
20 outgoing packets dropped
542 dropped because of missing route
Icmp:
67 ICMP messages received
0 input ICMP message failed
Histogramme d'entrée ICMP
destination unreachable: 67
762 ICMP messages sent
0 ICMP messages failed
Histogramme de sortie ICMP
destination unreachable: 762
IcmpMsg:
InType3: 67
OutType3: 762
Tcp:
545 active connection openings
0 passive connection openings
4 failed connection attempts
5 connection resets received
3 connections established
29486 segments received
40360 segments sent out
861 segments retransmitted
1 bad segments received
290 resets sent
Udp:
11379 packets received
1452 packets to unknown port received
0 packet receive errors
11028 packets sent
0 receive buffer errors
0 send buffer errors
IgnoredMulti: 5760
UdpLite:
TcpExt:
218 TCP sockets finished time wait in fast timer
164 delayed acks sent
Quick ack mode was activated 36 times
7910 packet headers predicted
6247 acknowledgments not containing data payload received
10413 predicted acknowledgments
TCPSackRecovery: 140
Detected reordering 1 times using SACK
6 congestion windows recovered without slow start after partial ack
TCPLostRetransmit: 100
490 fast retransmits
48 retransmits in slow start
TCPTimeouts: 95
TCPLossProbes: 300
TCPLossProbeRecovery: 30
TCPSackRecoveryFail: 7
TCPDSACKOldSent: 40
TCPDSACKOfoSent: 5
TCPDSACKRecv: 193
93 connections reset due to unexpected data
1 connections reset due to early user close
3 connections aborted due to timeout
TCPDSACKIgnoredOld: 1
TCPDSACKIgnoredNoUndo: 109
TCPSackShifted: 790
TCPSackMerged: 1396
TCPSackShiftFallback: 320
TCPRcvCoalesce: 1208
TCPOFOQueue: 1950
TCPOFOMerge: 5
TCPChallengeACK: 1
TCPSYNChallenge: 1
TCPAutoCorking: 157
TCPSynRetrans: 43
TCPOrigDataSent: 27241
TCPHystartDelayDetect: 13
TCPHystartDelayCwnd: 421
TCPKeepAlive: 612
TCPDelivered: 27555
TCPAckCompressed: 187
TcpTimeoutRehash: 95
TcpDuplicateDataRehash: 3
IpExt:
InMcastPkts: 2913
OutMcastPkts: 260
InBcastPkts: 5760
OutBcastPkts: 2
InOctets: 25001747
OutOctets: 37878931
InMcastOctets: 857652
OutMcastOctets: 17502
InBcastOctets: 5995183
OutBcastOctets: 108
InNoECTPkts: 52735
MPTcpExt:
Antwort1
Endlich jemand, der genau das gleiche Problem hat. Ich habe einen Fehler auf Launchpad gemeldet:e1000e extrem langsam.
Kannst du dort auch einen Kommentar abgeben? Oder +1 geben oder so? Es gibt auch einen Workaround.
aspm
Der Trick besteht darin, es pcie_aspm=off
als Kerneloption in zu deaktivieren /etc/default/grub
, und zwar wie folgt:
GRUB_CMDLINE_LINUX_DEFAULT="splash pcie_aspm=off"
Führen Sie danach Folgendes aus:
update-grub
pcie_aspm
ist eine Art Energieverwaltungsding, das meinen Netzwerkcontroller wahrscheinlich in den Ruhezustand versetzt oder so etwas, und das Einstecken eines USB-Speichersticks in den Laptop weckt ihn irgendwie auf.
Antwort2
Versuche dies
sudo ethtool -C enp0s31f rx-usecs 6000
ethtool ist nicht persistent, daher müssen Sie es bei jedem Neustart erneut ausführen (oder dafür ein Startskript erstellen).