Fastboot

Jonas Vautherin jonas.vautherin at gmail.com
Sun Mar 7 19:31:27 CET 2021


Yes that was it! I had used `log help`, but misunderstood the output. My
bad... Below is the debug output I receive, where I don't really get what's
happening except for those two lines:

```
uclass_find_device_by_seq() - 1 -1 'usb at 47401800'
uclass_find_device_by_seq() - not found
```

But I don't really understand what it means. I spent a lot of time reading
the available options in menuconfig, and at that point I cannot say what I
am doing wrong. Note that I am using the `am335x_evm_defconfig` defconfig,
which I changed to get more logging outputs.

Here is the output of `usb start`, let me know if I am missing something
obvious from there:

```
=> usb start
starting USB...
Bus usb at 47401800: __of_translate_address() OF: ** translation for device
usb at 47401800 **
__of_translate_address() OF: bus is default (na=1, ns=1) on usb at 47400000
__of_translate_address() OF: parent bus is default (na=1, ns=1) on ocp
of_translate_one() OF: no ranges, 1:1 translation
of_translate_one() OF: with offset: 1195382784
__of_translate_address() OF: parent bus is default (na=1, ns=1) on
of_translate_one() OF: no ranges, 1:1 translation
of_translate_one() OF: with offset: 1195382784
__of_translate_address() OF: reached root node
fdtdec_lookup_phandle() fdtdec_lookup_phandle: phys
fdtdec_lookup_phandle() fdtdec_lookup_phandle: ti,ctrl_mod
fdtdec_get_addr_size_fixed() fdtdec_get_addr_size_fixed: reg:
fdtdec_get_addr_size_fixed() addr=44e10620
fdtdec_get_int() fdtdec_get_int: mentor,multipoint: fdtdec_get_int() 0x1 (1)
fdtdec_get_int() fdtdec_get_int: mentor,num-eps: fdtdec_get_int() 0x10 (16)
fdtdec_get_int() fdtdec_get_int: mentor,ram-bits: fdtdec_get_int() 0xc (12)
fdtdec_get_int() fdtdec_get_int: mentor,power: fdtdec_get_int() 0x1f4 (500)
uclass_find_device_by_seq() 0 1
uclass_find_device_by_seq() - 1 -1 'usb at 47401800'
uclass_find_device_by_seq() - not found
clk_set_defaults() clk_set_defaults(usb at 47401800)
clk_set_default_parents() clk_set_default_parents: could not read
assigned-clock-parents for 9df24d30
ofnode_read_prop() ofnode_read_prop: assigned-clock-rates:
ofnode_read_prop() <not found>
musb_core_init() musb-hdrc: hw_ep 0shared, max 64
musb_core_init() musb-hdrc: hw_ep 1tx, max 512
musb_core_init() musb-hdrc: hw_ep 1rx, max 512
musb_core_init() musb-hdrc: hw_ep 2tx, max 512
musb_core_init() musb-hdrc: hw_ep 2rx, max 512
musb_core_init() musb-hdrc: hw_ep 3tx, max 512
musb_core_init() musb-hdrc: hw_ep 3rx, max 512
musb_core_init() musb-hdrc: hw_ep 4tx, max 512
musb_core_init() musb-hdrc: hw_ep 4rx, max 512
musb_core_init() musb-hdrc: hw_ep 5tx, max 512
musb_core_init() musb-hdrc: hw_ep 5rx, max 512
musb_core_init() musb-hdrc: hw_ep 6tx, max 512
musb_core_init() musb-hdrc: hw_ep 6rx, max 512
musb_core_init() musb-hdrc: hw_ep 7tx, max 512
musb_core_init() musb-hdrc: hw_ep 7rx, max 512
musb_core_init() musb-hdrc: hw_ep 8tx, max 512
musb_core_init() musb-hdrc: hw_ep 8rx, max 512
musb_core_init() musb-hdrc: hw_ep 9tx, max 512
musb_core_init() musb-hdrc: hw_ep 9rx, max 512
musb_core_init() musb-hdrc: hw_ep 10tx, max 256
musb_core_init() musb-hdrc: hw_ep 10rx, max 64
musb_core_init() musb-hdrc: hw_ep 11tx, max 256
musb_core_init() musb-hdrc: hw_ep 11rx, max 64
musb_core_init() musb-hdrc: hw_ep 12tx, max 256
musb_core_init() musb-hdrc: hw_ep 12rx, max 64
musb_core_init() musb-hdrc: hw_ep 13shared, max 4096
musb_core_init() musb-hdrc: hw_ep 14shared, max 1024
musb_core_init() musb-hdrc: hw_ep 15shared, max 1024
musb_start() <== devctl 80
musb_stop() HDRC disabled
Port not available.
usb_init() scan end
```

Best,

On Sun, Mar 7, 2021 at 3:04 AM Sean Anderson <seanga2 at gmail.com> wrote:

> 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