移植linux内核到s3c6410(板子u-boot网口link-down问题解决)

在尝试通过U-Boot使用tftp启动Linux内核时,遇到网口link-down的问题。通过分析ping流程,发现eth_init后10秒自协商未成功。手动power up DM9000内置PHY解决了问题,网口成功link-up,ping和tftp功能恢复正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    uImage/ramdisk准备好后,准备tftp到单板上小式一把,结果将单板停在uboot后,网口一直link down,ping host后还打印“could not establish link”。真是抑郁啊。

   细想,板子回来后,在uImage起来后,我是验证过网口的,是OK的,所以硬件应该没啥问题,应该是u-boot的支持问题。研究一下ping的流程:

 

do_ping-->NetLoop(PING)-->eth_halt-->eth_init-->PingStart-->PingSend-->ArpRequest-->eth_rx-->NetReceive-->eth_send-->eth_rx-->NetReceive-->NETLOOP_SUCCESS-->eth_halt。

 

do_ping-->NetLoop(PING)-->eth_halt-->eth_init

初始化网口,准备发包,

 

PingStart-->PingSend-->ArpRequest-->eth_rx-->NetReceive

请求arp包,一直等待收arp响应包,并设置5S超时。

 

eth_send-->eth_rx-->NetReceive-->NETLOOP_SUCCESS-->eth_halt。

如果收到arp响应,发出ping包,等待收包,ping为10S超时,收包或者超时都调用eth_halt。

 

DM9000,eth_init-->dm9000_reset-->DM9000_iow(D

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值