This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5729: U-Boot DHCP command fails after BOOTP broadcast command times out

Part Number: AM5729
Other Parts Discussed in Thread: AM5728, DRA752

Hello,

I am trying to get my new TI AM5729 Industrial Development Kit working. I'm able to boot off of an SD card, but my attempts to boot using TFTP, and also to use a shared NFS file system, have failed. Both fail on the "dhcp" command. I've attached below both the terminal output from the last part of the setup script, and the minicom session where I see the issue. My TI board is connected to a Linux Ubuntu machine through JTAG and also through one of the Gigabit Ethernet ports. The Linux machine is not connected to the outside world. Let me know if I need to change my physical setup and try again.

Below is the output from the setup script, the minicom session, and the results of a "printenv" command from U-Boot.

-------------------------------------------


Select Linux kernel location:
1: TFTP
2: SD card

[ 1 ]

Select root file system location:
1: NFS
2: SD card

[ 1 ]

Available kernel images in /tftproot:
am571x-idk-am57xx-evm.dtb
am571x-idk-lcd-osd101t2045-am57xx-evm.dtb
am571x-idk-lcd-osd101t2045.dtb
am571x-idk-lcd-osd101t2587-am57xx-evm.dtb
am571x-idk-lcd-osd101t2587.dtb
am571x-idk-pps-am57xx-evm.dtb
am571x-idk-pps.dtb
am571x-idk-pru-excl-uio-am57xx-evm.dtb
am571x-idk-pru-excl-uio.dtb
am571x-idk.dtb
am5729-beagleboneai-am57xx-evm.dtb
am5729-beagleboneai.dtb
am572x-idk-am57xx-evm.dtb
am572x-idk-jailhouse-am57xx-evm.dtb
am572x-idk-jailhouse.dtb
am572x-idk-lcd-osd101t2045-am57xx-evm.dtb
am572x-idk-lcd-osd101t2045-jailhouse-am57xx-evm.dtb
am572x-idk-lcd-osd101t2045-jailhouse.dtb
am572x-idk-lcd-osd101t2045.dtb
am572x-idk-lcd-osd101t2587-am57xx-evm.dtb
am572x-idk-lcd-osd101t2587-jailhouse-am57xx-evm.dtb
am572x-idk-lcd-osd101t2587-jailhouse.dtb
am572x-idk-lcd-osd101t2587.dtb
am572x-idk-pps-am57xx-evm.dtb
am572x-idk-pps.dtb
am572x-idk-pru-excl-uio-am57xx-evm.dtb
am572x-idk-pru-excl-uio.dtb
am572x-idk.dtb
am574x-idk-am57xx-evm.dtb
am574x-idk-jailhouse-am57xx-evm.dtb
am574x-idk-jailhouse.dtb
am574x-idk-lcd-osd101t2587-am57xx-evm.dtb
am574x-idk-lcd-osd101t2587.dtb
am574x-idk-pps-am57xx-evm.dtb
am574x-idk-pps.dtb
am574x-idk-pru-excl-uio-am57xx-evm.dtb
am574x-idk-pru-excl-uio.dtb
am574x-idk.dtb
am57xx-beagle-x15-am57xx-evm.dtb
am57xx-beagle-x15-revb1-am57xx-evm.dtb
am57xx-beagle-x15-revb1.dtb
am57xx-beagle-x15-revc-am57xx-evm.dtb
am57xx-beagle-x15-revc.dtb
am57xx-beagle-x15.dtb
am57xx-evm-am57xx-evm.dtb
am57xx-evm-cam-mt9t111-am57xx-evm.dtb
am57xx-evm-cam-mt9t111.dtb
am57xx-evm-cam-ov10635-am57xx-evm.dtb
am57xx-evm-cam-ov10635.dtb
am57xx-evm-jailhouse-am57xx-evm.dtb
am57xx-evm-jailhouse.dtb
am57xx-evm-reva3-am57xx-evm.dtb
am57xx-evm-reva3-cam-mt9t111-am57xx-evm.dtb
am57xx-evm-reva3-cam-mt9t111.dtb
am57xx-evm-reva3-cam-ov10635-am57xx-evm.dtb
am57xx-evm-reva3-cam-ov10635.dtb
am57xx-evm-reva3-jailhouse-am57xx-evm.dtb
am57xx-evm-reva3-jailhouse.dtb
am57xx-evm-reva3.dtb
am57xx-evm.dtb
zImage-am57xx-evm.bin

Which kernel image do you want to boot from TFTP?
[ zImage-am57xx-evm.bin ]
--------------------------------------------------------------------------------
Would you like to create a minicom script with the above parameters (y/n)?
[ y ]

Successfully wrote /home/ksmith/ti-processor-sdk-linux-am57xx-evm-06.03.00.106/bin/setupBoard.minicom

Detecting connection to board... /dev/ttyUSB2

--------------------------------------------------------------------------------
Would you like to run the setup script now (y/n)?

Please connect the ethernet cable as described in the Quick Start Guide.
Once answering 'y' on the prompt below, you will have 300 seconds to connect
the board and power cycle it before the setup times out

