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.

PROCESSOR-SDK-AM62X: TFTP boot failure

Part Number: PROCESSOR-SDK-AM62X

Hi,

My EVK cannot set up TFTP anymore.

I am using the default image, default dtb files.

I ran the setup.sh.

Then i set up the board using setupBoard.minicom.

When i boot it up,i got the error attached.

Please note that i can run without tftp and tftp was working before.

U-Boot 2021.01-g3983bffabc (Dec 14 2022 - 11:52:19 +0000)                       
                                                                                
SoC:   AM62X SR1.0 GP                                                           
Model: Texas Instruments AM625 SK                                               
EEPROM not available at 0x50, trying to read at 0x51                            
Reading on-board EEPROM at 0x51 failed -1                                       
DRAM:  2 GiB                                                                    
MMC:   mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2                           
Loading Environment from MMC... OK                                              
In:    serial@2800000                                                           
Out:   serial@2800000                                                           
Err:   serial@2800000                                                           
EEPROM not available at 0x50, trying to read at 0x51                            
Reading on-board EEPROM at 0x51 failed -1                                       
Net:   eth0: ethernet@8000000port@1                                             
Hit any key to stop autobo 0                                                    
=>env default -f -a                                                             
## Resetting to default environment                                             
=>saveenv                                                                       
Saving Environment to MMC... Writing to MMC(0)... OK                            
=>reset                                                                         
resetting ...                                                                   
                                                                                
U-Boot SPL 2021.01-g3983bffabc (Dec 14 2022 - 11:53:21 +0000)                   
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')          
SPL initial stack usage: 13424 bytes                                            
Trying to boot from MMC2                                                        
Warning: Detected image signing certificate on GP device. Skipping certificate d
Warning: Detected image signing certificate on GP device. Skipping certificate d
Loading Environment from MMC... *** Warning - No MMC card found, using default t
                                                                                
Starting ATF on ARM64 core...                                                   
                                                                                
