NIC-Tools und Diagnose: ein Modul vom Server auslesen
Ein Server hat kein show interface transceiver, aber dieselbe Information eine Ebene tiefer: Der NIC-Treiber liest das Modul-EEPROM aus und stellt es über ethtool, Hersteller-Tools und unter Windows und ESXi über eigene Befehle bereit. Diese Seite listet die Tools nach Betriebssystem und Hersteller, zeigt, was jedes davon anzeigt (Identität, DDM, FEC-Zähler, Link-Status, PCIe), und erklärt, wie sich die Ausgabe interpretieren lässt, wenn ein Link ausfällt oder sich Fehler häufen.
| Befehl | Zeigt |
|---|
ethtool eth0 | Link-Status, Geschwindigkeit, Duplex, Autonegotiation, unterstützte/beworbene Modi, Port-Typ (FIBRE/DA) |
ethtool -m eth0 (--module-info) | dekodiertes EEPROM: Kennung, Hersteller, PN, SN, Datum, Compliance, Wellenlänge, Längen; DDM (Temperatur, Vcc, Bias, Tx/Rx-Leistung, Schwellwerte, Alarm-Flags), falls das Modul es unterstützt |
ethtool -m eth0 raw on hex on | Rohdump von A0h (und A2h) für den Byte-Vergleich (Speicherkarte) |
ethtool -m eth0 page 0x11 … (neuer) | CMIS-Seiten bei 400G+-Modulen |
ethtool -i eth0 | Treiber, Version, Firmware-/NVM-Version, Busadresse |
ethtool -S eth0 | Statistiken inkl. CRC-Fehler, korrigierte/unkorrigierte FEC bei manchen Treibern |
ethtool --show-fec eth0 / --set-fec eth0 encoding rs | konfigurierter und aktiver FEC-Modus |
ethtool -s eth0 speed 25000 duplex full autoneg off | Geschwindigkeit erzwingen |
ethtool -p eth0 5 | Port-LED blinken lassen, um den Port zu identifizieren |
ethtool --show-priv-flags eth0 | treiberspezifische Flags (z. B. link-down-on-close) |
Weitere Linux-Quellen: dmesg, gefiltert nach sfp, module und link (Treibermeldungen zur Modulqualifizierung), lspci -vv -s <addr> (PCIe-Link-Breite/-Geschwindigkeit unter LnkSta), ip -s link show eth0 (Zähler), /sys/class/net/eth0/ (Carrier, Geschwindigkeit).
| Hersteller | Tool | Hauptnutzung |
|---|
| Nvidia / Mellanox | mlxlink -d <pci> -m -e -c | Modulinfo und DDM (-m), Augendiagramm/BER und FEC (-e, -c), Link-Partner; mlxlink … --fec_override, --speeds |
| Nvidia / Mellanox | mlxconfig -d <pci> q / set | Port-Typ (IB/ETH), Link-Typ, KEEP_ETH_LINK_UP, FEC-Override, Breakout |
| Nvidia / Mellanox | mst status, mlxfwmanager | Geräteliste, Firmware |
| Nvidia / Mellanox | ibstat, ibportstate, iblinkinfo | InfiniBand-Port-Status, -Breite, -Geschwindigkeit (IB-Fabric) |
| Intel | ethtool -m | primäres Werkzeug; Intel hat kein eigenes Tool für den Moduldump |
| Intel | nvmupdate64e, epct64e | NVM-Firmware-Update; Portkonfiguration (E810-Port-Optionen, z. B. 2×100G vs. 4×25G) |
| Intel | dmesg | Meldungen ixgbe/i40e/ice: unsupported module (Optik-Kompatibilität) |
| Broadcom | bnxtnvm, niccli | NVM, Porteinstellungen, FEC/AN, Transceiver-Info |
| Marvell | qedctl | — |
| AMD Solarflare | sfupdate, sfboot | Firmware, Portmodi |
| Chelsio | cxgbtool | — |
Windows
| Befehl | Zeigt |
|---|
Get-NetAdapter | Link-Status, Geschwindigkeit |
Get-NetAdapterAdvancedProperty -Name "Ethernet 2" | Geschwindigkeit/Duplex, FEC-Modus, Jumbo — einstellbar mit Set-NetAdapterAdvancedProperty |
Get-NetAdapterHardwareInfo | PCIe-Slot, Link-Breite/-Geschwindigkeit |
Get-NetAdapterStatistics | Zähler |
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSetting | Intel-spezifische Einstellungen; Modulinfo im Geräte-Manager → Registerkarte Link Speed |
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (Windows-Build) | Modulinfo und Link-Diagnose |
| Event Viewer → System | Treibermeldungen zu nicht unterstützten Modulen |
Windows-Treiber stellen DDM selten bereit; dafür Hersteller-Tools verwenden oder das Modul auf der Werkbank auslesen.
VMware ESXi
| Befehl | Zeigt |
|---|
esxcli network nic list / get -n vmnic0 | Link, Geschwindigkeit, Treiber, Firmware |
esxcli network nic stats get -n vmnic0 | Zähler |
esxcli system module parameters list -m ixgben / set -m ixgben -p "…" | Treiberparameter, sofern unterstützt |
esxcli intnet … (Intel-Plugin), esxcli mellanox … / mlxlink (Nvidia-Plugin) | Hersteller-Diagnose inkl. Modulinfo |
vmkernel.log | „unsupported module“, Link-Flaps |
esxcli hardware pci list | PCIe-Link-Status |
Ausgabe interpretieren
| Beobachtung | Bedeutung | Nächster Schritt |
|---|
ethtool -m: „Cannot get module EEPROM information: Operation not supported“ | Treiber stellt es nicht bereit, Port hat kein Modul, oder Modul-I²C antwortet nicht | dmesg prüfen, neu einsetzen, anderen Port testen (Lese- und Schreibfehler) |
Identität lesbar, Link detected: no, Rx-Leistung normal | Fehlanpassung bei Geschwindigkeit/FEC/AN | ethtool --show-fec, mit dem Switch vergleichen (FEC & AN) |
| Rx-Leistung −40 dBm / „-inf“ | kein Licht | Faser, Gegenstelle, Polarität (Kein Link) |
| Bias und Tx-Leistung in Ordnung, Rx grenzwertig | verschmutzter Stecker, langer Link | reinigen, Budget prüfen (Rx-Leistung & Budget) |
| steigende unkorrigierbare FEC-Zähler | Link am Limit | DDM-Werte, Kabelklasse, Temperatur (VDM- und FEC-Metriken) |
| Temperatur > 70 °C in einem 1U-Server | Luftstrom | umpositionieren, OCP-Slot (Ports & PCIe) |
LnkSta: Speed 8GT/s, Width x8 bei einer 2×100G-Karte | PCIe-Engpass | Slot/Bifurkation |
dmesg: unsupported module | Treiber-Whitelist | Optik-Kompatibilität bei NICs |
Überwachung vom Server aus
- Die Ausgabe von
ethtool -m lässt sich parsen; ein Cron-Job oder ein Node Exporter mit dem ethtool-Collector exportiert DDM in ein Prometheus-artiges Monitoring (Monitoring). - Die JSON-Ausgabe von Nvidia
mlxlink (--json) und die FEC-Zähler von Intel ethtool -S liefern gute Frühwarnsignale (Link-Zuverlässigkeit & Monitoring). - Abfrageintervalle von 30–60 s reichen aus; DDM selbst aktualisiert sich bestenfalls jede Sekunde.
In CodingBox
ethtool -m raw on hex on und CodingBox lesen dieselben Bytes: Verhält sich ein Modul an einer NIC anders als auf der Werkbank, sollten die beiden Dumps Feld für Feld verglichen werden. Ein Treiber, der nichts umschreibt, zeigt identische Daten; jede Abweichung weist auf die eigenen dynamischen Seiten des Moduls oder auf einen Lesefehler hin (Check transceiver, DDM mit Tools auslesen).