Solution 1 :
Veuillez essayer de démarrer le noyau avec le pcie_aspm=off
paramètre du noyau.
Solution 2 :
À partir du fichier Lisez-moi du pilote Intel :downloadmirror.intel.com/9180/eng/README.txt
82573(V/L/E) Messages de blocage de l'unité TX
Plusieurs adaptateurs avec le chipset 82573 affichent des messages "TX unit hang" lors d'un fonctionnement normal avec le pilote e1000. Le problème apparaît à la fois avec TSO activé et désactivé, et est causé par une fonction de gestion de l'alimentation qui est activée dans l'EEPROM. Les premières versions des chipsets aux fournisseurs avaient le bit EEPROM qui activait la fonctionnalité. Une fois le problème découvert, de nouveaux adaptateurs ont été publiés avec la fonction désactivée dans l'EEPROM.
Si vous rencontrez le problème dans un adaptateur et que le chipset est basé sur 82573, vous pouvez vérifier que votre adaptateur a besoin du correctif en utilisant ethtool :
# 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
^^
La valeur à l'offset 0x001e (de) a le bit 0 non défini. Cela active la fonction d'économie d'énergie problématique. Dans ce cas, l'EEPROM doit lire "df" à offset0x001e.
Un correctif EEPROM unique est disponible sous forme de script shell. Ce script vérifiera que l'adaptateur est applicable au correctif et si le correctif est nécessaire ou non. Si le correctif est requis, il applique la modification à l'EEPROM et met à jour la somme de contrôle. L'utilisateur doit redémarrer le système après avoir appliqué le correctif si des modifications ont été apportées à l'EEPROM.
Exemple de sortie du script :
# 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!
Le script peut être téléchargé surhttp://e1000.sourceforge.net/files/fixeep-82573-dspd.sh
Solution 3 :
En tant que fossoyeur, j'aimerais déterrer ce vieux fil de discussion pour partager ma solution pour Ubuntu. Téléchargez le dernier pilote réseau Intel (3.4.0.2 au moment de la rédaction). Décompressez-le, ajoutez quelque chose à une ligne dans le Makefile, récupérez le correctif, appliquez le correctif, installez, lisez le module et enfin, redémarrez. Bonne chance.
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
Ce wad s'est terminé sur Ubuntu 18.04, noyau 4.15.
Solution 4 :
J'ai eu le même problème avec un e1000e sur le noyau Ubuntu 18.04.1, 4.15.0-36 et rien n'y fait. J'ai mis à jour le pilote directement d'Intel vers 3.4.2.1-NAPI, sans aucune amélioration. Toutes les choses énumérées dans ce fil et l'autre fil n'ont pas aidé. En lisant ce rapport de bogue Ubuntu, j'ai pensé à une solution de contournement pour réduire considérablement la taille du ringbuffer :
sudo ethtool -G eth0 rx 256 tx 256
Cela résout complètement le problème pour moi et ne semble pas du tout affecter les performances (utilisation sur ordinateur, seuls les tests de base ont été effectués).