Инструменты и диагностика NIC: чтение модуля с сервера
У сервера нет show interface transceiver, но есть та же информация на уровень ниже: драйвер сетевой карты читает EEPROM модуля и отдаёт её через ethtool, вендорские утилиты, а в Windows и ESXi — через их собственные команды. Здесь перечислены инструменты по ОС и вендорам, что каждый показывает (идентификация, DDM, счётчики FEC, состояние линка, PCIe) и как читать вывод, когда линк лежит или копятся ошибки.
| Команда | Показывает |
|---|
ethtool eth0 | состояние линка, скорость, дуплекс, автосогласование, поддерживаемые/объявляемые режимы, тип порта (FIBRE/DA) |
ethtool -m eth0 (--module-info) | декодированный EEPROM: идентификатор, вендор, PN, SN, дата, соответствие, длина волны, длины; DDM (температура, Vcc, ток, мощности Tx/Rx, пороги, флаги аварий), если модуль его имеет |
ethtool -m eth0 raw on hex on | сырой дамп A0h (и A2h) для побайтного сравнения (Карта памяти) |
ethtool -m eth0 page 0x11 … (новые) | страницы CMIS на модулях 400G+ |
ethtool -i eth0 | драйвер, версия, версия прошивки/NVM, адрес на шине |
ethtool -S eth0 | статистика, включая ошибки CRC, исправленные/неисправимые FEC у части драйверов |
ethtool --show-fec eth0 / --set-fec eth0 encoding rs | настроенный и активный режим FEC |
ethtool -s eth0 speed 25000 duplex full autoneg off | принудить скорость |
ethtool -p eth0 5 | моргнуть светодиодом порта для идентификации |
ethtool --show-priv-flags eth0 | флаги драйвера (например, link-down-on-close) |
Другие источники в Linux: dmesg с фильтром по sfp, module и link (сообщения драйвера о квалификации модуля), lspci -vv -s <адрес> (ширина/скорость линка PCIe в LnkSta), ip -s link show eth0 (счётчики), /sys/class/net/eth0/ (carrier, speed).
Вендорские инструменты
| Вендор | Инструмент | Основное применение |
|---|
| Nvidia / Mellanox | mlxlink -d <pci> -m -e -c | сведения о модуле и DDM (-m), глаз/BER и FEC (-e, -c), партнёр по линку; mlxlink … --fec_override, --speeds |
| Nvidia / Mellanox | mlxconfig -d <pci> q / set | тип порта (IB/ETH), тип линка, KEEP_ETH_LINK_UP, переопределение FEC, breakout |
| Nvidia / Mellanox | mst status, mlxfwmanager | список устройств, прошивка |
| Nvidia / Mellanox | ibstat, ibportstate, iblinkinfo | состояние, ширина, скорость порта InfiniBand (Фабрика IB) |
| Intel | ethtool -m | основной; отдельного инструмента дампа модуля у Intel нет |
| Intel | nvmupdate64e, epct64e | обновление прошивки NVM; конфигурация портов (опции портов E810, например 2×100G или 4×25G) |
| Intel | dmesg | сообщения ixgbe/i40e/ice: unsupported module (Совместимость оптики) |
| Broadcom | bnxtnvm, niccli | NVM, настройки портов, FEC/AN, сведения о трансивере |
| Marvell | qedctl | — |
| AMD Solarflare | sfupdate, sfboot | прошивка, режимы портов |
| Chelsio | cxgbtool | — |
Windows
| Команда | Показывает |
|---|
Get-NetAdapter | состояние линка, скорость |
Get-NetAdapterAdvancedProperty -Name "Ethernet 2" | скорость/дуплекс, режим FEC, jumbo — задаётся Set-NetAdapterAdvancedProperty |
Get-NetAdapterHardwareInfo | слот PCIe, ширина/скорость линка |
Get-NetAdapterStatistics | счётчики |
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSetting | настройки Intel; сведения о модуле в Диспетчере устройств → вкладка Link Speed |
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (сборка для Windows) | сведения о модуле и диагностика линка |
| Просмотр событий → Система | сообщения драйвера о неподдерживаемых модулях |
Драйверы Windows редко отдают DDM; используйте вендорские инструменты или читайте модуль на столе.
VMware ESXi
| Команда | Показывает |
|---|
esxcli network nic list / get -n vmnic0 | линк, скорость, драйвер, прошивка |
esxcli network nic stats get -n vmnic0 | счётчики |
esxcli system module parameters list -m ixgben / set -m ixgben -p "…" | параметры драйвера, где поддерживаются |
esxcli intnet … (плагин Intel), esxcli mellanox … / mlxlink (плагин Nvidia) | вендорская диагностика, включая сведения о модуле |
vmkernel.log | «unsupported module», флапы линка |
esxcli hardware pci list | состояние линка PCIe |
Чтение вывода
| Наблюдение | Смысл | Дальше |
|---|
ethtool -m: «Cannot get module EEPROM information: Operation not supported» | драйвер не отдаёт, в порту нет модуля или I²C модуля не отвечает | смотреть dmesg, переткнуть, попробовать другой порт (Ошибки чтения и записи) |
Идентификация читается, Link detected: no, мощность Rx нормальная | несовпадение скорости/FEC/AN | ethtool --show-fec, сравнить с коммутатором (FEC и AN) |
| Мощность Rx −40 дБм / «-inf» | нет света | волокно, дальний конец, полярность (Нет линка) |
| Ток и мощность Tx в норме, Rx на грани | грязный разъём, длинный линк | чистить, бюджет (Мощность Rx и бюджет) |
| Растут счётчики неисправимых FEC | линк на краю | уровни DDM, класс кабеля, температура (VDM и метрики FEC) |
| Температура > 70 °C в сервере 1U | обдув | переставить, слот OCP (Порты и PCIe) |
LnkSta: Speed 8GT/s, Width x8 на карте 2×100G | узкое место PCIe | слот/бифуркация |
dmesg: unsupported module | белый список драйвера | Совместимость оптики на NIC |
Мониторинг с сервера
- Вывод
ethtool -m разбирается; задание cron или node exporter с коллектором ethtool отдаёт DDM в мониторинг в стиле Prometheus (Мониторинг). - JSON-вывод Nvidia
mlxlink (--json) и счётчики FEC Intel из ethtool -S — хорошие сигналы до отказа (Надёжность линков и мониторинг). - Интервалов опроса 30–60 с достаточно; сам DDM обновляется в лучшем случае раз в секунду.
В CodingBox
ethtool -m raw on hex on и CodingBox читают одни и те же байты: когда модуль ведёт себя по-разному на NIC и на столе, сравните два дампа поле за полем — драйвер, который ничего не переписывает, покажет идентичные данные, а любое различие укажет на собственные динамические страницы модуля или на ошибку чтения (Check transceiver, Снятие DDM инструментами).