
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 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 => log level Default log level: 0 => usb start starting USB... Bus usb@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@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@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
[2]:
https://android.googlesource.com/platform/system/core/+/master/fastboot/fast...