[U-Boot] Ping failure

Paul Nader paul.nader at gmail.com
Mon Nov 5 17:10:34 UTC 2018


I forgot to add that the ethernet socket shows a green light and when
u-boot sends packets the other led flashes amber...

This puzzles me because wireshark doesn't capture any packets.

On Mon, Nov 5, 2018 at 5:07 PM 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.
>
> 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
> _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
>
>


More information about the U-Boot mailing list