http://blog.csdn.net/ce123_zhouwei/article/details/7339134
The Development Board runs U-boot, the ping command under the terminal is able to ping the PC, but the PC ping is different u-boot.
In the development line U-boo under the Ethernet drive, only in the target to ping the outside of the host can detect whether Ethernet connectivity, if the outside of the host to ping the target board, even if the target board Ethernet all OK, but also ping does not pass. This is because line U-boo is a single-threaded main_loop function + Interrupt processing architecture, interrupt handlers handle serial input and output, Main_loop parse U-boot command, and no additional task accepts and processes ICMP packets even if U-boot supports ICMP protocol stacks.
U-boot Ping is sending and receiving ARP packets through a Netloop! Loop will constantly detect if an ARP REPLY is accepted. So you can ping the PC. But U-boot mode is single-threaded, and will not always stop there to detect whether there is ARP. The premise of the PC Ping pass u-boot is that there is a daemon similar to the ARP request response in U-boot
wanweitech# Ping 192.168.1.222
dm9000 I/o: 0x30000000, Id:0x90000a46
Dm9000:running in + bit mode
mac:08:00:3e:26:0a:5b
Could not establish link
Host 192.168.1.222 is alive
U-boot can ping pc,pc not ping through u-boot