Diese Datei beschreibt den Linux* Basistreiber für die Intel® PRO/1000 Adapterfamilie Version 6.2.x. Dieser Treiber unterstützt die Kernel 2.4.x und 2.6.x.
Dieser Treiber wird derzeit nur als ladbares Modul unterstützt. Intel liefert keine Korrekturprogramme gegen die Kernquelle, um den Treiber statisch koppeln zu können. Bei Fragen zu Hardware-Anforderungen verweisen wir auf die im Lieferumfang Ihres PRO/1000 Adapters enthaltene Dokumentation. Alle aufgeführten Hardware-Anforderungen gelten für die Verwendung unter Linux.
Die folgenden Funktionen stehen jetzt in unterstützten Kernels zur Verfügung:
Systemeigene VLANs
Kanalverbindung (Gruppenbildung)
SNMP
Die Adaptergruppenbildung wird jetzt über das systemeigene Linux Kanalverbindungsmodul implementiert. Dies ist in unterstützten Linux Kernels enthalten. Dokumentation zur Kanalverbindung ist in der Linux Kernelquelle verfügbar: /Documentation/networking/bonding.txt
Die zuvor im /proc-Dateisystem angezeigten Treiberinformationen werden in dieser Version nicht unterstützt. Verwenden Sie ethtool (Version 1.6 oder höher), lspci oder ifconfig zum Einsehen dieser Informationen.
Die folgenden Intel Netzwerkadapter sind kompatibel mit den Treibern dieser Ausgabe:
Controller
Name des Adapters
Board-Kennung
82544
Intel PRO/1000 XT Serveradapter
A51580-xxx
82544
Intel PRO/1000 XF Serveradapter
A50484-xxx
82545EM
Intel PRO/1000 MT Serveradapter
A92165-xxx, C31527-xxx
82545EM
Intel PRO/1000 MF Serveradapter
A91622-xxx, C33915-xxx
82546GB
Intel PRO/1000 P Dual Port Serveradapter
C6609-XF11
82571EB
Intel PRO/1000 PT Dual Port Serveradapter
C57721-xxx
82572EI
Intel PRO/1000 PT Serveradapter
D28777-xxx
82572EI
Intel PRO/1000 PF Serveradapter
D28779-xxx
Die Board-Kennungsnummer, anhand derer Sie überprüfen können, ob Ihr Adapter von diesem Treiber unterstützt wird, befindet sich auf dem Adapter. Suchen Sie nach einem Aufkleber mit einem Balkencode und einer Nummer mit dem Format 123456-001 (sechs Stellen, Bindestrich, drei Stellen). Vergleichen Sie diese mit der obigen Liste mit Nummern.
Weitere Informationen zur Adapteridentifizierung oder zu den neuesten Netzwerktreibern für Red Hat Linux finden Sie unter Kundensupport.
Sie können den e1000 Treiber auf zwei Weisen installieren:
Installieren vom Quellcode aus
Installieren von einem DKMS RPM
Installieren vom Quellcode aus
Um ein binäres RPM*-Paket dieses Treibers zu erstellen, führen Sie 'rpmbuild -tb <dateiname.tar.gz>' aus. Ersetzen Sie <Dateiname.tar.gz> durch den spezifischen Dateinamen des Treibers.
HINWEIS: Für einen fehlerfreien Betrieb ist es wichtig, dass der gegenwärtig ausgeführte Kern mit der Version und Konfiguration der installierten Kernquelle ÜBEREINSTIMMT. Falls Sie den Kern neu kompiliert haben, müssen Sie das System neu starten und den korrekten Kern zum Starten auswählen.
HINWEIS: Die RPM-Funktionalität wurde bisher nur in Red Hat- und SUSE-Verteilungen getestet.
Verschieben Sie die Basistreiber-Tardatei in ein Verzeichnis Ihrer Wahl. Verwenden Sie beispielsweise '/home/username/e1000' oder '/usr/local/src/e1000'.
Entpacken/dekomprimieren Sie das Archiv, wobei <x.x.x> die Versionsnummer des Treibertars ist: tar zxf e1000-<x.x.x>.tar.gz
Wechseln Sie durch folgende Eingabe zum src-Verzeichnis des Treibers über, wobei <x.x.x> die Versionsnummer des Treibertars ist: cd e1000-<x.x.x>/src/
Kompilieren Sie das Treibermodul: make install Die Binärdatei wird folgendermaßen installiert: /lib/modules/<KERNELVERSION>/kernel/drivers/net/e1000/e1000.[k]o
Die oben genannten Pfade sind die Standardspeicherorte. Sie sind möglicherweise für bestimmte Linux-Verteilungen nicht richtig. Weitere Informationen finden Sie in der Datei ldistrib.txt, die in der Treibertar enthalten ist.
Installieren Sie das Modul: insmod e1000 <Option>=<Wert>
Beachten Sie, dass dieser Befehl für Kernelversionen nach 2.4 u.U. wie folgt geändert werden muss:
modprobe e1000 <Option>=<Wert>
Weisen Sie der Schnittstelle durch folgende Eingabe eine IP-Adresse zu, wobei <x> für die Schnittstellennummer steht: ifconfig eth<x> <IP-Adresse>
Prüfen Sie, ob die Schnittstelle funktioniert. Geben Sie Folgendes ein, wobei <IP-Adresse> die IP-Adresse eines anderen Gerätes auf demselben Subnet wie die Schnittstelle, die getestet wird, ist: ping <IP-Adresse>
Installieren von einem DKMS RPM
Das DKMS RPM-Paket befindet sich auf der Installations-CD unter: \Linux\DKMS\base_driver\. Navigieren Sie andernfalls zum Verzeichnis, das das RPM enthält, das Sie installieren möchten. In der nachfolgenden Tabelle finden Sie Angaben dazu, welches RPM-Paket Sie für Ihre Red Hat-Verteilung verwenden müssen. Folgen Sie den untenstehenden Anleitungen, um die RPMs zu installieren oder zu deinstallieren.
HINWEIS: Das DKMS-System (2.0 oder höher) muss vor der Installation eines DKMS RPM-Pakets installiert sein. DKMS erhalten Sie unter: http://linux.dell.com/dkms/
DKMS RPMs werden für unterstützte Linux-Verteilungen bereitgestellt und sind mit e1000-<Treiberversion>-<Typ>.noarch.rpm bezeichnet.
<Treiberversion> und <Typ> sind spezifisch für die verwendete Treiberversion:
<Treiberversion> ist die Versionsnummer des Treibers, z.B. 6.2.xy
<Typ> ist entweder "sb_dkms" für Pakete, die sowohl Quell- als auch Binärdaten enthalten, oder "bo_dkms" für Pakete, die nur Binärmodule enthalten.
Die Namen für die enthaltenen DKMS RPMs entsprechen folgender Konvention:
Z.B. e1000-5.6.1-sb_dkms.noarch.rpm: e1000 ist der Komponentenname, 5.6.1 die Komponentenversion und sb_dkms der Typ.
HINWEIS: Falls bereits ein früheres RPM-Paket installiert ist, muss dieses vor Installation des neuen RPMs deinstalliert werden. Um festzustellen, ob bereits ein RPM-Paket einer früheren Version installiert ist, geben Sie Folgendes ein: rpm -q e1000.
Um das DKMS RPM-Paket zu installieren, verwenden Sie diesen Befehl:
rpm -i <Dateiname>
Um das RPM zu deinstallieren, verwenden Sie diesen Befehl:
Dieser Parameter ist eine Bit-Maske, die vom Adapter angezeigten Geschwindigkeits- und Duplexeinstellungen festlegt. Bei Verwendung dieses Parameters müssen die Geschwindigkeits- und Duplexparameter nicht angegeben werden.
(Unterstützt nur auf Intel Adaptern, die Kupferverbindungen verwenden)
Legt die Richtung fest, in die Daten fließen dürfen. Kann sowohl ein- als auch zweidirektional sein. Wenn sowohl Duplex als auch der Verbindungspartner auf automatische Absprache eingestellt sind, erkennt das Board die korrekte Duplexeinstellung. Wird der Verbindungspartner erzwungen (entweder Voll- oder Halbduplex), wird automatisch Halbduplex gewählt.
(Unterstützt nur auf Intel Adaptern, die Kupferverbindungen verwenden)
Dieser Wert repräsentiert die Höchstzahl der Interrupts pro Sekunde, die der Controller generiert. Die InterruptThrottleRate ist eine andere Einstellung, die bei der Interrupt-Moderation verwendet wird. Der dynamische Modus verwendet einen heuristischen Algorithmus zur Anpassung von InterruptThrottleRate, basierend auf dem aktuellen Verkehrsaufkommen.
InterruptThrottleRate wird nicht auf Intel 82542-, 82543- oder 82544-basierten Adaptern unterstützt.
HINWEIS: Wenn e1000 mit Standardeinstellungen geladen ist und mehrere Adapter gleichzeitig verwendet werden, kann die CPU-Auslastung nicht-linear ansteigen. Laden Sie die Treiber wie folgt, um die CPU-Auslastung ohne Einfluss auf den Gesamtdurchsatz zu beschränken:
Damit wird InterruptThrottleRate für die erste, zweite und dritte Instanz des Treibers auf 3000 Interrupts/Sek gesetzt. Der Bereich von 2000 bis 3000 Interrupts pro Sekunde ist für die Mehrzahl der Systeme als Ausgangspunkt geeignet. Der optimale Wert ist aber plattformabhängig. Wenn es auf die CPU-Auslastung nicht ankommt, verwenden Sie RX_POLLING (NAPI) und Standardtreibereinstellungen.
HINWEIS: InterruptThrottleRate hat Priorität über die Parameter TxAbsIntDelay und RxAbsIntDelay. In anderen Worten wird der Controller durch die Minimierung der absoluten Verzögerung von Empfang oder Übertragung nicht gezwungen, mehr Interrupts als von der Interrupt-Drosselrate gestattet, zu generieren.
RxDescriptors
80-256 für auf Controller 82542 und 82543 basierende Adapter
80-4096 für alle anderen unterstützten Adapter
256
Dieser Wert definiert die Anzahl der vom Treiber zugewiesenen Empfangspufferdeskriptoren. Wenn Sie diesen Wert erhöhen, kann der Treiber mehr eingehende Pakete puffern, wobei dies mehr Systemspeicher belegt.
Für PCI-Adapter umfasst jeder Deskriptor 16 Byte.
Für PCI Express-Adapter und PCI Express-Adapter im Paketteilungsmodus umfasst jeder Empfangsdeskriptor 32 Byte.
Für PCI- und PCI-X-Adapter wird für jeden Deskriptor ein Empfangspuffer zugewiesen, der eine feste Größe von 2048 Byte speichern kann. Jumbo Frames mit einer Länge über 2048 Byte belegen eine entsprechende Anzahl von 2048-Byte-Speicherbereichen. Eine 9000-Byte-MTU-Einstellung belegt beispielsweise fünf 2048-Byte-Speicherbereiche von fünf Deskriptoren. Dieses Verhalten unterscheidet sich von früheren Treibern, wo versucht wurde, fortlaufende Speicherbereiche größer als oder gleich der MTU-Größe zuzuweisen. Damit verbessert sich auch die Speichereffizienz des e1000-Treibers.
Für PCI Express-Adapter im Paketteilungsmodus wird ein Empfangspuffer mit einem 256-Byte-Headerpuffer und bis zu drei Puffern in Auslagerungsgröße zugewiesen. Eine 9000-Byte-MTU-Einstellung verwendet beispielsweise einen Deskriptor aus einem 256-Byte-Headerpuffer sowie drei Speicherbereichen in Auslagerungsgröße.
HINWEIS: Eine "Auslagerungsgröße" wird im Kernel des Betriebssystems definiert. In i386-Systemen ist dies normal auf 4096 Byte eingestellt. Systeme auf Basis von Intel® EM64T und Intel® Itanium können unterschiedlich definierte Auslagerungsgrößen haben.
RxIntDelay
0-65535 (0=off)
0
Dieser Wert verzögert die Generierung von Empfangsinterrupts in Einheiten von 1024 Mikrosekunden. Durch das Verringern von Empfangsinterrupts kann die Prozessorleistung erhöht werden, wenn die Einstellungen für speziellen Netzwerkverkehr korrekt festgelegt werden. Durch Erhöhen dieses Wertes wird dem Frame-Empfang zusätzliche Latenz hinzugefügt, was den Durchsatz des TCP-Verkehrs verringern kann. Wenn das System gelöschte Empfänge meldet, ist dieser Wert eventuell zu hoch eingestellt, was dazu führt, dass der Treiber nicht über ausreichende Empfangsbeschreibungen verfügt.
VORSICHT: Wenn RxIntDelay auf einen anderen Wert als 0 gesetzt wird, bleiben Adapter unter bestimmten Netzwerkbedingungen möglicherweise hängen (stoppen die Übertragung). Wenn dies eintritt, wird im Systemereignisprotokoll eine NETDEV WATCHDOG-Meldung aufgezeichnet. Darüber hinaus wird der Controller automatisch zurückgesetzt und stellt die Netzwerkverbindung wieder her. Ändern Sie den "RxIntDelay"-Parameter auf null, um ein Aufhängen zu verhindern.
RxAbsIntDelay
0-65535 (0=off)
128
Dieser Wert, in Einheiten von 1024 Mikrosekunden, begrenzt die Verzögerung, mit der ein Empfangsinterrupt generiert wird. Dieser Wert ist nur dann nützlich, wenn RxIntDelay nicht null ist. Er garantiert, dass ein Interrupt generiert wird, nachdem das erste Paket innerhalb der festgesetzten Zeitspanne empfangen wurde. Unter bestimmten Netzwerkbedingungen kann der Gesamtverkehr durch ordnungsgemäßes Tuning und RxIntDelay verbessert werden.
(Unterstützt nur auf Intel 82540, 82545 und höheren Adaptern)
Geschwindigkeit
0, 10, 100, 1000
0
"Speed" setzt die Übertragungsgeschwindigkeit auf den in Megabit pro Sekunde angegebenen Wert. Wenn dieser Parameter nicht angegeben bzw. auf 0 gesetzt wurde und der Verbindungspartner auf automatische Absprache gesetzt ist, erkennt das Board automatisch die richtige Geschwindigkeit. Der Duplex muss auch dann gesetzt werden, wenn die Geschwindigkeit entweder auf 10 oder auf 100 gesetzt ist.
(Unterstützt nur auf Intel Adaptern, die Kupferverbindungen verwenden)
TxDescriptors
80-256 für Intel 82542- und 82543-basierte Adapter
80-4096 für alle anderen unterstützten Adapter
256
Bei diesem Wert handelt es sich um die Anzahl der vom Treiber zugewiesenen Übertragungsbeschreibungen. Durch Erhöhung dieses Werts kann der Treiber mehr Übertragungen in die Warteschlange laden. Jeder Deskriptor ist 16 Byte groß.
HINWEIS: Je nach verfügbaren Systemressourcen wird die Anforderung einer größeren Zahl von Übertragungs-Deskriptoren u.U. abgewiesen. Verwenden Sie in diesem Fall eine kleinere Zahl.
TxIntDelay
0-65535 (0=off)
64
Dieser Wert verzögert die Generierung von Übertragungsinterrupts in Einheiten von 1024 Mikrosekunden. Durch das Verringern von Übertragungsinterrupts kann die Prozessorleistung erhöht werden, wenn die Einstellungen für speziellen Netzwerkverkehr korrekt festgelegt werden. Wenn das System gelöschte Übertragungen meldet, ist dieser Wert eventuell zu hoch eingestellt, was dazu führt, dass der Treiber nicht über ausreichende Übertragungsbeschreibungen verfügt.
TxAbsIntDelay
0-65535 (0=off)
64
Dieser Wert, in Einheiten von 1024 Mikrosekunden, begrenzt die Verzögerung, mit der ein Übertragungsinterrupt generiert wird. Dieser Wert ist nur dann nützlich, wenn TxIntDelay nicht null ist. Er garantiert, dass ein Interrupt generiert wird, nachdem das erste Paket innerhalb der festgesetzten Zeitspanne gesendet wurde. Unter bestimmten Netzwerkbedingungen kann der Gesamtverkehr durch ordnungsgemäßes Tuning und TxIntDelay verbessert werden.
(Unterstützt nur auf Intel 82540, 82545 und höheren Adaptern)
XsumRX
0-1
1
Der Wert "1" gibt an, dass der Treiber das Entladen der IP-Prüfsumme für empfangene Pakete (sowohl UDP als auch TCP) zur Adapter -Hardware aktiviert.
Zur Steuerung der Geschwindigkeits- und Duplexkonfiguration werden drei Schlüsselwörter verwendet, und zwar "Speed" (Geschwindigkeit), "Duplex" und "AutoNeg" (Automatische Absprache).
Wenn das Board über eine Glasfaserschnittstelle verfügt, werden diese Schlüsselwörter ignoriert und das Board stellt nur eine Verbindung über 1000 Mbit/s Vollduplex her.
Bei kupferbasierenden Adaptern bewirken die Schlüsselwörter Folgendes:
Der Standardbetrieb ist automatische Absprache ("AutoNeg"). Das Board zeigt alle unterstützten Geschwindigkeits- und Duplexkombinationen an und stellt Verbindungen auf der am häufigsten unterstützten Höchstgeschwindigkeit und im Duplexmodus her, UNTER DER VORAUSSETZUNG, dass der Verbindungspartner auf automatische Absprache ("AutoNeg") eingestellt wurde.
Wenn "Speed" = 1000 ist, wird eine begrenzte automatische Absprache aktiviert und nur 1000 Mbit/s angezeigt (die 1000Base T-Spezifikationen erfordern automatische Absprache).
Wenn "Speed" = 10 oder 100 ist, müssen sowohl "Speed" als auch "Duplex" eingestellt werden. Automatische Absprache ist deaktiviert und der AutoNeg-Parameter wird ignoriert. Der Partner muss ebenfalls erzwungen werden.
Der AutoNeg Parameter wird verwendet, wenn Sie mehr Kontrolle über den automatischen Verhandlungsprozess wünschen. Sie können so steuern, welche Kombinationen aus Geschwindigkeit und Duplex während der automatischen Absprache angeboten werden.
Der Parameter kann entweder als Dezimal- oder als Hexadezimalwert entsprechend dieser Tabelle definiert werden:
modprobe e1000 AutoNeg=0x01 (Beschränkt die automatische Absprache auf 10 Halb) modprobe e1000 AutoNeg=1 (Wie oben) modprobe e1000 AutoNeg=0x02 (Beschränkt die automatische Absprache auf 10 Voll) modprobe e1000 AutoNeg=0x03 (Beschränkt die automatische Absprache auf 10 Halb oder 10 Voll) modprobe e1000 AutoNeg=0x04 (Beschränkt die automatische Absprache auf 100 Halb) modprobe e1000 AutoNeg=0x05 (Beschränkt die automatische Absprache auf 10 Halb oder 100 Halb) modprobe e1000 AutoNeg=0x020 (Beschränkt die automatische Absprache auf 1000 Voll) modprobe e1000 AutoNeg=32 (Wie oben)
Bei Verwendung dieses Parameters müssen "Speed" und "Duplex" nicht angegeben werden.
Verwenden Sie diesen Parameter nicht, wenn der Verbindungspartner auf eine bestimmte Geschwindigkeit und einen bestimmten Duplex festgelegt ist. Verwenden Sie stattdessen die zuvor erwähnten Parameter für "Speed" und "Duplex", um für den Adapter dieselbe Geschwindigkeit und denselben Duplex zu erzwingen.
Konfiguration des Treibers für unterschiedliche Verteilungen
Die Konfiguration eines Netzwerktreibers für ordnungsgemäßes Laden beim Systemstart richtet sich nach der Verteilungsart. Normalerweise erfordert der Konfigurationsvorgang das Hinzufügen einer Alias-Zeile in die Datei "/etc/modules.conf" bzw. "/etc/modprobe.conf", und andere Systemstart-Skripts bzw. Konfigurationsdateien müssen bearbeitet werden. Viele Linux-Verteilungen werden mit Tools geliefert, die diese Änderungen für Sie vornehmen. Wie Netzwerkgeräte für Ihr System zu konfigurieren sind, entnehmen Sie bitte Ihrer Distributionsdokumentation. Sie werden während dieses Vorgangs u. U. nach dem Namen des Treibers oder Moduls gefragt. Der Name für den Linux Basistreiber für die Intel PRO/1000 Adapterfamilie ist e1000.
Wenn Sie beispielsweise den e1000-Treiber für zwei Intel PRO/1000 Adapter (eth0 und eth1) installiert haben und Geschwindigkeit und Duplex auf 10full und 100half einstellen, fügen Sie modules.conf Folgendes hinzu:
alias eth0 e1000 alias eth1 e1000 options e1000 Speed=10,100 Duplex=2,1
Anzeigen von Verbindungsmeldungen
Verbindungsmeldungen werden auf der Konsole nicht angezeigt, wenn die Verteilung Systemmeldungen beschränkt. Um Verbindungsmeldungen für Netzwerktreiber auf Ihrer Konsole anzeigen zu können, setzen Sie "dmesg" auf 8, indem Sie Folgendes eingeben:
dmesg -n 8
HINWEIS: Die Einstellung geht bei Neustart verloren.
Jumbo Frames
Unterstützung für Jumbo Frames wird aktiviert, indem der MTU-Standardwert von 1500 Byte erhöht wird. Verwenden Sie den Befehl "ifconfig" zur Erhöhung der MTU-Größe. Zum Beispiel:
ifconfig eth<x> mtu 9000 up
Die Einstellung geht bei Neustart verloren. Die Einstellungsänderung kann permanent gemacht werden, wenn Sie die Zeile:
MTU = 9000
der Datei /etc/sysconfig/network-scripts/ifcfg-eth<x> hinzufügen.
Dieses Beispiel gilt für die Red Hat-Verteilungen. Bei anderen Verteilungen ist diese Einstellung u.U. an einem anderen Ort gespeichert.
HINWEISE:
Die Intel PRO/1000 MT und solche auf Basis des Intel 82542 Gigabit-LAN-Controllers unterstützen keine Jumbo Frames.
Der Einsatz von Jumbo Frames bei 10 oder 100 Mbit/s kann in schlechter Leistung oder dem Verlust der Verbindung resultieren.
Erhöhen Sie zur Aktivierung von Jumbo Frames die MTU-Größe auf der Schnittstelle auf über 1500.
Die maximale Größe von Jumbo Frames ist 9238 Byte mit einer entsprechenden MTU-Größe von 9216 Byte.
Wake on LAN* (WOL) aktivieren
WOL wird mit dem Ethtool*-Programm konfiguriert. Ethtool ist in allen Red Hat Versionen nach Red Hat 7.2 enthalten. Zur Installation unter anderen Linux Verteilungen können Sie Ethtool von folgender Website herunterladen: http://sourceforge.net/projects/gkernel.
Anweisungen zur Aktivierung von WOL über Ethtool finden Sie auf der oben genannten Website.
WOL wird beim nächsten Herunterfahren oder Neustart des Systems aktiviert. Um WOL für diese Treiberversion zu aktivieren, muss der e1000-Treiber beim Abschalten oder Neustart des Systems geladen sein.
NAPI
NAPI (Rx Abfragemodus) wird im e1000-Treiber unterstützt. NAPI ist standardmäßig aktiviert. Um diese Standardeinstellung zu umgehen, verwenden Sie die folgenden Kompilierzeit-Flags.
Geben Sie zur Deaktivierung von NAPI bei der Kompilierung des Treibermoduls diese zusätzliche Kompilier-Flag an:
make CFLAGS_EXTRA=-DE1000_NO_NAPI install
Geben Sie zur Aktivierung von NAPI bei der Kompilierung des Treibermoduls diese zusätzliche Kompilier-Flag an:
Intel Adapter haben eingebaute Selbsttest-Diagnosefunktionen z.B. für E/A-Konflikte, Speicherfehler, EEPROM-Betriebsfähigkeit und grundlegenden Übertragungs-/Empfangsbetrieb. Dies hilft bei der Bestimmung, ob ein Hardwarefehler durch Adapter- oder Kabelkonnektivität vorliegt. Diese Testfunktion ist in den Adapter eingebaut und über den Treiber aufrufbar. Ethtool (Version 1.8.1 oder höher) wird als Schnittstelle für die Diagnosetests und Ergebnisse verwendet.
Ethtool ist ein Open Source-Programm, das als Schnittstelle für Treiberkonfiguration und -diagnose sowie zur Anzeige statistischer Daten verwendet werden kann.
Geben Sie zum Aufruf der Diagnosefunktion von ethtool folgenden Befehl ein:
ethtool -t <EthX>
<EthX> steht hier für den Namen des getesteten Ethernet-Geräts (z.B. "eth0").
Es folgt ein Beispiel für die Diagnoseausgabe:
The test result is PASS
Register test (offline).......... Passed
EEPROM test (offline).......... Passed
Interrupt test (offline).......... Passed
Loopback test (offline).......... Passed
Link test (on/offline).......... Passed
Standardmäßig wird die umfassendere "Offline"-Testreihe aufgerufen. Dadurch wird kurzzeitig jeglicher aktive Verkehr auf dem getesteten Gerät unterbrochen. Die Reihe der verfügbaren Diagnosetests wird intern von der NIC bestimmt. Die ausgeführten Tests werden von den ethtool-Befehlszeilenparametern bestimmt.
Die folgenden Tests sind gängig auf vielen Intel Adaptern:
Testname
Beschreibung
Testergebnisse
Register
Testmuster werden durch die Geräteregister des Adapters zur Gewährleistung einer ordnungsgemäßen Funktionalität geschrieben, gelesen und bestätigt.
Ein fehlgeschlagener Test kann auf einen fehlerhaften Adapter hindeuten.
FIFO
Dieses Dienstprogramm schreibt Test-Bitmuster in die FIFO-Puffer (First In First Out = Bearbeitung nach Reihenfolge) des Adapters, um sicherzustellen, dass diese ordnungsgemäß funktionieren. Nicht alle Adapter verfügen über FIFO-Puffer; deshalb wird diese Option u.U. nicht in den Testergebnissen aufgeführt.
Ein fehlgeschlagener Test kann auf einen fehlerhaften Adapter hindeuten.
EEPROM
Dieser Test wird ausgeführt, wenn der Adapter mit diesem Speichertyp ausgerüstet ist. Es werden sowohl die Lesbarkeit des EEPROM als auch die Datenintegrität via Prüfsumme getestet.
Ein fehlgeschlagener Test kann auf einen fehlerhaften Adapter hindeuten.
Interrupt
Hier wird die Fähigkeit des Adapters zur Erzeugung eines Interrupt getestet. Dabei wird das Interrupt-Ursachenregister eingerichtet und das Interrupt-Einrichtungsregister gelesen, um zu prüfen, ob der Adapter einen internen Interrupt korrekt registriert hat.
Ein fehlgeschlagener Test kann auf einen fehlerhaften Adapter hindeuten.
Loopback
Es gibt zwei interne Loopback-Tests: MAC (Media Access Controller) Loopback und PHY (LAN Controller) Loopback. Keiner dieser Tests erfordert eine externe Loopback-Verbindung oder einen Responder. Diese Tests bringen den Adapter in den erforderlichen Loopback-Modus und senden Pakete durch den Empfangsschaltkreis und die Logik des Adapters zurück.
Ein fehlgeschlagener Test kann auf einen fehlerhaften Adapter hindeuten.
Link
Hier wird geprüft, ob der Adapter eine Verbindung zu seinem Verbindungspartner aufgebaut hat.
Schlägt dieser Test fehl, prüfen Sie die Kabelverbindung und den Status des Verbindungspartners.
Beim Versuch, den Treiber durch Ausführen von "make install" zu kompilieren, kann die folgende Fehlermeldung auftreten:
"Linux kernel source not configured - missing version.h"
Um dieses Problem zu lösen, erstellen Sie die Datei "version.h", indem Sie im Quellverzeichnis des Linux Kernels Folgendes eingeben:
make include/linux/version.h
SuSE LINUX Enterprise Server 9
Warnmeldung bei Treibererstellung
Bei der Erstellung des Treibers auf SuSE LINUX Enterprise Server 9 Installationen wird u.U. die folgende oder eine ähnliche Warnmeldung angezeigt. Diese Meldung kann unbesorgt ignoriert werden. Der Treiber wird normal geladen und funktioniert ordnungsgemäß.
Symbol version dump /usr/src/<kernel-version>-obj/<arch>/<kernel flavor>/Module.symvers is missing, modules will have CONFIG_MODVERSIONS disabled.
Ignorieren Sie beim Laden des Treibers die Warnmeldungen im syslog: linux kernel: <Treibername>: no version for "struct_module" found: kernel tainted. linux kernel: <Treibername>: unsupported module, tainting kernel.
Leitung von Verkehr mit UP oder noapic nicht möglich
In der standardmäßigen SUSE 9.3 (UP) Kernelkonfiguration ist APIC deaktiviert und MSI aktiviert. MSI erfordert für ordnungsgemäßen Betrieb, dass LOCAL_APIC aktiviert ist.
Hierbei handelt es sich um ein Problem mit der Kernelkonfiguration in SUSE 9.3. Es tritt bei Intel® EM-64T Systemen oder in SUSE 10 nicht auf.
Für ordnungsgemäße Funktion von PCIe NICs in SUSE 9.3 UP Kernels muss der Kernel mit einer der folgenden Optionen neu konfiguriert werden:
Disable or unset CONFIG_X86_APIC_OFF in the kernel config. (damit werden APIC und MSI für den UP Kernel aktiviert)
Disable or unset CONFIG_PCI_MSI in the kernel config. (damit werden APIC und MSI für den UP Kernel deaktiviert)
Systemanforderungen für Jumbo Frames
Auf Red Hat Linux Systemen mit 64 MB RAM oder weniger, die Jumbo Frames ausführen, wurden Fehler bei der Speicherzuordnung beobachtet. Es ist möglich, dass Ihr System mehr als die angegebenen 64 MB RAM an Mindest-Systemspeicher benötigt, wenn Sie Jumbo Frames verwenden.
Leistungsabfall bei Jumbo Frames
In einigen Jumbo Frames-Umgebungen kann ein Leistungsabfall beim Durchsatz auftreten. Sollte dies der Fall sein, können Sie dies möglicherweise beheben, indem Sie die Puffergröße des Anwendungsanschlusses erhöhen bzw. die Eintragswerte in /proc/sys/net/ipv4/tcp_*mem erhöhen. Weitere Einzelheiten finden Sie in der jeweiligen Anwendungsdokumentation und in der Textdatei /usr/src/linux*/Documentation/networking/ip-sysctl.txt.
Jumbo Frames auf dem Foundry BigIron 8000 Switch
Bei der Verwendung von Jumbo Frames bei bestehender Verbindung mit einem Foundry BigIron 8000 Switch gibt es ein bekanntes Problem, das auf einer Beschränkung eines Drittanbieterprodukts beruht. Wenn Sie Pakete verlieren sollten, verringern Sie die MTU-Größe.
Mehrere Schnittstellen im selben Ethernet-Broadcast-Netzwerk
Aufgrund des standardmäßigen ARP-Verhalten unter Linux ist ein erwartungsgemäßes Verhalten eines Systems in zwei IP-Netzwerken innerhalb derselben Ethernet-Broadcast-Domäne (nicht partitionierter Switch) nicht möglich. Alle Ethernet-Schnittstellen reagieren auf IP-Datenverkehr an alle dem System zugewiesenen IP-Adressen. Dies führt zu unausgeglichenem Empfangsverkehr.
Wenn Sie über mehrere Schnittstellen in einem Server verfügen, schalten Sie entweder durch Eingabe folgenden Befehls die ARP-Filterung ein:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter (das funktioniert nur, wenn Ihre Kernel-Version höher als 2.4.5 ist)
HINWEIS: Die Einstellung geht bei Neustart verloren. Diese Konfigurationsänderung kann aber über eine der folgenden Methoden permanent gemacht werden:
Fügen Sie die folgende Zeile in /etc/sysctl.conf ein:
net.ipv4.conf.all.arp_filter = 1
Installieren Sie die Schnittstellen in separaten Broadcast-Domänen (entweder auf unterschiedlichen Switches oder auf einem in VLANs partitionierten Switch).
82541/82547 kann keine Verbindung aufbauen oder der Verbindungsaufbau mit einigen Verbindungspartnern ist langsam
Es besteht ein bekanntes Kompatibilitätsproblem mit 82541/82547 und einigen Switches, bei denen keine Verbindung aufgebaut wird oder der Verbindungsaufbau mit einigen Verbindungspartnern langsam stattfindet. Bei diesen Switches besteht insbesondere eine bekannte Inkompatibilität mit 82541/82547:
Planex FXG-08TE
I-O Data ETG-SH8
Zur Umgehung dieses Problems kann der Treiber mit einer Überschreibung der PHY-Master-/Slaveeinstellung kompiliert werden. Durch Erzwingung des Master- oder Slavemodus wird die Zeit für den Verbindungsaufbau verkürzt.
Allgemeine Informationen und Support erhalten Sie vom Kundensupport.
Sollten Schwierigkeiten mit dem herausgegebenen Quellcode auf unterstützten Kernels mit einem unterstützten Adapter auftreten, senden Sie bitte eine e-Mail mit allen relevanten Angaben an linux.nics@intel.com.