GNU/Linux >> Tutoriels Linux >  >> Linux

Problèmes Linux e1000e (pilote réseau Intel) à gogo, par où commencer ?

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).


Linux
  1. Dépannage Linux 101 :performances du système

  2. 5 commandes Linux que je vais commencer à utiliser

  3. Activer les services sous Linux

  4. Où est la fonction itoa sous Linux ?

  5. Où dois-je installer mon application sous Linux ?

Personnalisez un Intel NUC avec Linux

Dépannage des problèmes matériels sous Linux

Principes de base de l'administrateur système Linux :démarrer la carte réseau au démarrage

comment démarrer le serveur tomcat sous linux?

Où est le code du planificateur Linux CFS ?

Où est défini ssize_t sous Linux ?