EFI breaks USB dual port detection - our observations
Heinrich Schuchardt
xypron.glpk at gmx.de
Wed Jul 19 04:38:06 CEST 2023
On 7/19/23 02:55, Da Xue wrote:
> On Tue, Jul 18, 2023 at 3:13 PM Heinrich Schuchardt <xypron.glpk at gmx.de
> <mailto:xypron.glpk at gmx.de>> wrote:
>
>
>
> Am 18. Juli 2023 20:37:04 MESZ schrieb Suniel Mahesh
> <sunil at amarulasolutions.com <mailto:sunil at amarulasolutions.com>>:
> >Hi,
> >
> >I am testing the USB infrastructure on a Rockchip RK3328 based
> >roc-rk3328-cc target.
> >
> >The USB tree on the device is as follows:
> >
> >=> usb tree
> >USB device tree:
> > 1 Hub (480 Mb/s, 0mA)
> > u-boot EHCI Host Controller
> >
> > 1 Hub (12 Mb/s, 0mA)
> > U-Boot Root Hub (OHCI)
> >
> > 1 Hub (5 Gb/s, 0mA)
> > U-Boot XHCI Host Controller
> >
> > 1 Hub (480 Mb/s, 0mA)
> > U-Boot Root Hub (DWC2)
> >
> >For some reason I am unable to detect storage device on DWC2 when
> two USB
> >drives
> >are simultaneously connected on EHCI and DWC2. Though it shows 2
> storage
> >devices
> >when i do a "usb start/reset" and it gives usb_mass_storage.lun0
> failed
> >message as
> >shown below.
>
> On which U-Boot version are you?
>
>
> This is replicated on v2023.07.
We need to model the UCLASS_USB device in the EFI device path to make
the device paths of the two USB sticks unique.
Best regards
Heinrich
>
>
> Cf.
> https://github.com/trini/u-boot/commit/180b7118bed8433f9cfe4b5ad62c6b0d901924f5 <https://github.com/trini/u-boot/commit/180b7118bed8433f9cfe4b5ad62c6b0d901924f5>
>
> Best regards
>
> Heinrich
>
>
>
> >
> >=> usb start
> >starting USB...
> >Bus usb at ff5c0000: USB EHCI 1.00
> >Bus usb at ff5d0000: USB OHCI 1.0
> >Bus usb at ff600000: generic_phy_get_bulk : no phys property
> >Register 2000140 NbrPorts 2
> >Starting the controller
> >USB XHCI 1.10
> >Bus usb at ff580000: USB DWC2
> >scanning bus usb at ff5c0000 for devices...
> >2 USB Device(s) found
> >scanning bus usb at ff5d0000 for devices... 1 USB Device(s) found
> >scanning bus usb at ff600000 for devices... 1 USB Device(s) found
> >scanning bus usb at ff580000 for devices...
> >Adding disk for usb_mass_storage.lun0 failed
> >(err=-9223372036854775788/0x8000000000000014)
> >device 'usb_mass_storage.lun0' failed to unbind
> >1 USB Device(s) found
> >device 'usb_mass_storage.lun0' failed to unbind
> > scanning usb for storage devices... 2 Storage Device(s) found
> >
> >=> usb tree
> >USB device tree:
> > 1 Hub (480 Mb/s, 0mA)
> > | u-boot EHCI Host Controller
> > |
> > +-2 Mass Storage (480 Mb/s, 224mA)
> > SanDisk Dual Drive 040130e3ee554b7078843f4eb331646
> >
> > 1 Hub (12 Mb/s, 0mA)
> > U-Boot Root Hub
> >
> > 1 Hub (5 Gb/s, 0mA)
> > U-Boot XHCI Host Controller
> >
> > 1 Hub (480 Mb/s, 0mA)
> > U-Boot Root Hub
> >
> >call trace: (detailed log:
> >https://gist.github.com/sunielmahesh/10088ea7b536cc9898ef787d9db43721 <https://gist.github.com/sunielmahesh/10088ea7b536cc9898ef787d9db43721>)
> >
> >efi_install_multiple_protocol_interfaces_int
> >device path
> >/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/USB(0x0,0x0)/USB(0x1,0x0)/Ctrl(0x0)
> >09576e91-6d3f-11d2-8e39-00a0c969723b, 00000000fcf1bae8,
> >00000000fcf1bae0efi_locate_device_path: ret = EFI_SUCCESS
> >efi_install_multiple_protocol_interfaces_int: ret=0, dp->type:7f
> >Path
> >/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/USB(0x0,0x0)/USB(0x1,0x0)/Ctrl(0x0)
> >already installed
> >install failed 8000000000000014
> >
> >However, an interesting observation is that if i disable
> CONFIG_EFI_LOADER,
> >then I am able to detect the storage devices
> >without any usb_mass_storage.lun0 failed message:
> >
> >=> usb reset
> >resetting USB...
> >Bus usb at ff5c0000: USB EHCI 1.00
> >Bus usb at ff5d0000: USB OHCI 1.0
> >Bus usb at ff600000: generic_phy_get_bulk : no phys property
> >Register 2000140 NbrPorts 2
> >Starting the controller
> >USB XHCI 1.10
> >Bus usb at ff580000: USB DWC2
> >scanning bus usb at ff5c0000 for devices... 2 USB Device(s) found
> >scanning bus usb at ff5d0000 for devices... 1 USB Device(s) found
> >scanning bus usb at ff600000 for devices... 1 USB Device(s) found
> >scanning bus usb at ff580000 for devices... 2 USB Device(s) found
> > scanning usb for storage devices... 2 Storage Device(s) found
> >=> usb tree
> >USB device tree:
> > 1 Hub (480 Mb/s, 0mA)
> > | u-boot EHCI Host Controller
> > |
> > +-2 Mass Storage (480 Mb/s, 224mA)
> > SanDisk Dual Drive 040130e3ee554b7078843f4eb331646
> >
> > 1 Hub (12 Mb/s, 0mA)
> > U-Boot Root Hub
> >
> > 1 Hub (5 Gb/s, 0mA)
> > U-Boot XHCI Host Controller
> >
> > 1 Hub (480 Mb/s, 0mA)
> > | U-Boot Root Hub
> > |
> > +-2 Mass Storage (480 Mb/s, 224mA)
> > SanDisk Dual Drive 04019c9b2e1a58f24ee318c3c123aa5
> >
> >Please share you thoughts.
> >
> >Thanks and Regards
>
More information about the U-Boot
mailing list