ethtool не отображает информацию о сетевом партнёре
Проблема с отображением информации о сетевом партнёре в ethtool для адаптера Exegate EXE-I350-T4V2 на Ubuntu 24.04.3. Узнайте причины и решения.
Почему в ethtool на Ubuntu 24.04.3 не отображается информация о сетевом партнёре (Link partner advertised link modes, Link partner advertised auto-negotiation) для сетевого адаптера Exegate EXE-I350-T4V2 (Intel NHI350AM4)? Проблема проявляется на 4-портовом гигабитном адаптере, подключенном через PCI-E x16, и сохраняется при подключении к разным устройствам, скоростям (100Base-TX и 1000Base-T) и кабелям, в отличие от встроенного Ethernet-адаптера, где информация выводится полностью. Версии ПО: ethtool 6.7, драйвер Intel igb 1.59.
Проблема с отображением информации о сетевом партнёре в ethtool для адаптера Exegate EXE-I350-T4V2 связана с ограничениями драйвера igb и особенностями реализации функции partner information в данном оборудовании. В отличие от более новых контроллеров, Intel I350 (на базе которого построен ваш адаптер) имеет определенные ограничения в поддержке расширенных параметров автосогласования, что проявляется в отсутствии данных о рекламных режимах партнёра (Link partner advertised link modes) и его настройках автосогласования.
Содержание
- Основные причины проблемы
- Технические особенности драйвера igb
- Способы решения и обхода
- Проверка альтернативными методами
- Рекомендации по обновлению ПО
Основные причины проблемы
Отсутствие информации о сетевом партнёре в ethtool для Exegate EXE-I350-T4V2 вызвано несколькими ключевыми факторами:
Ограничения контроллера Intel I350
Intel I350, лежащий в основе вашего адаптера, является относительно старым поколением сетевых контроллеров, выпущенным еще в 2010-х годах. Согласно технической документации Intel, этот контроллер имеет функциональные ограничения в области детальной отчетности о параметрах автосогласования по сравнению с более современными решениями.
Проблемы реализации в драйвере igb
Драйвер igb версии 1.59, используемый в вашей системе, не полностью реализует возможность получения информации о рекламных режимах партнёра. Как указано в исходном коде драйвера, функция partner information поддерживается не для всех моделей контроллеров Intel и имеет ограничения в работе с определенными PHY-чипами.
Отсутствие поддержки в ethtool
Несмотря на то, что вы используете ethtool версии 6.7, который должен поддерживать расширенные функции автосегодования, конкретная реализация для Intel I350 может быть неполной. В документации Intel отмечается, что “драйверная информация, ранее отображаемая в /proc файловой системе, не поддерживается в этой версии”.
Технические особенности драйвера igb
Драйвер igb имеет специфические особенности реализации функций автосогласования:
Ограниченная поддержка MII
Intel I350 использует интерфейс управления средой (MII) для взаимодействия с PHY-чипом, который имеет ограничения в передаче расширенной информации о партнёре. В отличие от более современных контроллеров, использующих XGMII или QSGMII интерфейсы, I350 поддерживает только базовые функции MII.
Проблемы с EEE (Energy Efficient Ethernet)
Как показывают исследования сообщества, драйвер igb имеет проблемы с функцией EEE, которая тесно связана с параметрами автосогласования. В частности, функция EEE_LP_ADV_ADDR_I350 может возвращать ошибку -ENODATA, что указывает на отсутствие доступных данных о рекламных режимах партнёра.
Версионные ограничения
Версия драйвера 1.59 является относительно старой и не включает всех улучшений, внесенных в более поздние версии. На форуме Proxmox пользователи сообщают о схожих проблемах с более старыми версиями драйвера.
Способы решения и обхода
Существуют несколько подходов к решению проблемы отсутствия информации о сетевом партнёре:
Обновление драйвера до последней версии
Самым эффективным решением является обновление драйвера igb до последней доступной версии. Вы можете скачать актуальный драйвер с официального сайта Intel. Последние версии драйвера содержат исправления для работы с функциями автосогласования.
# Проверка текущей версии драйвера
ethtool -i eth0
# Компиляция и установка обновленного драйвера
make clean
make
sudo make install
sudo modprobe -r igb
sudo modprobe igb
Использование альтернативных утилит
Для получения информации о сетевом партнёре можно использовать специализированные утилиты:
- mii-tool
sudo apt install net-tools
mii-tool -v eth0
- ethtool с флагами -k и -a
ethtool -k eth0 # Проверка параметров offload
ethtool -a eth0 # Проверка параметров автосогласования
Настройка параметров автосогласования
Иногда проблема решается принудительной установкой режимов автосогласования:
# Установка режима 1000Base-Full
sudo ethtool -s eth0 speed 1000 duplex full autoneg on
# Проверка результата
sudo ethtool eth0
Проверка альтернативными методами
Несмотря на отсутствие информации в ethtool, существуют другие способы проверки состояния соединения:
Использование /proc/sys/net/ipv4/conf/
cat /proc/sys/net/ipv4/conf/eth0/arp_announce
cat /proc/sys/net/ipv4/conf/eth0/arp_ignore
Проверка через sysfs
# Просмотр информации о PHY
cat /sys/class/net/eth0/phylink/phy_name
cat /sys/class/net/eth0/operstate
cat /sys/class/net/eth0/carrier
Использование утилиты ethtool с расширенными опциями
# Проверка статистики адаптера
ethtool -S eth0
# Проверка регистров PHY
ethtool -m eth0
Проверка через lspci
lspci -vnn -d 8086:1528
Рекомендации по обновлению ПО
Для обеспечения максимальной совместимости и функциональности:
Обновление ядра Linux
Убедитесь, что вы используете актуальное ядро Linux, которое включает последние улучшения для драйвера igb:
# Проверка текущей версии ядра
uname -r
# Обновление ядра (для Ubuntu)
sudo apt update
sudo apt upgrade linux-generic
sudo reboot
Обновление прошивки адаптера
Иногда проблема связана с устаревшей прошивкой сетевого адаптера. Вы можете обновить прошивку с помощью утилиты Intel:
# Скачивание утилиты обновления прошивки
wget https://downloadmirror.intel.com/783357/BootImg.FLB
# Обновление прошивки (требуется осторожность)
sudo bootutil64e -UP=PXE -ALL -FILE=BootImg.FLB
Проверка совместимости оборудования
Убедитесь, что ваш Exegate EXE-I350-T4V2 совместим с используемой версией Ubuntu. Согласно документации Exegate, адаптер должен работать с Ubuntu, но возможны нюансы с конкретными ревизиями оборудования.
Источники
- Intel® Ethernet Server Adapter I350-T4V2 - Product Specifications
- Linux* Base Driver for Intel® Gigabit Ethernet Network Connections
- Intel I350 (igb driver) support - GitHub Issue
- linux/drivers/net/ethernet/intel/igb/igb_ethtool.c
- No driver for Intel i350-T4V2? - Proxmox Support Forum
- Lan card ExeGate EXE-I350-T4V2 (NHI350AM4) - Specification
Заключение
Проблема отсутствия информации о сетевом партнёре в ethtool для Exegate EXE-I350-T4V2 вызвана техническими ограничениями контроллера Intel I350 и драйвера igb. Ключевые выводы:
- Причина проблемы - ограничения аппаратного обеспечения и драйвера в области детальной отчетности о параметрах автосогласования
- Основное решение - обновление драйвера igb до последней версии и прошивки адаптера
- Альтернативные методы - использование mii-tool, проверка через sysfs и анализ статистики адаптера
- Профилактика - регулярное обновление ядра Linux и мониторинг состояния оборудования
Для полного решения проблемы рекомендуется сначала попробовать обновить драйвер, а затем, при необходимости, использовать комбинацию альтернативных методов для мониторинга состояния сетевого соединения. Если проблема сохраняется, стоит рассмотреть возможность использования более современного сетевого адаптера, который лучше поддерживает функции детальной отчетности.