ODROID-C1/-C2 USB Detection only triggered by some devices

Alan Stern stern at rowland.harvard.edu
Tue Jun 29 17:35:56 PDT 2021


On Tue, Jun 29, 2021 at 06:30:08PM +0200, Martin Blumenstingl wrote:
> Hi Alan,
> 
> On Tue, Jun 29, 2021 at 6:18 PM Alan Stern <stern at rowland.harvard.edu> wrote:
> [...]
> > > >         usbcore.autosuspend=-1
> > > wow, this helps indeed
> > > my steps are:
> > > - power off my Odroid-C1+
> > > - unplug all USB devices
> > > - boot with usbcore.autosuspend=-1 in the kernel cmdline
> > > - plugin my Corsair Voyager USB 3.0 flash drive (which was only
> > > detected before if an additional USB 2.0 flash drive was plugged in
> > > during boot)
> > > -> without any lsusb magic the device was immediately recognized
> >
> > That does show pretty convincingly that runtime suspend is causing the
> > problem.  But I still have no idea why the problem affects some devices
> > and not others.  It's a mystery.
> Maybe because there's two related problems (I am guessing here):
> The first issue is that USB hotplug is not working at all on my
> Odroid-C1+ (which means: dwc2 + GL852G USB hub).
> The second issue is that the workaround we had before (running lsusb
> -vv to make "hot plugged" devices show up) is not working for some USB
> devices.
> 
> It seems that using a different workaround (usbcore.autosuspend=-1)
> makes *all* USB devices show up - even without any "lsusb -vv" call.
> So I think we should focus on the first issue as it may also fix the
> other problem as well.

Those two issues could well be related; they could both be a result of 
improper handling of USB bus suspend.  Fixing that might fix both 
issues.

Alan Stern

> [...]
> > > after rebooting without usbcore.autosuspend=-1 (and no USB device
> > > plugged in during boot):
> > > # grep "" /sys/bus/usb/devices/*/power/autosuspend
> > > /sys/bus/usb/devices/1-1/power/autosuspend:0
> > > /sys/bus/usb/devices/usb1/power/autosuspend:0
> > >
> > > I think the next step is narrowing down which component is causing this issue.
> >
> > Maybe Minas can help.  He knows a lot more about dwc2 than I do (which
> > is practically nothing).
> I'll wait for Minas then
> 
> > > Interestingly my PC (running 5.12.13-arch1-2) also has two Genesys
> > > Logic USB hubs with the same USB vendor and device IDs as my
> > > Odroid-C1+: 05e3:0610.
> > > These hubs are connected to my AMD Ryzen 5000 CPU or the B550 chipset:
> > > usb1              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA]
> > > (xhci-hcd 0000:02:00.0) hub
> > >  1-3               05e3:0610 09 1IF  [USB 2.10,   480 Mbps, 100mA]
> > > (GenesysLogic USB2.0 Hub) hub
> > > [...]
> > >  1-7               05e3:0610 09 1IF  [USB 2.00,   480 Mbps, 100mA]
> > > (Genesys Logic, Inc. Hub) hub
> > >
> > > So far I have not observed any problems on my PC.
> >
> > Presumably because it uses xHCI rather than dwc2.
> indeed. I think it's good to know that it's not an issue affecting all
> Genesys Logic USB 2.0 hubs.
> As you mentioned above it's most likely that dwc2 is the culprit here.
> Or it might be some interoperability issue between dwc2 and GL852G
> 
> 
> Best regards,
> Martin



More information about the linux-amlogic mailing list