After successfully executing this script, your EVM will be set up. You will be
able to connect to it by executing 'minicom -w' or if you prefer a windows host
you can set up Tera Term as explained in the Software Developer's Guide.
If you connect minicom or Tera Term and power cycle the board Linux will boot.

[ y ]


Welcome to minicom 2.7.1

OPTIONS: I18n
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB2, 16:23:04

Press CTRL-A Z for help on special keys


U-Boot 2019.01-g333c3e72d3 (Apr 20 2020 - 04:15:00 +0000)

CPU : DRA752-GP ES2.0
Model: TI AM5728 IDK
Board: AM572x IDK REV 1.3C
DRAM: 2 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... OK
am57x_idk_lcd_detect: Failed to get I2C device 0/56 (ret 1)
Net: eth0: ethernet@48484000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
1490 bytes read in 2 ms (727.5 KiB/s)
Importing environment from mmc0 ...
ethernet@48484000 Waiting for PHY auto negotiation to complete......... done
link up on port 0, speed 1000, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11
BOOTP broadcast 12
BOOTP broadcast 13
BOOTP broadcast 14
BOOTP broadcast 15
BOOTP broadcast 16
BOOTP broadcast 17
BOOTP broadcast 18
BOOTP broadcast 19
BOOTP broadcast 20
BOOTP broadcast 21
BOOTP broadcast 22
BOOTP broadcast 23
BOOTP broadcast 24
BOOTP broadcast 25
BOOTP broadcast 26
BOOTP broadcast 27
BOOTP broadcast 28
BOOTP broadcast 29

Retry time exceeded; starting again
link up on port 0, speed 1000, full duplex
*** ERROR: `serverip' not set
link up on port 0, speed 1000, full duplex
*** ERROR: `serverip' not set
=> printenv
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
autoload=no
baudrate=115200
board=am57xx
board_name=am572x_idk
board_rev=1.3C
board_serial=07204P470053
boot_fdt=try
boot_fit=0
bootargs=console=ttyS2,115200n8 root=/dev/nfs nfsroot=:/home/ksmith/ti-processor-sdk-linux-am57xx-evm-06.03.00.106/targetNFS,nolock,v3,tcp,rsize=4096,wsize=4096 rw ip=d
hcp
bootcmd=run findfdt; run getuenv; setenv autoload no;dhcp ;tftp ${loadaddr} zImage-am57xx-evm.bin; tftp ${fdtaddr} ${fdtfile}; run netargs; bootz ${loadaddr} - ${fdtadd
r}
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage-am57xx-evm.bin
bootm_size=0x10000000
bootpart=0:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
check_psdk_setup=load mmc 0:1 ${loadaddr} ${psdk_setup_file}
console=ttyS2,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl
-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500
0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_qspi=MLO raw 0x0 0x040000;u-boot.img raw 0x040000 0x0100000;u-boot-spl-os raw 0x140000 0x080000;u-boot-env raw 0x1C0000 0x010000;u-boot-env.backup raw 0x1D
0000 0x010000;kernel raw 0x1E0000 0x800000
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
dfu_bufsiz=0x10000
do_psdk_setup=env default -f -a; saveenv
dofastboot=0
emmc_android_boot=echo Trying to boot Android from eMMC ...; run update_to_fit; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; sete
nv machid fe6; mmc dev $mmcdev; mmc rescan; part start mmc ${mmcdev} boot boot_start; part size mmc ${mmcdev} boot boot_size; mmc read ${loadaddr} ${boot_start} ${boot_
size}; bootm ${loadaddr}#${fdtfile};
emmc_linux_boot=echo Trying to boot Linux from eMMC ...; setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw; run mmcboot;
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loade
d env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
eth2addr=70:ff:76:1c:32:a3
eth3addr=70:ff:76:1c:32:a4
eth4addr=70:ff:76:1c:32:a5
eth5addr=70:ff:76:1c:32:a6
eth6addr=70:ff:76:1c:32:a7
eth7addr=70:ff:76:1c:32:a8
ethact=ethernet@48484000
ethaddr=e4:15:f6:0d:a2:6e
fastboot.board_rev=1.3C
fastboot.cpu=DRA752
fastboot.secure=GP
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=fdf22128
fdtfile=am572x-idk.dtb
fileaddr=82000000
filesize=5d2
findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfile dra7-evm.dtb; fi;if test $board_name
= dra72x-revc; then setenv fdtfile dra72-evm-revc.dtb; fi;if test $board_name = dra72x; then setenv fdtfile dra72-evm.dtb; fi;if test $board_name = dra71x && test $boo
t_nand = 1; then setenv fdtfile dra71-evm-nand.dtb; fi;if test $board_name = dra71x && test $boot_nand = 0; then setenv fdtfile dra71-evm.dtb; fi;if test $board_name =
dra76x_acd; then setenv fdtfile dra76-evm.dtb; fi;if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = beagle_x15_revb1
; then setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;if test $board_name = beagle_x15_revc; then setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;if test $board_name = am
5729_beagleboneai; then setenv fdtfile am5729-beagleboneai.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = no; then setenv fdtfile am572x-idk.dtb; fi;if tes
t $board_name = am572x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am572x-idk-lcd-osd101t2045.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = os
d101t2587; then setenv fdtfile am572x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am574x_idk && test $idk_lcd = no; then setenv fdtfile am574x-idk.dtb; fi;if test
$board_name = am574x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am574x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am57xx_evm; then setenv fdtfile a
m57xx-evm.dtb; fi;if test $board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-evm-reva3.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = no; then sete
nv fdtfile am571x-idk.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am571x-idk-lcd-osd101t2045.dtb; fi;if test $board_nam
e = am571x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am571x-idk-lcd-osd101t2587.dtb; fi;if test $fdtfile = undefined; then echo WARNING: Could not determi
ne device tree to use; fi;
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x90000000
get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
getuenv=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootenv; then run importbootenv; fi; fi;
idk_lcd=no
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
ip_method=dhcp
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; run run_fit;
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_
fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; t
hen bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock,v3,tcp,rsize=4096,wsize=4096
partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=2048K,uuid=${uuid_gpt_bootloader};name=ubo
ot-env,start=2432K,size=256K,uuid=${uuid_gpt_reserved};name=misc,size=128K,uuid=${uuid_gpt_misc};name=recovery,size=40M,uuid=${uuid_gpt_recovery};name=boot,size=10M,uui
d=${uuid_gpt_boot};name=system,size=1024M,uuid=${uuid_gpt_system};name=vendor,size=256M,uuid=${uuid_gpt_vendor};name=userdata,size=-,uuid=${uuid_gpt_userdata}
psdk_setup_file=.psdk_setup
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
rdaddr=0x88080000
rootpath=/home/ksmith/ti-processor-sdk-linux-am57xx-evm-06.03.00.106/targetNFS
run_fit=bootm ${fit_loadaddr}#${fdtfile}${overlaystring}
scriptaddr=0x80000000
serial#=1801200538b20802
setconsole=if $board_name=am5729_beaglebonai;then setenv console ttyS0,115200; fi;fdtfile=undefined
soc=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@48020000
stdin=serial@48020000
stdout=serial@48020000
uenvcmd=if run check_psdk_setup; then echo "Already setup."; else run do_psdk_setup; mw.b ${loadaddr} 0 1; fatwrite mmc 0:1 ${loadaddr} .psdk_setup 1; reset; fi
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usbtty=cdc_acm
vendor=ti
ver=U-Boot 2019.01-g333c3e72d3 (Apr 20 2020 - 04:15:00 +0000)
vram=16M

