Lösung 1:
Versuchen Sie bitte, den Kernel mit dem pcie_aspm=off
zu booten Kernel-Parameter.
Lösung 2:
Aus Intels Treiber-Readme:downloadmirror.intel.com/9180/eng/README.txt
82573(V/L/E) TX Unit Hang Messages
Mehrere Adapter mit dem 82573-Chipsatz zeigen im normalen Betrieb mit dem e1000-Treiber die Meldung „TX unit hang“ an. Das Problem tritt sowohl bei aktiviertem als auch deaktiviertem TSO auf und wird durch eine Energieverwaltungsfunktion verursacht, die im EEPROM aktiviert ist. Frühe Versionen der Chipsätze für Anbieter hatten das EEPROM-Bit, das die Funktion aktivierte. Nachdem das Problem entdeckt wurde, wurden neuere Adapter mit deaktivierter Funktion im EEPROM veröffentlicht.
Wenn das Problem bei einem Adapter auftritt und der Chipsatz ein 82573-basierter ist, können Sie mithilfe von ethtool überprüfen, ob Ihr Adapter die Korrektur benötigt:
# ethtool -e eth0
Offset Values
------ ------
0x0000 00 12 34 56 fe dc 30 0d 46 f7 f4 00 ff ff ff ff
0x0010 ff ff ff ff 6b 02 8c 10 d9 15 8c 10 86 80 de 83
^^
Der Wert bei Offset 0x001e (de) hat Bit 0 nicht gesetzt. Dies aktiviert die problematische Stromsparfunktion. In diesem Fall muss das EEPROM bei offset0x001e "df" lesen.
Ein einmaliger EEPROM-Fix ist als Shell-Skript verfügbar. Dieses Skript überprüft, ob der Adapter für den Fix geeignet ist und ob der Fix erforderlich ist oder nicht. Wenn die Korrektur erforderlich ist, wendet sie die Änderung auf das EEPROM an und aktualisiert die Prüfsumme. Der Benutzer muss das System neu starten, nachdem er den Fix angewendet hat, wenn Änderungen am EEPROM vorgenommen wurden.
Beispielausgabe des Skripts:
# bash fixeep-82573-dspd.sh eth0
eth0: is a "82573E Gigabit Ethernet Controller"
This fixup is applicable to your hardware
executing command: ethtool -E eth0 magic 0x109a8086 offset 0x1e value 0xdf
Change made. You *MUST* reboot your machine before changes take effect!
Das Skript kann unter http://e1000.sourceforge.net/files/fixeep-82573-dspd.sh
heruntergeladen werdenLösung 3:
Als Totengräber würde ich gerne diesen alten Arschthread ausgraben, um meine Lösung für Ubuntu zu teilen. Laden Sie den neuesten Intel-Netzwerktreiber herunter (3.4.0.2 zum Zeitpunkt des Schreibens). Dekomprimieren Sie es, hängen Sie etwas an eine Zeile im Makefile an, holen Sie sich den Patch, wenden Sie den Patch an, installieren Sie das Modul, laden Sie es herunter und starten Sie schließlich neu. Viel Glück.
wget https://downloadcenter.intel.com/download/15817/Intel-Network-Adapter-Driver-for-PCIe-Intel-Gigabit-Ethernet-Network-Connections-Under-Linux-?product=60019
tar -zxvf e1000e-3.4.0.2.tar.gz
vi e1000e-3.4.0.2/src/Makefile
## Locate line 152: EXTRA_CFLAGS += $(CFLAGS_EXTRA)
## Append -fno-pie
## Download the patch from https://sourceforge.net/p/e1000/bugs/_discuss/thread/9048ab8e
## wget/curl won't work here. THANKS SOURCE FORGE.
patch -p0 < e1000e-3.4.0.2-timer-updates.patch
cd e1000e-3.4.0.2/src/
sudo make install
sudo rmmod e1000e && sudo modprobe e1000e
sudo reboot
Dieses Paket wurde unter Ubuntu 18.04, Kernel 4.15 abgeschlossen.
Lösung 4:
Ich hatte das gleiche Problem mit einem e1000e unter Ubuntu 18.04.1, 4.15.0-36 Kernel und nichts half. Ich habe den Treiber direkt von Intel auf 3.4.2.1-NAPI aktualisiert, ohne Verbesserungen. Alle Dinge, die in diesem und dem anderen Thread aufgeführt sind, haben nicht geholfen. Nachdem ich diesen Ubuntu-Fehlerbericht gelesen habe, habe ich als Workaround gedacht, um die Ringbuffer-Größe erheblich zu reduzieren:
sudo ethtool -G eth0 rx 256 tx 256
Dies löst das Problem für mich vollständig und scheint die Leistung überhaupt nicht zu beeinträchtigen (Desktop-Nutzung, nur grundlegende Benchmarks durchgeführt).