Gem.e000b000 PHY 자동 협상이 완료되기를 기다리는 중... 시간이 초과되었습니까?

Gem.e000b000 PHY 자동 협상이 완료되기를 기다리는 중... 시간이 초과되었습니까?

u-boot는 커널을 부팅하기 전에 이를 인쇄합니다.

Gem.e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
Retry count exceeded; 

이 자동 협상을 우회할 수 있는 방법이 있습니까? 시작지연이 0이라 실행중인 시스템에 접근권한이 없어서 소스코드에서 수정하고 싶습니다.

답변1

귀하의 특정 타겟(Xilinx/Zynq?)에 대해 잘 모르겠습니다.

대상 이더넷이 작동 중인 네트워크에 연결되어 있지 않은 것 같습니다. 1) PHY 자동 협상 시간 초과, 2) bootcmd에 이더넷용 동적 IP 주소를 얻기 위한 dhcp 또는 bootp가 포함되어 있다는 두 가지 징후가 있습니다. 이는 모두 환경 변수 설정으로 제어되어야 합니다.

일반적으로 u-boot 명령 프롬프트에서 또는 Linux 유틸리티 fw_setenv를 사용하여 런타임 시 환경 변수를 수정하는 것은 쉽습니다. 일반적으로 소스 코드를 변경/구축한 다음 u-boot 프로그램 코드를 업데이트하는 것이 더 어렵습니다.

이더넷 작동이 필요하지 않은 경우 bootcmd 환경 변수를 변경할 수 있습니다(bootp와 같은 이더넷 관련 명령 제거). PHY의 경우 대상 u-boot 버전에 대한 문서를 확인하세요. 무언가를 알려주어야 합니다(예: ethact 환경 변수 제거).

관련 정보