Невозможно отключить автоотрицание через ethtool

Невозможно отключить автоотрицание через 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

решение1

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

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

Все 10GBASE-T PHY должны поддерживать Auto-Negotiation (пункт 28) и должны быть способны работать как MASTER или SLAVE. Все 10GBASE-T PHY должны поддерживать Extended Next Pages, как определено в 28.2.3.4.2, и должны поддерживать и использовать оптимизированную синхронизацию FLP Burst to FLP burst, как определено в 28.2.1.1.1, а также nlp_link_test_min_timer и link_fail_inhibit_timer, как определено в 28.3.2.

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

  • Добиться того, чтобы физический уровень поддерживал передачу данных 10GBASE-T.
  • Определить отношение MASTER-SLAVE между физическими устройствами на каждом конце канала.
  • Чтобы определить, выполняет ли локальный PHY сброс шаблона обучения PMA.
  • Чтобы определить, поддерживает ли локальный PHY возможности EEE.
  • Определить, поддерживает ли локальный физический уровень возможность быстрого переобучения.

Связанный контент