CodingBox Documentação

Ferramentas e diagnóstico de NIC: como ler um módulo a partir do servidor

Um servidor não tem show interface transceiver, mas tem a mesma informação uma camada abaixo: o driver da NIC lê a EEPROM do módulo e a expõe através do ethtool, de utilitários de fabricante e, no Windows e no ESXi, através de comandos próprios. Esta página lista as ferramentas por sistema operacional e fabricante, o que cada uma mostra (identidade, DDM, contadores de FEC, estado do enlace, PCIe) e como interpretar a saída quando um enlace cai ou os erros se acumulam.

Linux: ethtool

ComandoMostra
ethtool eth0estado do enlace, velocidade, duplex, autonegociação, modos suportados/anunciados, tipo de porta (FIBRE/DA)
ethtool -m eth0 (--module-info)EEPROM decodificada: identificador, fabricante, PN, SN, data, conformidade, comprimento de onda, comprimentos; DDM (temperatura, Vcc, bias, potência Tx/Rx, limiares, flags de alarme) se o módulo tiver
ethtool -m eth0 raw on hex ondump bruto de A0h (e A2h) para comparação byte a byte (Mapa de memória)
ethtool -m eth0 page 0x11 … (mais recente)páginas CMIS em módulos 400G+
ethtool -i eth0driver, versão, versão de firmware/NVM, endereço do barramento
ethtool -S eth0estatísticas, incl. erros de CRC, FEC corrigido/não corrigido em alguns drivers
ethtool --show-fec eth0 / --set-fec eth0 encoding rsmodo de FEC configurado e ativo
ethtool -s eth0 speed 25000 duplex full autoneg offforça a velocidade
ethtool -p eth0 5pisca o LED da porta para identificá-la
ethtool --show-priv-flags eth0flags específicas do driver (por exemplo, link-down-on-close)

Outras fontes no Linux: dmesg filtrado por sfp, module e link (mensagens do driver sobre qualificação do módulo), lspci -vv -s <addr> (largura/velocidade do enlace PCIe em LnkSta), ip -s link show eth0 (contadores), /sys/class/net/eth0/ (portadora, velocidade).

Ferramentas de fabricantes

FabricanteFerramentaUsos principais
Nvidia / Mellanoxmlxlink -d <pci> -m -e -cinformações do módulo e DDM (-m), olho/BER e FEC (-e, -c), parceiro de enlace; mlxlink … --fec_override, --speeds
Nvidia / Mellanoxmlxconfig -d <pci> q / settipo de porta (IB/ETH), tipo de enlace, KEEP_ETH_LINK_UP, override de FEC, breakout
Nvidia / Mellanoxmst status, mlxfwmanagerlista de dispositivos, firmware
Nvidia / Mellanoxibstat, ibportstate, iblinkinfoestado, largura e velocidade da porta InfiniBand (fabric IB)
Intelethtool -mprincipal; a Intel não tem ferramenta dedicada de dump do módulo
Intelnvmupdate64e, epct64eatualização de firmware NVM; configuração de porta (opções de porta do E810, por exemplo 2×100G vs 4×25G)
Inteldmesgmensagens ixgbe/i40e/ice: unsupported module (Compatibilidade de ópticas)
Broadcombnxtnvm, niccliNVM, configurações de porta, FEC/AN, informações do transceptor
Marvellqedctl
AMD Solarflaresfupdate, sfbootfirmware, modos de porta
Chelsiocxgbtool

Windows

ComandoMostra
Get-NetAdapterestado do enlace, velocidade
Get-NetAdapterAdvancedProperty -Name "Ethernet 2"velocidade/duplex, modo de FEC, jumbo — ajustável com Set-NetAdapterAdvancedProperty
Get-NetAdapterHardwareInfoslot PCIe, largura/velocidade do enlace
Get-NetAdapterStatisticscontadores
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSettingconfigurações específicas da Intel; informações do módulo no Gerenciador de Dispositivos → aba Link Speed
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (build para Windows)informações do módulo e diagnóstico de enlace
Visualizador de Eventos → Sistemamensagens do driver sobre módulos não suportados

Os drivers do Windows raramente expõem DDM; use ferramentas do fabricante ou leia o módulo na bancada.

VMware ESXi

ComandoMostra
esxcli network nic list / get -n vmnic0enlace, velocidade, driver, firmware
esxcli network nic stats get -n vmnic0contadores
esxcli system module parameters list -m ixgben / set -m ixgben -p "…"parâmetros de driver, quando suportado
esxcli intnet … (plugin Intel), esxcli mellanox … / mlxlink (plugin Nvidia)diagnóstico do fabricante, incl. informações do módulo
vmkernel.log“unsupported module”, oscilações de enlace
esxcli hardware pci listestado do enlace PCIe

Interpretando a saída

ObservaçãoSignificadoPróximo passo
ethtool -m: “Cannot get module EEPROM information: Operation not supported”o driver não expõe isso, a porta não tem módulo, ou o I²C do módulo não respondeverifique o dmesg, reencaixe, tente outra porta (Erros de leitura e escrita)
Identidade legível, Link detected: no, potência Rx normalincompatibilidade de velocidade/FEC/ANethtool --show-fec, compare com o switch (FEC e AN)
Potência Rx de −40 dBm / "-inf"sem luzfibra, extremidade remota, polaridade (Sem enlace)
Bias e potência Tx normais, Rx marginalconector sujo, enlace longolimpe, calcule o orçamento (Potência Rx e orçamento)
Contadores de FEC não corrigíveis subindoenlace no limiteníveis de DDM, classe do cabo, temperatura (Métricas de VDM e FEC)
Temperatura > 70 °C em um servidor 1Ufluxo de arreposicione, slot OCP (Portas e PCIe)
LnkSta: Speed 8GT/s, Width x8 em uma placa 2×100Ggargalo de PCIeslot/bifurcação
dmesg: unsupported modulelista de permissões do driverCompatibilidade de ópticas em NICs

Monitoramento a partir do servidor

  • A saída de ethtool -m é analisável; um cron job ou um node exporter com o coletor ethtool exporta o DDM para um monitoramento no estilo Prometheus (Monitoramento).
  • A saída JSON do mlxlink da Nvidia (--json) e os contadores de FEC do ethtool -S da Intel são bons sinais de pré-falha (Confiabilidade e monitoramento de enlace).
  • Intervalos de sondagem de 30–60 s são suficientes; o próprio DDM atualiza no máximo a cada segundo.

No CodingBox

ethtool -m raw on hex on e o CodingBox leem os mesmos bytes: quando um módulo se comporta de forma diferente em uma NIC e na bancada, compare os dois dumps campo a campo — um driver que não reescreve nada vai mostrar dados idênticos, e qualquer diferença aponta para as páginas dinâmicas do próprio módulo ou para um erro de leitura (Check transceiver, Lendo DDM com ferramentas).


Se você encontrar uma imprecisão ou um erro neste artigo, selecione o trecho correspondente e pressione Ctrl+Enter para .