Image by muhammad.abdullah on Magnific
Featured

Probleme mit e1000-Netzwerkkarten unter Linux

Intel NetzwerkkarteImmer wieder gibt es neue Stolperstellen im Zusammenhang mit bewährter Technik. Durch den Absturz des alten Servers und Neueinrichtung der Software fiel mir auf, dass der Betrieb relativ wackelig war. Immer wieder war der Server nicht erreichbar... Da ich am Server keinen Monitor hatte und in den Logs nichts zu sehen war, beschloss ich einen kleinen portablen 15"-Monitor anzuschließen und das Log als Konsolenoutput dauerhaft einzuschalten. War sehr nützlich

Es zeigte sich, dass die Netzwerkkarte ein Problem hatte. Sie blieb förmlich hängen - aber eben nur ab und an. Einen bestimmten Auslöser konnte ich nicht finden. Die Recherche zur Fehlermeldung führte mich zur Lösung: Neuere Linux-Kernel unterstützen diverse Funktionen des Chips zwar - allerdings fehlerhaft. Der Befehl als Administrator

ethtool -K eno1 tso off gso off

schaltete das fehlerhafte Feature der Netzwerkkarte ab. Leider muss diese Einstellung nach jedem Booten erneut gesetzt werden, da sie nicht dauerhaft im System verankert wird. Also suchte ich eine Stelle, die die Initialisierung der Netzwerkkarte abwartet und sodann den Befehl hinterherjagt. Fündig wurde ich beim Network Manager. Dieser erlaubt Skripte einzubinden - je nach Phase.

#!/bin/bash

INTERFACE=$1
ACTION=$2

if [ "$INTERFACE" = "eno1" ] && [ "$ACTION" = "up" ]; then
# Add your custom commands here
    echo "eno1 is now up" | logger -t network-dispatcher
    /sbin/ethtool -K eno1 tso off gso off
#    ethtool -K eno1 tx off rx off
    /bin/touch /tmp/last-ethtool-running
fi

Dieses Skript in den Ordner /etc/NetworkManager/dispatcher.d schieben und nach jedem Booten wird das Script automatisch nach der Grundinitialisierung aufgerufen. Aktuell läuft mein System damit stabil und der Spuk nach unvorhersehbarem Stillstand ist Einhalt geboten.

 

  Hier gibt's die Infos
Free Joomla templates by Ltheme