lkml.org 
[lkml]   [2022]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] usb: add quirks for Lenovo OneLink+ Dock
From
On 30.08.22 21:50, jflf_kernel@gmx.com wrote:

Hi,

> TL;DR: the two VL812 hubs don't behave well when suspended.

We need to know the exact nature of their transgressions to inflict
the correct correctional measures.

> I have always kept keyboard and mouse on the USB2 ports connected to the Genesys Logic hub. They work there without any problem.

So they work even without your patch? We should make sure we are
absolutely clear on details.

> With WoL enabled in the BIOS, there are only two wakeup sources:
>
> $ grep . /sys/bus/usb/devices/*/power/wakeup | grep enabled
> /sys/bus/usb/devices/1-6.2.2/power/wakeup:enabled # keyboard on GL850S
> /sys/bus/usb/devices/2-1.1.3/power/wakeup:enabled # net
>
> While suspended I can wake up the laptop with the keyboard and everything works.

Again, with or without RESET_RESUME?

> Moving the keyboard to one of the VL812 ports moves the wakeup source::
>
> $ grep . /sys/bus/usb/devices/*/power/wakeup | grep enabled
> /sys/bus/usb/devices/1-6.1.1/power/wakeup:enabled # keyboard on the :1019 VL812 (USB2)
> /sys/bus/usb/devices/2-1.1.3/power/wakeup:enabled # net
>
>
> Now here's the interesting bit. Without "usbcore.autosuspend=-1" I can still wakeup the laptop from suspend, but after waking up the keyboard is gone:
>
> kernel: hub 1-6.1:1.0: hub_ext_port_status failed (err = -71)
> kernel: hub 1-6:1.0: hub_ext_port_status failed (err = -71)
> kernel: hub 1-6.1:1.0: hub_ext_port_status failed (err = -71)
> kernel: hub 1-6.1:1.0: hub_ext_port_status failed (err = -71)
> kernel: usb 1-6.1-port4: cannot disable (err = -71)
> kernel: usb 1-6.1-port1: cannot disable (err = -71)
>
> After that the port to which the keyboard is connected is essentially dead. Replugging doesn't help, I need to shutdown the laptop (powered via the dock) and cut all power to the dock to get that port back to operational status.
>
> With "usbcore.autosuspend=-1", everything behaves as it should.

Do the keyboard and the hub suspend? Is this with your patch or without?

> I'll run some more tests out of curiosity to see how things behave in corner cases.

While you do so, which is a good idea, could you restate your current
results in a more precise way? We should have 4 results for each hub.
It is not the case that RESET_RESUME has no effect if you give
usbcore.autosuspend=-1 if the system has been suspended. Hence we have
the cases of

no RESET_RESUME/default autosuspend
no RESET_RESUME/autosuspend=-1
with RESET_RESUME/default autosuspend
with RESET_RESUME/autosuspend=-1

Regards
Oliver


\
 
 \ /
  Last update: 2022-08-31 11:17    [W:0.072 / U:0.612 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site