[U-Boot] Ping failure

Chris Packham judge.packham at gmail.com
Tue Nov 6 09:45:43 UTC 2018


On Tue, 6 Nov 2018, 6:09 AM Paul Nader <paul.nader at gmail.com wrote:

> Hi,
>
> I'm trying to get an olinuxino-a64 board to boot using bootp but it failed
> to send any DHCP packets so I reduced the problem to trying to get it to
> ping another host but that fails as well.
>
> I tried it both with 2018.09 and then the head of master given there were
> some recent commits to the net area to fix handling asynchronous responses.
>
> I'm testing this  by having the board ethernet connected to a switch and
> another port of the switch to a host running wireshark snooping packets in
> promiscuous mode.
>

Could the switch be dropping the packets? Are the ports in the same vlan?
Is your monitoring host the same host you're trying to ping? (if not you'll
need to configure your switch for mirroring)


> If I let the board boot completely (ie start the kernel) and configure the
> interface I can ping the host without any issues, so I assume the dtb is
> ok.
>
> However, if I interrupt the boot and try to ping tho host from within
> u-boot I get:
>
> U-Boot SPL 2018.11-rc3-g5ef76e5 (Nov 05 2018 - 16:39:47 +0000)
> DRAM: 1024 MiB
> Trying to boot from MMC1
>
>
> U-Boot 2018.11-rc3-g5ef76e5 (Nov 05 2018 - 16:39:47 +0000) Allwinner
> Technology
>
> CPU:   Allwinner A64 (SUN50I)
> Model: Olimex A64-Olinuxino
> DRAM:  1 GiB
> MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
> Loading Environment from FAT... *** Warning - bad CRC, using default
> environment
>
> In:    serial
> Out:   serial
> Err:   serial
> Net:   phy interface7
> eth0: ethernet at 1c30000
> starting USB...
> No controllers found
> Hit any key to stop autoboot:  0
> => setenv ipaddr 192.168.0.2
> => log level 10
> => setenv netmask 255.255.255.0
>

What do you end up with for a mac address? I'm not familiar with the
olinuxino hardware does it have an eeprom for the mac or does it just come
from the environment.

_do_env_set() Initial value for argc=3
> _do_env_set() Final value for argc=3
> => ping 192.168.0.1
> net_loop() --- net_loop Entry
> net_set_udp_handler() --- net_loop UDP handler set (0000000000000000)
> net_set_arp_handler() --- net_loop ARP handler set (0000000000000000)
> net_set_timeout_handler() --- net_loop timeout handler cancelled
> _do_env_set() Initial value for argc=3
> _do_env_set() Final value for argc=3
> eth_init() Trying ethernet at 1c30000
> net_set_state() --- NetState set to 0
> net_loop() --- net_loop Init
> Using ethernet at 1c30000 device
> net_set_timeout_handler() --- net_loop timeout handler set
> (000000007dfa4cf0)
> ping_send() sending ARP for 192.168.0.1
> arp_raw_request() ARP broadcast 1
> arp_raw_request() ARP broadcast 2
> arp_raw_request() ARP broadcast 3
> arp_raw_request() ARP broadcast 4
>
> ARP Retry count exceeded; starting again
> net_set_state() --- NetState set to 3
> net_set_state() --- NetState set to 3
> net_set_udp_handler() --- net_loop UDP handler set (0000000000000000)
> net_set_arp_handler() --- net_loop ARP handler set (0000000000000000)
> net_set_timeout_handler() --- net_loop timeout handler cancelled
> net_loop() --- net_loop Fail!
> net_set_state() --- NetState set to 0
> ping failed; host 192.168.0.1 is not alive
> cmd_call() Command failed, result=1
> =>
>
> The lines:
> net_set_udp_handler() --- net_loop UDP handler set (0000000000000000)
> net_set_arp_handler() --- net_loop ARP handler set (0000000000000000)
>
> seem a bit odd to me but they may be correct.
>
> I'm stuck and don't really know how to proceed. Any suggestions please?
>
> Thanks
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>


More information about the U-Boot mailing list