NOTICE:  BL31: v2.7(release):v2.7.0-359-g1309c6c805-dirty                       
NOTICE:  BL31: Built : 11:48:12, Dec 14 2022                                    
I/TC:                                                                           
I/TC: OP-TEE version: 3.19.0-15-gd6c5d0037 (gcc version 9.2.1 20191025 (GNU Too4
I/TC: WARNING: This OP-TEE configuration might be insecure!                     
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecturel
I/TC: Primary CPU initializing                                                  
I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')    
I/TC: HUK Initialized                                                           
I/TC: Activated SA2UL device                                                    
I/TC: Fixing SA2UL firewall owner for GP device                                 
I/TC: Enabled firewalls for SA2UL TRNG device                                   
I/TC: SA2UL TRNG initialized                                                    
I/TC: SA2UL Drivers initialized                                                 
I/TC: Primary CPU switching to normal world boot                                
                                                                                
U-Boot SPL 2021.01-g3983bffabc (Dec 14 2022 - 11:52:19 +0000)                   
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')          
Trying to boot from MMC2                                                        
                                                                                
                                                                                
U-Boot 2021.01-g3983bffabc (Dec 14 2022 - 11:52:19 +0000)                       
                                                                                
SoC:   AM62X SR1.0 GP                                                           
Model: Texas Instruments AM625 SK                                               
EEPROM not available at 0x50, trying to read at 0x51                            
Reading on-board EEPROM at 0x51 failed -1                                       
DRAM:  2 GiB                                                                    
MMC:   mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2                           
Loading Environment from MMC... OK                                              
In:    serial@2800000                                                           
Out:   serial@2800000                                                           
Err:   serial@2800000                                                           
EEPROM not available at 0x50, trying to read at 0x51                            
Reading on-board EEPROM at 0x51 failed -1                                       
Net:   eth0: ethernet@8000000port@1                                             
Hit any key to stop autobo 0                                                    
=>setenv serverip 192.168.1.101                                                 
=>setenv nfs_root /home/ti-processor-sdk-linux-am62xx-evm-08.04.01.09S
=>setenv name_kern Image-am62xx-evm.bin                                         
=>setenv bootcmd 'run findfdt; run envboot; run setup_${kern_boot}; run init_${'
=>setenv init_net 'run args_all args_net; setenv autoload no; dhcp'             
=>setenv args_net 'setenv bootargs console=${console} ${optargs} rootfstype=nfs'
=>setenv get_kern_net 'tftp ${loadaddr} ${name_kern}'                           
=>setenv get_fdt_net 'tftp ${fdtaddr} ${name_fdt}'                              
=>setenv get_overlay_net 'fdt address ${fdtaddr};fdt resize 0x100000;for overla'
=>setenv nfs_options 'nolock,v3,tcp,rsize=4096,wsize=4096'                      
=>setenv setup_mmc ''                                                           
=>setenv setup_net 'setenv autoload no; dhcp'                                   
=>setenv kern_boot net                                                          
=>setenv rootfs_boot net                                                        
=>saveenv                                                                       
Saving Environment to MMC... Writing to MMC(0)... OK                            
=>boot                                                                          
switch to partitions #0, OK                                                     
mmc1 is current device                                                          
SD/MMC found on device 1                                                        
Failed to load 'boot.scr'                                                       
1490 bytes read in 2 ms (727.5 KiB/s)                                           
Loaded env from uEnv.txt                                                        
Importing environment from mmc1 ...                                             
Running uenvcmd ...                                                             
1 bytes read in 2 ms (0 Bytes/s)                                                
Already setup.                                                                  
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TI!
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed                  
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error           
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TI!
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed                  
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error           
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TI!
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed                  
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error           
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TI!
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed                  
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error           
libfdt fdt_check_header(): FDT_ERR_BADMAGIC                                     
No FDT memory address configured. Please configure                              
the FDT address via "fdt addr <address>" command.                               
Aborting!                                                                       
Bad Linux ARM64 Image magic!   

  • Hi Cyra,

    =>setenv serverip 192.168.1.101 

    The log shows you configured the host IP to be 192.168.1.101? Is this your tftp host address?

    The SK-AM62x has two ethernet ports, have you tried the other port?

  • Yes that is the correct host ip.

    and both ethernet ports don't work.

    I have tried putting in the default image and tried again which didn't work.

    I have tried setting up on different pc and didnt work also.

  • Here is what I tested on my AM62x SK:

    => setenv ipaddr 192.168.1.102
    => ping 192.168.88.101
    link up on port 1, speed 1000, full duplex
    Using ethernet@8000000port@1 device
    host 192.168.1.101 is alive

    Please use the Ethernet port next to the USB type-A connector. The other Ethernet port seems not enabled in U-Boot.

  • I used that port and still didn't work. The ethernet itself is working. It's just TFTP not working.

  • Do you mean the uboot ping command works?

  • Yes without TFTP, i can ping with no issue.

  • Please try tftp command after ping command, and provide the console log.

  • minicom -S setupBoard.minicom 
    
    
    Welcome to minicom 2.7.1
    
    OPTIONS: I18n 
    Compiled on Dec 23 2019, 02:06:26.
    Port /dev/ttyUSB0, 18:01:36
    
    Press CTRL-A Z for help on special keys
    
    �
    U-Boot SPL 2021.01-g3983bffabc (Dec 14 2022 - 11:53:21 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also d
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also d
    Loading Environment from MMC... *** Warning - No MMC card found, using default environment
    
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.7(release):v2.7.0-359-g1309c6c805-dirty
    NOTICE:  BL31: Built : 11:48:12, Dec 14 2022
    I/TC: 
    I/TC: OP-TEE version: 3.19.0-15-gd6c5d0037 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)))4
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Fixing SA2UL firewall owner for GP device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01-g3983bffabc (Dec 14 2022 - 11:52:19 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')
    Trying to boot from MMC2
    
    
    U-Boot 2021.01-g3983bffabc (Dec 14 2022 - 11:52:19 +0000)
    
    SoC:   AM62X SR1.0 GP
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -1
    DRAM:  2 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2
    Loading Environment from MMC... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -1
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autobo 0 
    =>env default -f -a
    ## Resetting to default environment
    =>saveenv
    Saving Environment to MMC... Writing to MMC(0)... OK
    =>reset
    resetting ...
    
    U-Boot SPL 2021.01-g3983bffabc (Dec 14 2022 - 11:53:21 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also d
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also d
    Loading Environment from MMC... *** Warning - No MMC card found, using default environment
    
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.7(release):v2.7.0-359-g1309c6c805-dirty
    NOTICE:  BL31: Built : 11:48:12, Dec 14 2022
    I/TC: 
    I/TC: OP-TEE version: 3.19.0-15-gd6c5d0037 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)))4
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Fixing SA2UL firewall owner for GP device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01-g3983bffabc (Dec 14 2022 - 11:52:19 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')
    Trying to boot from MMC2
    
    
    U-Boot 2021.01-g3983bffabc (Dec 14 2022 - 11:52:19 +0000)
    
    SoC:   AM62X SR1.0 GP
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -1
    DRAM:  2 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2
    Loading Environment from MMC... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -1
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autobo 0 
    =>setenv serverip 192.168.1.101
    =>setenv nfs_root /home/user/ti-processor-sdk-linux-am62xx-evm-08.04.01.09/targetNFS
    =>setenv name_kern Image-am62xx-evm.bin
    =>setenv bootcmd 'run findfdt; run envboot; run setup_${kern_boot}; run init_${rootfs_boot}; run get_kern_${kern_boot}; run get_fdt_${kern_bo'
    =>setenv init_net 'run args_all args_net; setenv autoload no; dhcp'

    =>setenv args_net 'setenv bootargs console=${console} ${optargs} rootfstype=nfs root=/dev/nfs rw nfsroot=${serverip}:${nfs_root},${nfs_option'

    =>setenv get_kern_net 'tftp ${loadaddr} ${name_kern}'
    =>setenv get_fdt_net 'tftp ${fdtaddr} ${name_fdt}'
    =>setenv get_overlay_net 'fdt address ${fdtaddr};fdt resize 0x100000;for overlay in ${overlay_files};do;tftp ${overlayaddr} ${overlay};fdt ap'
    =>setenv nfs_options 'nolock,v3,tcp,rsize=4096,wsize=4096'
    =>setenv setup_mmc ''
    =>setenv setup_net 'setenv autoload no; dhcp'
    =>setenv kern_boot net
    =>setenv rootfs_boot net
    =>saveenv
    Saving Environment to MMC... Writing to MMC(0)... OK
    =>boot
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    Failed to load 'boot.scr'
    1490 bytes read in 2 ms (727.5 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    Running uenvcmd ...
    1 bytes read in 2 ms (0 Bytes/s)
    Already setup.
    link up on port 1, speed 1000, full duplex
    BOOTP broadcast 1
    DHCP client bound to address 192.168.1.140 (14 ms)
    link up on port 1, speed 1000, full duplex
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    DHCP client bound to address 192.168.1.140 (1168 ms)
    link up on port 1, speed 1000, full duplex
    Using ethernet@8000000port@1 device
    TFTP from server 192.168.1.101; our IP address is 192.168.1.140
    Filename 'Image-am62xx-evm.bin'.
    Load address: 0x82000000
    Loading: #T ########T ########################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #####################################T ############################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             ####################T #############################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             ######T ###########################################################
             #################################################################
             #################################################################
             #################################################################
             ###############################################
             202.1 KiB/s
    done
    Bytes transferred = 18543104 (11af200 hex)
    link up on port 1, speed 1000, full duplex
    Using ethernet@8000000port@1 device
    TFTP from server 192.168.1.101; our IP address is 192.168.1.140
    Filename 'k3-am625-sk.dtb'.
    Load address: 0x88000000
    Loading: T T T T T T T T T T 
    Retry count exceeded; starting again
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    ERROR: Did not find a cmdline Flattened Device Tree
    Could not find a valid device tree
    => ping 8.8.8.8
    link up on port 1, speed 1000, full duplex
    Using ethernet@8000000port@1 device
    host 8.8.8.8 is alive
    => tftp
    link up on port 1, speed 1000, full duplex
    *** Warning: no boot file name; using 'C0A8018C.img'
    Using ethernet@8000000port@1 device
    TFTP from server 192.168.1.101; our IP address is 192.168.1.140
    Filename 'C0A8018C.img'.
    Load address: 0x82000000
    Loading: T T T T T T T T T T 
    Retry count exceeded; starting again
    => 
    

  • The error in the latest log is different from the log in your first post.

    In the first post, the PHY auto negotiation failed/timeout, while the latest log shows tftp packet download timeout. did you make any change which causes the behavior different?

    How is the AM62x SK EVM Ethernet connected to the PC? via a hub or directly connected? Please try with different Ethernet hub and cable.

  • The difference is because first one is with one port and this second one with another.

    its connected via hub. I’ve tried different hub, different pc, different cable and all gave same result

  • Okay, that makes sense, the 2nd Ethernet port is not enabled in uboot, so PHY auto negotiation would fail.

    I am not sure what would cause the tftp command timeout, while ping still works. I had the similar tftp timeout issue early last year, but that was due to a broken Ethernet switch. Replacing the switch solved the issue for me.

    Can you please try to directly connect the EVM to the PC without the hub?

    I assume this is on your custom board, right? Have you tried the same setup with AM62x SK EVM to see if the tftp timeout issue also happens?

    By the way, not relevant to the tftp timout, but when you use tftp command on the uboot command line, it should be:

    => tftp <loadaddress> <filename>

  • This is on AM62x SK EVM, not custom board.

  • What is the revision of the SK EVM do you have?

    > reading on-board EEPROM at 0x51 failed -1 

    This message shouldn't happen on EVMs, unless you have a very early non-production EVM which doesn't have the EEPROM programmed (or the EEPROM is corrupted).

  • What is the revision of the SK EVM do you have?

    How do I check this version?

    This message shouldn't happen on EVMs, unless you have a very early non-production EVM which doesn't have the EEPROM programmed (or the EEPROM is corrupted).

    We touched a little bit on SPI connection to EEPROM.

    I am not sure whether that could have caused the corruption.

    Is there any way to check this? And if this really is the corruption issue, is there any way to recover?

  • How do I check this version?

    Look for the silk screen label "PROC114xx", the last two letter/number is the board revision.

    Do you have other SK EVM to test?

    Can you please try to directly connect the EVM to the PC without the hub?

  • Look for the silk screen label "PROC114xx", the last two letter/number is the board revision.

    PROC114E3

    Do you have other SK EVM to test?

    No, I do not have another EVM.

    Can you please try to directly connect the EVM to the PC without the hub?

    I can try that.

  • Do you have other SK EVM to test?

    I have managed to obtain another SK EVM of same product AM62x and tested with it.

    It's still having the same problem.

    Can you please try to directly connect the EVM to the PC without the hub?

    Do you have instruction of how to set it up? Because i am not sure how to set it up.

  • Hi Cyra,

    I don't think there is any specific setup, as long as the tftp server is configured on the host, and the evm and the host are on the same net work. Here are a few things please try:

    - boot the SK EVM from SD card to Linux, and try if tftp can download files in Linux instead of U-Boot;

    - If not, please try to tftp from another device or PC just to ensure the tftp server works on the host.