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