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.

AM3517 : U-boot networking (ping, tftpboot)

Other Parts Discussed in Thread: AM3517

I have an AM3517 Zoom EVM board. I cannot get u-boot networking to work successfully.  However, if I boot linux on the board, I have no trouble with networking from linux (ping, tftp), so I know that my hardware setup is ok.

I have tried both provided (images/u-boot/am3517/u-boot.bin) and rebuilt (src/u-boot/am3517/) u-boot and x-loader from sdk versions 3.00.00.02 and 3.00.00.03, always with the same result. I am unable to ping or tftp. 

One thing that I find odd is that the networking driver listed is the "DaVinci EMAC device."  Here is a terminal capture:  My system is set up with a crossover cable. I'm running tftp inside a virtual machine. Windows IP is 192.168.1.3 and VM is 192.168.1.1 (Bridged configuration). I am able to talk to both IP addresses if I boot linux and ping/tftp 

40X

Texas Instruments X-Loader 1.44 (Dec  8 2009 - 22:58:46)
Starting X-loader on MMC
Reading boot sector

213268 Bytes Read from MMC
Starting OS Bootloader from MMC...
Starting OS Bootloader...


U-Boot 2009.08 (Jan 19 2010 - 11:12:19)

AM35xx-GP ES1.0, L3-165MHz
am3517evm board + LPDDR/NAND
I2C:   ready
DRAM:  256 MB
NAND:  512 MiB
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial
I2C read: I/O error
HECC U20: port before = 000000FF
I2C read: I/O error
I2C read: I/O error
HECC U20: programmed CAN_STB low
I2C read: I/O error
HECC U20: port after = 000000FF
Die ID #1f5200000000000001543b210200601d
Net:   davinci_emac_initialize
Ethernet PHY: GENERIC @ 0x00
DaVinci EMAC
Hit any key to stop autoboot:  0
AM3517_EVM # setenv ipaddr 192.168.1.2
AM3517_EVM # setenv netmask 255.255.255.0
AM3517_EVM # setenv ethaddr 82:64:16:DA:2F:6A
AM3517_EVM # ping 192.168.1.3
Using DaVinci EMAC device
ping failed; host 192.168.1.3 is not alive
AM3517_EVM # setenv serverip 192.168.1.1
AM3517_EVM # tftpboot uImage 0x81600000
Using DaVinci EMAC device
TFTP from server 192.168.1.1; our IP address is 192.168.1.2
Filename '0x81600000'.
Load address: 0x0
Loading: T T T T T T T T T T T

  • Steve Preissig said:
    I have an AM3517 Zoom EVM board. I cannot get u-boot networking to work successfully. 

    What version of the SoM do you have on your AM3517 EVM? If it says Rev 7 (earlier/later revs should be ok) there are known issues with the Ethernet interface, which may be your issue in which case you may want to try another network configuration instead of the crossover, like a router or switch. Note that the Rev 7 SoMs seem to work better with some switches/hubs/routers than others and that sometimes the particular port you use on the switch/hub/router can have an impact.

    On a positive note the Rev 7 SoMs have been updated and future SoM revs should not have this issue.

    Steve Preissig said:
    One thing that I find odd is that the networking driver listed is the "DaVinci EMAC device." 

    My U-Boot is a bit older, and does not appear to print that message but it is not entirely out of place, the AM3517 uses a similar EMAC peripheral to the one that was used on Davinci (DM6446), so some of the low level software is being recycled.

  • Thanks for the info, Bernie. I do have version 7 of the SoM.

    By connecting through dlink router (dsl-2640B) I am able to get networking to work properly for u-boot. I have been able to ping, tftp and nfs mount a root filesystem.

  • Just for information. I've Rev 5 and exact problem as described (Network works perfect with Linux but not with U-Boot). There is no router, switch, hub, ... inbetween.

  • Thomas

    Make sure you are using U-Boot 2009.08 or later.

    Nate

  • Try entering your ethaddr in lowercase.

    This should fix the networking issues

  • Var ethaddr is something special in the am3517 u-boot ;)

    You have to set it first, and do 'saveenv', then power cycle, and complete other setup, then ping or tftp will work.

    This trick works for me.

  • If you have no flash attached to your ARM Processor, saveenv is not possible. In this case you can compile the hw and ip address into the bootloader:

    add the following lines to include/configs/am3517_evm.h

    #define CONFIG_ETHADDR        xx:xx:xx:xx:xx:xx    // add your mac address

    #define CONFIG_IPADDR         yyy.yyy.yyy.yyy      // add your ip address

    and recompile u-boot

     

  • Hi,

    I have the same question with you ,do you slove it ? I would like you can give me same guidance.

    Thanks!