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.

TMDSSK3358: Failed to USB boot

Part Number: TMDSSK3358
Other Parts Discussed in Thread: UNIFLASH

I tried USB boot, but failed.
Firstly, I pressed power on button of TMDSSK3358 without micro SD card.
Secondary, I pressed Start Flashing button of UniFlash. (Fig.1)
Then, BOOTP and TFTP packets were captured. (Fig.2 and usb_boot.pcapng)

It seemed that u-boot-spl-restore.bin was downloaded and started, but u-boot.img was not downloaded and started.

So, I pressed suspend button in CCS to see tracing data. (Fig.3)
  Current tracing vector, word 1 : 0x0010D03F
  Current tracing vector, word 2 : 0x000110F0
  Current tracing vector, word 3 : 0x00111000

Could you teach me how to boot from USB correctly.

[ Additional Information]
u-boot-spl-restore.bin and u-boot.img are placed in C:\Users\MM11382\Documents\04_src\RMU3\UniFlash .

Fig.1

Fig.2

Fig.3

  • I was not able to upload usb_boot.pcapng. (a packet capture file)

    Are there any file type limitation to upload in e2e web system ?

  • Hello expert,

    Here I attached the capture file packed by zip  instead of Uegaki-san.

    usb_boot.zip

    Regards, A.Fujinaka

  • I seemed that I used wrong SPL image.
    I used MLO-am335x-evm in SDK, but I think u-boot-spl.bin-am335x-evm was correct SPL file in this TFTP case.

    After replacing to u-boot-spl.bin-am335x-evm, I tried again.
    But I got this error message as follows.

    U-Boot SPL 2020.01-g2781231a33 (May 24 2021 - 11:08:13 +0000)
    Trying to boot from USB eth
    
    Warning: eth_cpsw using MAC address from ROM
    eth0: eth_cpsw
    Warning: usb_ether using MAC address from ROM
    , eth1: usb_ether
    using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
    MAC de:ad:be:ef:00:01
    HOST MAC de:ad:be:ef:00:00
    RNDIS ready
    eth_cpsw 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
    
    Retry time exceeded; starting again
    Problem booting with BOOTP
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    


    Tough this error message shows "BOOTP broadcast", Wireshirk captured no packets.
    I also think that "MAC de:ad:be:ef:00:01" and "HOST MAC de:ad:be:ef:00:00" are strange. Because, when I started this EVM normally, ifconfig result were as follows. Namely, it seems wrong MAC address.

    root@am335x-evm:~# ifconfig
    eth0 Link encap:Ethernet HWaddr C4:ED:BA:8D:36:AA
    inet6 addr: fe80::c6ed:baff:fe8d:36aa/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:65 errors:0 dropped:0 overruns:0 frame:0
    TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:6989 (6.8 KiB) TX bytes:3712 (3.6 KiB)
    
    eth1 Link encap:Ethernet HWaddr C4:ED:BA:8D:36:AC
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
    

    Could you teach me how to fix this issue.
    Moreover, could you send me log and packet when you boot correctly by USB ?

  • Hello,

    Apologies for the delayed response, the thread got assigned to Fujinaka-san when he replied so our moderators did not see it. I am assigning your thread to a team member now.

    To confirm: uniflash worked properly, but now you are having trouble booting from USB? Or are you still working on getting Uniflash to work?

    Regards,

    Nick

  • Hello
    It seemed that UniFlash send SPL file correctly.
    Then, the target board started SPL image.
    But serial log shows error message as mentioned above.
    I think that BOOTP broadcast didn't work properly because no packet captured by Wireshirk and strange MAC address.

  • Hi,

    When the AM335x SK USB interface is enumerated on the host PC, it is recognized as a USB RNDIS network interface, and it should happen 3 times during the boot process - the first time is when power on the board and ROM is up and running; the second time is when u-boot-spl.bin is downloaded and up and running; the last time is when u-boot.img is downloaded and up and running.

    Please open the Device Manager on your Windows PC and watch if the RNDIS network interface disappears and comes back again when u-boot-spl.bin is downloaded.

    Are you using Windows 10 or Windows 7 on the PC running UniFlash?

  • Hello
    I'm using Windows 10 laptop.

    The existing state of affairs right now is that USB RNDIS network interface was appeared and then UniFlash sent SPL file to the target correctly.
    After that, "BOOTP broadcast X" serial log was displayed as shown above. So, I tried to capture this broadcast packet, but no packet was captured.
    By the way, when "BOOTP broadcast X" message was showing, USB RNDIS network interface was disappeared. So, my understanding was real ethernet network interface is used to broadcast. Is my understating correct ?
    Or, USB RNDIS network interface was expected ?

  • Hi Uegaki-san,

    Or, USB RNDIS network interface was expected ?

    Yes, USB RNDIS interface should be used here too.

    I don't have an Windows setup to run the test, but here is the SK board log showing the download process from a Linux PC.

    CCCCCCCC
    U-Boot SPL 2020.01-g2781231a33 (May 24 2021 - 11:08:13 +0000)
    Trying to boot from USB eth
    
    Warning: eth_cpsw using MAC address from ROM
    eth0: eth_cpsw
    Warning: usb_ether using MAC address from ROM
    , eth1: usb_ether
    using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
    MAC de:ad:be:ef:00:01
    HOST MAC de:ad:be:ef:00:00
    RNDIS ready
    musb-hdrc: peripheral reset irq lost!
    high speed config #2: 2 mA, Ethernet Gadget, using RNDIS
    USB RNDIS network up!
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    DHCP client bound to address 192.168.3.103 (757 ms)
    Using usb_ether device
    TFTP from server 192.168.3.10; our IP address is 192.168.3.103
    Filename 'u-boot-am335x-evm.img'.
    Load address: 0x82000000
    Loading: #################################################################
             #################################################################
             #####################
             3.3 MiB/s
    done
    Bytes transferred = 770628 (bc244 hex)
    
    
    U-Boot 2020.01-g2781231a33 (May 24 2021 - 11:08:13 +0000)
    
    CPU  : AM335X-GP rev 2.1
    Model: TI AM335x EVM-SK
    DRAM:  256 MiB
    WDT:   Started with servicing (60s timeout)
    NAND:  0 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... <ethaddr> not set. Validating first E-fuse MAC
    Net:   eth0: ethernet@4a100000
    Hit any key to stop autoboot:  0
    =>
    

    By the way, when "BOOTP broadcast X" message was showing, USB RNDIS network interface was disappeared.

    Even the USB RNDIS interface was disappeared, does a new (unknown?) USB device show up the Device Manager? If so, I guess the issue is that the USB RNDIS device VID:PID in U-Boot is different from that in ROM, so Windows RNDIS driver doesn't recognize it as USB RNDIS interface, but at least a new USB device should show up in Device Manager.

  • Thank you for reply.
    I confirmed USB device tree status by using usbview.exe (provided from Microsoft).

    Fig.1 shows when USB RNDIS network interface appeared.
    Fig.2 shows when USB RNDIS network interface disappeared.

    As shown in Fig.2, USB device description was not displayed.
    Therefore, I think that USB initialization of the target didn't work properly.

    Also, your attached log file displays these message below, but my log above didn't include these message.

    musb-hdrc: peripheral reset irq lost!
    high speed config #2: 2 mA, Ethernet Gadget, using RNDIS
    USB RNDIS network up!
    I think that this is also shows USB initialization of the target didn't work properly.

    I'm using default SPL in the latest SDK.
    Speaking more detail, I built SPL by using default Rules.make in ti-processor-sdk-linux-am335x-evm-07.03.00.005-Linux-x86-Install.bin.

    I checked u-boot.chg after building SPL, 
    These two configuration were defined.
    #define CONFIG_USB_GADGET_VENDOR_NUM 0x0451
    #define CONFIG_USB_GADGET_PRODUCT_NUM 0xd022

    > I guess the issue is that the USB RNDIS device VID:PID in U-Boot is different from that in ROM
    Should I modify product number from 0xd022 to 0x6141 which was displayed in Fig.1 ?
    If yes, can USB initialization work properly after this modification ?
    Additionally, why was default configuration 0xd022 ?

    Fig.1

    Fig.2

  • After modifying product number from 0xd022 to 0x6141 and re-built SPL, I tried again.
    But this issue happened.

    On the other hand, when LAN cable was disconnected, this message was displayed.
    It seems that SPL tried to use Ethernet instead of USB.
    I think this is strange.

    U-Boot SPL 2020.01-dirty (Sep 02 2021 - 11:51:36 +0900)
    Trying to boot from USB eth
    
    Warning: eth_cpsw using MAC address from ROM
    eth0: eth_cpsw
    Warning: usb_ether using MAC address from ROM
    , eth1: usb_ether
    using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
    MAC de:ad:be:ef:00:01
    HOST MAC de:ad:be:ef:00:00
    RNDIS ready
    eth_cpsw Waiting for PHY auto negotiation to complete................................................................................................................................................................................................................................................................................................................................................................................................................. TIMEOUT !
    Problem booting with BOOTP
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

  • I'm wating for reply.
    Please let me know how long does it take to response.