NIC-tools en diagnostiek: een module uitlezen vanaf de server
Een server heeft geen show interface transceiver, maar beschikt één laag lager over dezelfde informatie: de NIC-driver leest de EEPROM van de module en maakt deze beschikbaar via ethtool, hulpprogramma's van fabrikanten en, op Windows en ESXi, via hun eigen opdrachten. Deze pagina geeft de hulpmiddelen per OS en fabrikant, wat elk hulpmiddel toont (identiteit, DDM, FEC-tellers, linkstatus, PCIe), en hoe u de uitvoer uitlegt als een link uitvalt of fouten zich opstapelen.
| Opdracht | Toont |
|---|
ethtool eth0 | linkstatus, snelheid, duplex, autonegotiatie, ondersteunde/geadverteerde modi, poorttype (FIBRE/DA) |
ethtool -m eth0 (--module-info) | gedecodeerde EEPROM: identifier, fabrikant, PN, SN, datum, conformiteit, golflengte, lengtes; DDM (temperatuur, Vcc, bias, Tx/Rx-vermogen, drempels, alarmvlaggen) als de module dit heeft |
ethtool -m eth0 raw on hex on | onbewerkte A0h- (en A2h-)dump voor vergelijking op byteniveau (Geheugenkaart) |
ethtool -m eth0 page 0x11 … (nieuwer) | CMIS-pagina's op 400G+-modules |
ethtool -i eth0 | driver, versie, firmware/NVM-versie, busadres |
ethtool -S eth0 | statistieken, waaronder CRC-fouten, FEC gecorrigeerd/niet-gecorrigeerd bij sommige drivers |
ethtool --show-fec eth0 / --set-fec eth0 encoding rs | geconfigureerde en actieve FEC-modus |
ethtool -s eth0 speed 25000 duplex full autoneg off | snelheid forceren |
ethtool -p eth0 5 | poort-LED laten knipperen om de poort te identificeren |
ethtool --show-priv-flags eth0 | driverspecifieke vlaggen (bijv. link-down-on-close) |
Andere Linux-bronnen: dmesg, gefilterd op sfp, module en link (driverberichten over modulekwalificatie), lspci -vv -s <addr> (PCIe-linkbreedte/-snelheid onder LnkSta), ip -s link show eth0 (tellers), /sys/class/net/eth0/ (carrier, snelheid).
Hulpmiddelen van fabrikanten
| Fabrikant | Hulpmiddel | Belangrijkste toepassingen |
|---|
| Nvidia / Mellanox | mlxlink -d <pci> -m -e -c | module-informatie en DDM (-m), oog/BER en FEC (-e, -c), linkpartner; mlxlink … --fec_override, --speeds |
| Nvidia / Mellanox | mlxconfig -d <pci> q / set | poorttype (IB/ETH), linktype, KEEP_ETH_LINK_UP, FEC-override, breakout |
| Nvidia / Mellanox | mst status, mlxfwmanager | apparatenlijst, firmware |
| Nvidia / Mellanox | ibstat, ibportstate, iblinkinfo | InfiniBand-poortstatus, breedte, snelheid (IB-fabric) |
| Intel | ethtool -m | primair; Intel heeft geen afzonderlijk hulpmiddel voor moduledumps |
| Intel | nvmupdate64e, epct64e | NVM-firmware-update; poortconfiguratie (E810-poortopties, bijv. 2×100G versus 4×25G) |
| Intel | dmesg | berichten ixgbe/i40e/ice: unsupported module (Optiekcompatibiliteit) |
| Broadcom | bnxtnvm, niccli | NVM, poortinstellingen, FEC/AN, transceiverinformatie |
| Marvell | qedctl | — |
| AMD Solarflare | sfupdate, sfboot | firmware, poortmodi |
| Chelsio | cxgbtool | — |
Windows
| Opdracht | Toont |
|---|
Get-NetAdapter | linkstatus, snelheid |
Get-NetAdapterAdvancedProperty -Name "Ethernet 2" | snelheid/duplex, FEC-modus, jumbo — instelbaar met Set-NetAdapterAdvancedProperty |
Get-NetAdapterHardwareInfo | PCIe-slot, linkbreedte/-snelheid |
Get-NetAdapterStatistics | tellers |
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSetting | Intel-specifieke instellingen; module-informatie in Apparaatbeheer → tabblad Link Speed |
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (Windows-build) | module-informatie en linkdiagnostiek |
| Gebeurtenisviewer → Systeem | driverberichten over niet-ondersteunde modules |
Windows-drivers stellen DDM zelden beschikbaar; gebruik hulpmiddelen van de fabrikant of lees de module op de werkbank uit.
VMware ESXi
| Opdracht | Toont |
|---|
esxcli network nic list / get -n vmnic0 | link, snelheid, driver, firmware |
esxcli network nic stats get -n vmnic0 | tellers |
esxcli system module parameters list -m ixgben / set -m ixgben -p "…" | driverparameters indien ondersteund |
esxcli intnet … (Intel-plugin), esxcli mellanox … / mlxlink (Nvidia-plugin) | fabrikantdiagnostiek, inclusief module-informatie |
vmkernel.log | "unsupported module", link flapping |
esxcli hardware pci list | PCIe-linkstatus |
De uitvoer lezen
| Observatie | Betekenis | Volgende stap |
|---|
ethtool -m: "Cannot get module EEPROM information: Operation not supported" | driver stelt deze niet beschikbaar, poort heeft geen module of I²C van de module antwoordt niet | controleer dmesg, plaats opnieuw, probeer een andere poort (Lees- en schrijffouten) |
Identiteit leesbaar, Link detected: no, Rx-vermogen normaal | mismatch in snelheid/FEC/AN | ethtool --show-fec, vergelijk met switch (FEC & AN) |
| Rx-vermogen −40 dBm / "-inf" | geen licht | glasvezel, uiteinde aan de andere kant, polariteit (Geen link) |
| Bias en Tx-vermogen in orde, Rx marginaal | vuile connector, lange link | reinig, linkbudget (Rx-vermogen en budget) |
| Niet-corrigeerbare FEC-tellers lopen op | link werkt op de grens | DDM-niveaus, kabelklasse, temperatuur (VDM- en FEC-metrieken) |
| Temperatuur > 70 °C in een 1U-server | luchtstroom | verplaats, OCP-slot (Poorten en PCIe) |
LnkSta: Speed 8GT/s, Width x8 op een 2×100G-kaart | PCIe-knelpunt | slot/bifurcatie |
dmesg: unsupported module | driverwhitelist | Optiekcompatibiliteit op NICs |
Monitoring vanaf de server
- De uitvoer van
ethtool -m is parsebaar; een cronjob of node exporter met de ethtool- collector exporteert DDM naar Prometheus-achtige monitoring (DDM-monitoring). - De JSON-uitvoer van Nvidia
mlxlink (--json) en FEC-tellers van Intel ethtool -S leveren goede signalen vóór een storing (Linkbetrouwbaarheid en monitoring). - Pollintervallen van 30–60 s volstaan; DDM zelf wordt hoogstens elke seconde bijgewerkt.
In CodingBox
ethtool -m raw on hex on en CodingBox lezen dezelfde bytes. Wanneer een module zich op een NIC en op de werkbank anders gedraagt, vergelijk dan beide dumps veld voor veld: een driver die niets herschrijft toont identieke gegevens, en elk verschil wijst op de eigen dynamische pagina's van de module of op een leesfout (Check transceiver, DDM met hulpmiddelen uitlezen).