Назад | Перейти на главную страницу

Не могу отключить autoneg через ethtool

Я хочу отключить auto-negotiation особенность NIC, я запускаю следующую команду

$sudo ethtool -s ens1f0 speed 10000 duplex full autoneg off

Затем я проверяю, вступает ли он в силу через ethtool ens1f0:

Settings for ens1f0:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseT/Full
                                10000baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

В autoneg все еще горит, почему не работает?

Обновление 2020/8/22

Моя сетевая карта 82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb, и я обнаружил, что ссылка 10GBASE-T auto-neg В некоторых случаях функция может быть отключена.

  1. Странно, что у двух портов сетевой карты разные autoneg состояния. Я действительно смущен этим.
Settings for ens1f0:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseT/Full
                                10000baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseT/Full
                                10000baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

Settings for ens1f1:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
  1. Когда порт не соединяется с одноранговым узлом, autoneg выключен
Settings for ens1f1:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no

Невозможно отключить автосогласование на канале 10GBASE-T. Стандарт 802.3 указывает, что автосогласование обязательно для таких ссылок. Вот некоторые из причин:

55.6.1 Поддержка автосогласования

Все PHY 10GBASE-T должны обеспечивать поддержку автосогласования (пункт 28) и должны быть способны работать как ВЕДУЩИЙ или ПОДЧИНЕННЫЙ. Все PHY 10GBASE-T должны обеспечивать поддержку расширенных следующих страниц, как определено в 28.2.3.4.2, и должны поддерживать и использовать оптимизированную синхронизацию пакетов FLP для пакетов FLP, как определено в 28.2.1.1.1, а также nlp_link_test_min_timer и link_fail_inhibit_timer, как определено в 28.3. 2.

Автосогласование выполняется как часть первоначальной настройки канала и позволяет физическим уровням на каждом конце объявлять о своих возможностях (скорость, тип PHY, полудуплексный или полный дуплекс) и автоматически выбирать режим работы для связи на ссылка на сайт. Сигнализация автосогласования используется для следующих основных целей для 10GBASE-T:

  • Согласовать, что PHY способен поддерживать передачу 10GBASE-T.
  • Для определения отношения ВЕДУЩИЙ-ПОДЧИНЕННЫЙ между физическими уровнями на каждом конце связи.
  • Чтобы определить, выполняет ли локальный PHY сброс шаблона обучения PMA.
  • Чтобы определить, поддерживает ли локальный PHY возможность EEE.
  • Чтобы определить, поддерживает ли локальный PHY возможность быстрого повторного обучения.