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 包含 dhcp 或 bootp 以获取以太网的动态 IP 地址。这些都应该由环境变量设置来控制。

在运行时修改环境变量通常很容易,无论是在 u-boot 命令提示符下还是使用 Linux 实用程序 fw_setenv。通常更改/构建源代码然后更新 u-boot 程序代码会更困难。

如果您不需要工作以太网,则应该可以更改 bootcmd 环境变量(删除与以太网相关的命令,例如 bootp)。对于 PHY,检查目标 u-boot 版本的文档,它应该告诉一些信息(例如删除 ethact 环境变量)。

相关内容