2008-11-25 2 views
0

이더넷 링크가 실제로 실행되는 속도를 결정하기 위해 표준 (잘 표준화 된) 이더넷 PHY 레지스터를 해석하는 가장 좋은 방법을 찾고 있습니다. (예 : 10/100/1000 및 전이중/반이중)네트워크 링크 속도 결정 알고리즘을 찾고

나는 리눅스와 같은 것들의 근원에서 발견 될 것이라는 것을 명심하고, 나는 지금 거기를 보려고한다. 그러나 누군가가 좋은 참고 자료가 될 것입니다.

내가 관심을 갖는 부분은 처음부터 광고 한 가능성이 광대 한 바다가 아니라 실제로 연결된 것이고 무엇이 연결되어 있는지입니다.

답변

1

답변 해 주셔서 감사합니다. 거의 모든 MII/GMII 이더넷 PHY에는 기본 레지스터가 동일하기 때문에 언어 및 플랫폼에 상관없는 질문입니다. 필자는 임베디드 플랫폼을 사용하고 있습니다.

하지만 리눅스 드라이버 소스의 다양한 비트를보고 내 제한된 응용 프로그램에 대한 충분했다 합리적인 순서를 발견는 - 그것은 기본적으로의 다음의 경우 기본 현황 (0x1로)에서 링크 업 에 대한

확인 링크가 올라간 후 교섭을 확인하십시오 - 기본 상태 (0x1)로 완료하십시오 협상이 완료되면 1000M 상태 레지스터 (0xa)에서 1G를 확인하십시오 1G가 없으면 100M이됩니다.

+0

동의 - 하드웨어 질문 more – Thelema

1

는 리눅스 커널이 어떻게하는지보고를하기 위해 (즉 일반적 아니지만,이 응용 프로그램에 적용) 소프트웨어 하나가 아닌

어쩌면이 정말로 하드웨어 질문 : 동안 각 드라이버는 자체적 인 일을 할 수 있습니다. 칩이 표준을 충분히 준수 할 때 사용되는 제네릭 버전이 있습니다 : Generic Media Independent Interface device support.

+0

왜 downvote? 저는 그가 이미 리눅스에 대해 언급 한 것을 알고 있지만, 리눅스 커널 소스 코드에서 이것이 어디에서 발견되는지 정확히 지적했습니다. – CesarB

관련 문제