Environment size: 8291/131067 bytes
=>
CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7.1 | VT102 | Offline | ttyUSB2

  • Hi,

    Have you configured the BOOTP server with the configuration for this IDK ? Unlike DHCP it does not automatically assign the values.

    Also, you need to set serverip for TFTP. See the error

    *** ERROR: `serverip' not set

    Please check your network outside the uboot, make sure it's working.

    Regards

    Vineet

  • Hi Vineet,

    Thanks for you quick response. I have not done any configuration other than that which is specified in the User's Guide for the AM572x IDK. All the configuration which I have done is included in my post.

    You are correct that in this example I ended up with serverip not set. However, when I set serverip the IP address of my Linux machine, I get the error outlined below (ipaddr not set). My understanding is that the dhcp command was supposed to set the ip address. When I set ipaddr to some arbitrary address, I still get the same error.

    ethernet@48484000 Waiting for PHY auto negotiation to complete......... done
    link up on port 0, speed 1000, full duplex
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    BOOTP broadcast 4
    BOOTP broadcast 5
    BOOTP broadcast 6
    BOOTP broadcast 7
    BOOTP broadcast 8
    BOOTP broadcast 9
    BOOTP broadcast 10
    BOOTP broadcast 11
    BOOTP broadcast 12
    BOOTP broadcast 13
    BOOTP broadcast 14
    BOOTP broadcast 15
    BOOTP broadcast 16
    BOOTP broadcast 17
    BOOTP broadcast 18
    BOOTP broadcast 19
    BOOTP broadcast 20
    BOOTP broadcast 21
    BOOTP broadcast 22
    BOOTP broadcast 23
    BOOTP broadcast 24
    BOOTP broadcast 25
    BOOTP broadcast 26
    BOOTP broadcast 27
    BOOTP broadcast 28
    BOOTP broadcast 29

    Retry time exceeded; starting again
    link up on port 0, speed 1000, full duplex
    *** ERROR: `ipaddr' not set
    link up on port 0, speed 1000, full duplex
    *** ERROR: `ipaddr' not set

  • Hi Kenyon,

    Sorry for the delay.

    I forgot to ask, which port are you trying this with ? I checked on my IDK and it works with eth0 but not with eth1

    Regards

    Vineet

  • Hi Vineet,

    I am using eth0.

    However, I have made some progress on this issue on my side. I set a static IP address and changed a few parameters and I am no longer getting this error. I am experiencing a different issue now. If you have a moment please take a look at my new post, at the following link:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1006411/am5729-u-boot-static-ip-address

    Thank you.

  • Thanks. Closing this thread.

    Will check the other one

    Regards

    Vineet