Fastboot

Sean Anderson seanga2 at gmail.com
Sun Mar 7 03:04:03 CET 2021


On 3/6/21 8:38 PM, Jonas Vautherin wrote:
> Thanks a lot Sean!
> 
> I tried to enable logging by using the following CONFIG_:
> 
> ```
> CONFIG_LOG=y
> CONFIG_SPL_LOG=y
> CONFIG_TPL_LOG=y
> CONFIG_LOG_MAX_LEVEL=5

You need to increase this. Log levels are only compiled-in if they are
less than the max log level.

> CONFIG_SPL_LOG_MAX_LEVEL=3
> CONFIG_TPL_LOG_MAX_LEVEL=3
> CONFIG_LOG_DEFAULT_LEVEL=7
> CONFIG_LOG_CONSOLE=y
> CONFIG_SPL_LOG_CONSOLE=y
> CONFIG_TPL_LOG_CONSOLE=y
> 
> CONFIG_CMD_LOG=y
> ```
> 
> And I got the "log" function indeed. But it did not have the effect I was hoping for:
> 
> ```
> => log level set 7

Use the help function ;)

The correct syntax is "log level 7"

If you use a newer U-Boot (newer than 2021.01) then the output will be
more verbose. E.g.

=> log level
EMERG
ALERT
CRIT
ERR
WARNING
NOTICE
INFO (default)
DEBUG

--Sean

> => log level
> Default log level: 0
> => usb start
> starting USB...
> Bus usb at 47401800: Port not available.
> ```
> 
> First, I don't get why it says "Default log level: 0" after I set it (to whatever number, apparently). And second, it does not seem to bring me more output about the usb issue :-/.
> 
> Am I missing something?
> 
> Best,
> Jonas
> 
> On Sat, Mar 6, 2021 at 3:20 AM Sean Anderson <seanga2 at gmail.com <mailto:seanga2 at gmail.com>> wrote:
> 
>     On 3/5/21 7:10 PM, Jonas Vautherin wrote:
>      > 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:
> 
>     This is normal. There will be output only when you issue commands.
> 
>      >
>      > * 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.
> 
>     Only udp goes over ethernet (though I suppose you could use a
>     usb-ethernet gadget/dongle).
> 
>      > * 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?
> 
>     The fastboot client detects devices with two bulk endpoints and the
>     correct interface (see match_fastboot and filter_usb_device). Generally,
>     you will only have to specify the vid/pid/serial if you have multiple
>     devices plugged in at once.
> 
>      > * 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?
> 
>     That's probably why your fastboot isn't working :)
> 
>     You can try debugging it by enabling debug messages. If you want less than
>     a firehose, you can try setting the default log level to info, and then
>     setting it to debug before running usb start. See [1] for details.
> 
>     [1] https://u-boot.readthedocs.io/en/latest/develop/logging.html
> 
>     --Sean
> 
>      > 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