ethtool을 사용하여 일부 광고 링크 패턴 제거

ethtool을 사용하여 일부 광고 링크 패턴 제거

제 경우에는 PHY가 10/100/1000을 지원하지만 10/100만 지원합니다.

기본 동작은 자동 협상을 사용하여 최상의 모드를 찾는 것입니다. 반면에 기가비트 지원 라우터를 사용하면 인터페이스가 작동하지 않게 됩니다. 자동 협상은 결코 수렴되지 않는 것 같습니다. 100Mbps 스위치를 사용해 좋은 결과를 얻은 사람들에 대한 이야기를 들었습니다.

이것을 사용할 수는 있지만 ethtool매우 실망스럽습니다.

ethtool -s eth1 duplex full speed 100 autoneg off

내가 원하는 것은 자동 협상을 유지하되 1000baseT/Full을 선택에서 철회하여 100Mbps에서 원활하게 실행되도록 하는 것입니다. ethtool또는 커널 옵션을 사용하여 이를 달성할 수 있는 방법이 있습니까 ? (내 2.6.32 커널에서는 아무것도 찾을 수 없습니다...)

(어떤 이상한 사람이 10Mbps 스위치를 가지고 나에게 와서 다른 세기의 이 스위치를 사용하려면 이 eth가 필요하다고 가정해 보겠습니다.)

답변1

자동 협상의 문제점은 한쪽 끝에서 끄면 다른 쪽 끝에서는 속도를 감지할 수 있지만 기본값이 절반인 이중 모드에서는 감지할 수 없다는 것입니다. 그런 다음 이중 불일치가 발생합니다. 이는 링크가 작동하지 않는 것과 거의 같습니다. 따라서 한쪽 끝에서 자동 협상을 비활성화하면 실제로 다른 쪽 끝에서도 자동 협상을 비활성화해야 합니다.

(자동 협상이 실제로 케이블을 테스트하지 않고 엔드포인트에서 수행할 수 있는 작업만 수행한다는 문제도 있습니다. 이로 인해 케이블에 두 쌍만 있고 1000Base-T를 지원하지 않는 기가비트 링크가 발생할 수 있습니다.)

그러나 ethtool은 운전자에게 광고할 속도/이중 모드를 알려줄 수 있는 것 같습니다. ethtool -s eth1 advertise 0x0f모든 10/100 모드가 허용되지만 1G는 허용되지 않습니다.

advertise N
    Sets the speed and duplex advertised by autonegotiation.  The 
    argument is a hexadecimal value using one or a combination of
    the following values:
      0x001       10baseT Half
      0x002       10baseT Full
      0x004       100baseT Half
      0x008       100baseT Full
      0x010       1000baseT Half       (not supported by IEEE standards)
      0x020       1000baseT Full

답변2

비슷한 문제가 있었는데 귀하의 답변이 올바른 자동 조정을 설정하는 데 도움이 되었습니다. 문제는 이제 이전 구성으로 돌아가고 싶다는 것입니다. 더 많은 옵션이 있습니다.

  • 1000baseT/완전
  • 10000baseT/완전
  • 1000baseX/완전
  • 10000baseSR/완료
  • 10000baseLR/완전

이제 다음을 설정할 수 있습니다.

ethtool -s eth0 advertise 0x1000

하지만 이것은 나에게 10G만을 제공합니다. 설정할 수 있어요

ethtool -s eth0 advertise 0x020

그러나 이번에도 결과는 1000baseT만 됩니다.

ethtool 매뉴얼 페이지에는 이를 결합할 수 있다고 명시되어 있지만 방법을 모르겠습니다. 여러 조합을 시도했지만 이 조합을 해독할 수 없습니다.


그래서 이 기사가 나온 직후에 나는 깨달음을 얻었습니다. 간단히 말해서, 값을 합산해야 합니다. Bath를 10진수로 변환 이를 추가하고 결과를 다시 16진수로 변환합니다. 또는 방법을 알고 있다면 16진수로 직접 수행할 수도 있습니다. 프로그래머 계산기가 도움이 될 수 있습니다...

나에게 결과는 다음과 같습니다

ethtool -s eth0 advertise 0x1020

결과적으로 원래 상황이 복원됩니다.

Supported link modes:   1000baseT/Full
                            10000baseT/Full
                            1000baseX/Full
                            10000baseSR/Full
                            10000baseLR/Full
    Supported pause frame use: Symmetric
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  1000baseT/Full
                            10000baseT/Full
                            1000baseX/Full
                            10000baseSR/Full
                            10000baseLR/Full

이것이 누군가에게 유용하기를 바랍니다.

관련 정보