I'm using the i.mx6q sabresd board, and the the u-boot cannot ping it self. Following is the environment of uboot. The ping prints:
=> ping 10.10.70.102
FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using FEC device
ARP Retry count exceeded; starting again
ping failed; host 10.10.70.102 is not alive
----------------------------------------------uboot environments------------------------------------------
U-Boot 2016.03 (Aug 22 2017 - 08:44:18 +0800)
CPU: Freescale i.MX6D rev1.2 996 MHz (running at 792 MHz)
CPU: Extended Commercial temperature grade (-20C to 105C) at 33C
Reset cause: POR
Board: MX6-SabreSD
I2C: ready
DRAM: 992 MiB
PMIC: PFUZE100 ID=0x10
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc1 is current device
Net: FEC [PRIME]
Normal Boot
Hit any key to stop autoboot: 0
=> printenv
baudrate=115200
board_name=SABRESD
board_rev=MX6Q
boot_fdt=try
bootcmd=run findfdt;mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run
loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
dfu_alt_info=spl raw 0x400
dfu_alt_info_img=u-boot raw 0x10000
dfu_alt_info_spl=spl raw 0x400
dfuspi=dfu 0 sf 0:0:10000000:0
emmcdev=2
epdc_waveform=epdc_splash.bin
ethact=FEC
ethaddr=00:04:9f:03:ef:78
ethprime=FEC
fdt_addr=0x18000000
fdt_file=undefined
fdt_high=0xffffffff
findfdt=if test $fdt_file = undefined; then if test $board_name = SABREAUTO && test $board_rev = MX6QP; then setenv
fdt_file imx6qp-sabreauto.dtb; fi; if test $board_name = SABREAUTO && test $board_rev = MX6Q; then setenv fdt_file
imx6q-sabreauto.dtb; fi; if test $board_name = SABREAUTO && test $board_rev = MX6DL; then setenv fdt_file imx6dl-
sabreauto.dtb; fi; if test $board_name = SABRESD && test $board_rev = MX6QP; then setenv fdt_file imx6qp-
sabresd.dtb; fi; if test $board_name = SABRESD && test $board_rev = MX6Q; then setenv fdt_file imx6q-sabresd.dtb;
fi; if test $board_name = SABRESD && test $board_rev = MX6DL; then setenv fdt_file imx6dl-sabresd.dtb; fi; if test
$fdt_file = undefined; then echo WARNING: Could not determine dtb to use; fi; fi;
image=zImage
initrd_addr=0x12C00000
initrd_high=0xffffffff
ip_dyn=yes
ipaddr=10.10.70.102
loadaddr=0x12000000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
mfgtool_args=setenv bootargs console=ttymxc0,115200 rdinit=/linuxrc g_mass_storage.stall=0
g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F
g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" enable_wait_mode=off
mmcargs=setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run
loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot
load the DT; fi; fi; else bootz; fi;
mmcdev=1
mmcpart=1
mmcroot=/dev/mmcblk2p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} ${smp} root=/dev/nfs ip=dhcp nfsroot=${serverip}:
${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv
get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd}
${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else
echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
script=boot.scr
serverip=10.10.70.101
update_emmc_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if ${get_cmd}
${update_sd_firmware_filename}; then if mmc dev ${emmcdev} 1; then setexpr fw_sz ${filesize} / 0x200; setexpr fw_sz
${fw_sz} + 1; mmc write ${loadaddr} 0x2 ${fw_sz}; fi; fi
update_sd_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if mmc dev
${mmcdev}; then if ${get_cmd} ${update_sd_firmware_filename}; then setexpr fw_sz ${filesize} / 0x200; setexpr fw_sz
${fw_sz} + 1; mmc write ${loadaddr} 0x2 ${fw_sz}; fi; fi
Environment size: 3661/8188 bytes
=> ping 10.10.70.102
FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using FEC device
ARP Retry count exceeded; starting again
ping failed; host 10.10.70.102 is not alive
=>
解決済! 解決策の投稿を見る。
Hi,
Finally I find the reason. It is the physical cable. The cable works well for i.mx6q sabrelite board, but does not work for i.mx6q sabre sd board.
Pinging from uboot to a PC is possible as long as you ensure you have a valid IP address set.
However the u-boot IP stack is limited, so uboot does not respond to ping.
Look at the following page about ping response:
https://lists.denx.de/pipermail/u-boot/2016-September/265408.html
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,
Finally I find the reason. It is the physical cable. The cable works well for i.mx6q sabrelite board, but does not work for i.mx6q sabre sd board.
Hi,
Another question, is the Ethernet light on when the network cable is plugged? My board's light is not on.
Hi,
I ping from the u-boot to the host, and it still does not work. But I can use the network from Linux.
The result is:
=> ping 10.10.70.101
FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !
Using FEC device
ARP Retry count exceeded; starting again
ping failed; host 10.10.70.101 is not alive
Hi shijun zhao,
In Imx8mq evk I am able to ping ubuntu pc IP but I am not able to ping board itself. What is the reason behind.
Please find my logs below :
Board IP addrs:
-------------------
u-boot=> ping 192.168.0.120
Using ethernet@30be0000 device
ARP Retry count exceeded; starting again
ping failed; host 169.254.33.229 is not alive
Ubuntu PC IP addrs:
-----------------------------
u-boot=> ping 192.168.0.180
Using ethernet@30be0000 device
host 192.168.0.180 is alive
Regards,
Santosh