From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Anderson Date: Fri, 5 Mar 2021 21:20:12 -0500 Subject: Fastboot In-Reply-To: References: Message-ID: <508bfa91-3f26-c560-ec2d-4c2af397922d@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > > 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 >