Fastboot

Jonas Vautherin jonas.vautherin at gmail.com
Sat Mar 6 01:10:35 CET 2021


Hello!

I am learning about Fastboot, and I would like to run it from u-boot and
detect it from my host computer (I have the tools on my host, that's
working with other devices).

I am using a pocketbeagle and I built an image using Yocto. I can get into
the u-boot prompt at boot time, and I get the following output:

```
Rebooting... reboot: Restarting system

U-Boot SPL 2020.07 (Jul 06 2020 - 19:22:53 +0000)
Trying to boot from MMC1


U-Boot 2020.07 (Jul 06 2020 - 19:22:53 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x PocketBeagle
DRAM:  512 MiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0
Loading Environment from FAT... *** Warning - bad CRC, using default
environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   No ethernet found.
Hit any key to stop autoboot:  2
```

If I hit a key here, I get the u-boot prompt (`=>`) where I find
"fastboot". The thing is that none of the fastboot commands I run have any
output:

* fastboot usb 0
* fastboot usb
* fastboot udp

Now, fastboot udp is not enabled in my defconfig, but the udp gadget
support is, and the usb fastboot gadget is enabled, too. From my host, I
just don't see anything in the `dmesg` output.

Here are a few questions:

* Does fastboot usb go over ethernet? If yes, I guess that the "Net: No
ethernet found." message is an issue that I need to fix such that a new usb
network interface is created by my host, but from my tests with this
proprietary device I own, it does not seem to be enumerated as a network
interface.
* In readthedocs [1], it mentions that "The CONFIG_USB_GADGET_VENDOR_NUM
must be one of the numbers supported by the fastboot client." In my setup,
it is set to 0x0451, and I did not find what is supposed to be supported in
fastboot.cpp [2]. So from the host, I also tried `fastboot -i 0x0451
devices`. Is that an issue?
* I thought that maybe I should start USB, because the output of `usb tree`
says "USB is stopped. Please issue 'usb start' first.". But running `usb
start` errors with "Bus usb at 47401800: Port not available.". Is that related
to fastboot at all, i.e. should I be concerned about that? And how can I
debug it?

Thanks in advance for the help!
Jonas

[1]: https://u-boot.readthedocs.io/en/latest/android/fastboot.html
[2]:
https://android.googlesource.com/platform/system/core/+/master/fastboot/fastboot.cpp


More information about the U-Boot mailing list