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.

Linux/BEAGLEBK: Beaglebone Black peripheral boot USB0

Part Number: BEAGLEBK

Tool/software: Linux

Hi,

I tried to build Beaglebone Black images for booting from USB0 but without success.

The following are what I did:

1.Build the images using Yocto build system from:

Tag "rocko-18.0.3" from git://git.yoctoproject.org/poky

Tag "ti2018.03" from git://git.yoctoproject.org/meta-ti

MACHINE =  "am335x-evm"

2. Default u-boot configuration is used (am335x_boneblack_defconfig).

3. Following this instruction http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black#Preparing_the_Flasher_Image, the resulting u-boot.img and u-boot-spl.bin are renamed into u-boot-restore.img and u-boot-spl-restore.bin, respectively. Then placed them under the Uniflash TFTP home folder: C:\AM335x_Flashtool\images.

Below are the messages from the serial console:

U-Boot SPL 2018.01-g8b2f1df4b5 (Jan 10 2019 - 18:54:12)

Trying to boot from USB eth

** Bad device mmc 0 **

Using default environment

 

<ethaddr> not set. Validating first E-fuse MAC

cpsw, usb_ether

Error: usb_ether address not set.

 

using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in

MAC c8:df:84:da:88:91

HOST MAC de:ad:be:ef:00:00

RNDIS ready

musb-hdrc: peripheral reset irq lost!

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 ###


Below are the questions I have:

1. What did I miss? I suspect instead of using default u-boot configuration, some of the u-boot configuration needs be modified for peripheral boot from USB0 to work. If yes, what need to be modified? If not, can someone point out what may cause these errors?

2. I noticed that Uniflash does not work on a computer that has an additional network card. I need to use a computer that has only one Ethernet port for it to work. I wonder if this is a known problem?  Using Wireshark, I saw BOOTP requests sending out from the Beaglebone on the Linux USB Ethernet/RNDIS Gadget interface. However, the replies from the host PC are not seen. Is there a way to make it work?

Please help. Thank you!