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