Herramientas y diagnóstico de NIC: leer un módulo desde el servidor
Un servidor no tiene show interface transceiver, pero cuenta con la misma información un nivel más abajo: el driver de la NIC lee la EEPROM del módulo y la expone mediante ethtool, utilidades del fabricante y, en Windows y ESXi, mediante sus propios comandos. Esta página enumera las herramientas por sistema operativo y fabricante, qué muestra cada una (identidad, DDM, contadores de FEC, estado del enlace, PCIe) y cómo interpretar la salida cuando un enlace está caído o se acumulan errores.
| Comando | Muestra |
|---|
ethtool eth0 | estado del enlace, velocidad, dúplex, autonegociación, modos soportados/anunciados, tipo de puerto (FIBRE/DA) |
ethtool -m eth0 (--module-info) | EEPROM decodificada: identificador, fabricante, PN, SN, fecha, compliance, longitud de onda, alcances; DDM (temperatura, Vcc, bias, potencia Tx/Rx, umbrales, banderas de alarma) si el módulo lo soporta |
ethtool -m eth0 raw on hex on | volcado en crudo de A0h (y A2h) para comparación byte a byte (Mapa de memoria) |
ethtool -m eth0 page 0x11 … (más reciente) | páginas CMIS en módulos de 400G y superiores |
ethtool -i eth0 | driver, versión, versión de firmware/NVM, dirección de bus |
ethtool -S eth0 | estadísticas, incl. errores CRC, FEC corregidos/no corregidos en algunos drivers |
ethtool --show-fec eth0 / --set-fec eth0 encoding rs | modo FEC configurado y activo |
ethtool -s eth0 speed 25000 duplex full autoneg off | forzar velocidad |
ethtool -p eth0 5 | parpadear el LED del puerto para identificarlo |
ethtool --show-priv-flags eth0 | banderas específicas del driver (p. ej. link-down-on-close) |
Otras fuentes en Linux: dmesg filtrado por sfp, module y link (mensajes del driver sobre la calificación del módulo), lspci -vv -s <addr> (ancho/velocidad del enlace PCIe bajo LnkSta), ip -s link show eth0 (contadores), /sys/class/net/eth0/ (portadora, velocidad).
Herramientas de fabricantes
| Fabricante | Herramienta | Usos principales |
|---|
| Nvidia / Mellanox | mlxlink -d <pci> -m -e -c | información del módulo y DDM (-m), ojo/BER y FEC (-e, -c), link partner; mlxlink … --fec_override, --speeds |
| Nvidia / Mellanox | mlxconfig -d <pci> q / set | tipo de puerto (IB/ETH), tipo de enlace, KEEP_ETH_LINK_UP, override de FEC, breakout |
| Nvidia / Mellanox | mst status, mlxfwmanager | lista de dispositivos, firmware |
| Nvidia / Mellanox | ibstat, ibportstate, iblinkinfo | estado del puerto InfiniBand, ancho, velocidad (Fabric IB) |
| Intel | ethtool -m | principal; Intel no tiene herramienta propia de volcado de módulo |
| Intel | nvmupdate64e, epct64e | actualización de firmware NVM; configuración de puerto (opciones de puerto E810, p. ej. 2×100G frente a 4×25G) |
| Intel | dmesg | mensajes ixgbe/i40e/ice: unsupported module (Compatibilidad óptica) |
| Broadcom | bnxtnvm, niccli | NVM, ajustes de puerto, FEC/AN, información del transceptor |
| Marvell | qedctl | — |
| AMD Solarflare | sfupdate, sfboot | firmware, modos de puerto |
| Chelsio | cxgbtool | — |
Windows
| Comando | Muestra |
|---|
Get-NetAdapter | estado del enlace, velocidad |
Get-NetAdapterAdvancedProperty -Name "Ethernet 2" | velocidad/dúplex, modo FEC, jumbo — configurable con Set-NetAdapterAdvancedProperty |
Get-NetAdapterHardwareInfo | slot PCIe, ancho/velocidad del enlace |
Get-NetAdapterStatistics | contadores |
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSetting | ajustes específicos de Intel; información del módulo en Administrador de dispositivos → pestaña Link Speed |
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (compilación para Windows) | información del módulo y diagnóstico del enlace |
| Visor de eventos → Sistema | mensajes del driver sobre módulos no soportados |
Los drivers de Windows rara vez exponen DDM; use herramientas del fabricante o lea el módulo en el banco.
VMware ESXi
| Comando | Muestra |
|---|
esxcli network nic list / get -n vmnic0 | enlace, velocidad, driver, firmware |
esxcli network nic stats get -n vmnic0 | contadores |
esxcli system module parameters list -m ixgben / set -m ixgben -p "…" | parámetros del driver donde estén soportados |
esxcli intnet … (plugin Intel), esxcli mellanox … / mlxlink (plugin Nvidia) | diagnóstico del fabricante, incl. información del módulo |
vmkernel.log | "unsupported module", caídas de enlace |
esxcli hardware pci list | estado del enlace PCIe |
Interpretación de la salida
| Observación | Significado | Siguiente paso |
|---|
ethtool -m: "Cannot get module EEPROM information: Operation not supported" | el driver no lo expone, el puerto no tiene módulo, o el I²C del módulo no responde | revisar dmesg, reasentar, probar otro puerto (Errores de lectura y escritura) |
Identidad legible, Link detected: no, potencia Rx normal | discrepancia de velocidad/FEC/AN | ethtool --show-fec, comparar con el switch (FEC y AN) |
| Potencia Rx −40 dBm / "-inf" | sin luz | fibra, extremo remoto, polaridad (Sin enlace) |
| Bias y potencia Tx correctos, Rx al límite | conector sucio, enlace largo | limpiar, presupuesto (Potencia Rx y presupuesto) |
| Contadores de FEC no corregibles en aumento | enlace al límite | niveles DDM, clase de cable, temperatura (Métricas VDM y FEC) |
| Temperatura > 70 °C en un servidor 1U | ventilación | reposicionar, slot OCP (Puertos y PCIe) |
LnkSta: Speed 8GT/s, Width x8 en una tarjeta 2×100G | cuello de botella PCIe | slot/bifurcación |
dmesg: unsupported module | lista blanca del driver | Compatibilidad óptica en NIC |
Monitorización desde el servidor
- La salida de
ethtool -m es analizable; un cron job o un node exporter con el colector ethtool exporta DDM a una monitorización de estilo Prometheus (Monitorización). - La salida JSON de
mlxlink de Nvidia (--json) y los contadores FEC de ethtool -S de Intel son buenas señales previas al fallo (Fiabilidad del enlace y monitorización). - Intervalos de sondeo de 30–60 s son suficientes; el propio DDM se actualiza como máximo una vez por segundo.
En CodingBox
ethtool -m raw on hex on y CodingBox leen los mismos bytes: cuando un módulo se comporta de forma distinta en una NIC y en el banco, compare ambos volcados campo a campo — un driver que no reescribe nada mostrará datos idénticos, y cualquier diferencia señala las páginas dinámicas propias del módulo o un error de lectura (Check transceiver, Leer DDM con herramientas).