Re: [PATCH v2] HID: usbhid: set mouse as a wakeup resource

Alan Stern
2022-06-17T15:05:13Z

On Thu, Jun 16, 2022 at 11:28:05PM +0200, Greg KH wrote:
> On Thu, Jun 16, 2022 at 01:31:42PM -0500, Mario Limonciello wrote:
> > The USB HID transport layer doesn't set mice for wakeup by default so users
> > can not wake system from s2idle using wired USB mouse. However, users can
> > wake the same system from Modern Standby on Windows with the same wired
> > USB mouse.
> >
> > Microsoft documentation indicates that all USB mice and touchpads should
> > be waking the system from Modern Standby. To align expectations from users
> > make this behavior the same when the system is configured by the OEM and
> > the user to use s2idle in Linux.
> >
> > Link: https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-wake-sources#input-devices-1
> > Link: https://lore.kernel.org/linux-usb/20220404214557.3329796-1-richard.gong@amd.com/
> > Suggested-by: Richard Gong <richard.gong@amd.com>
> > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> > ---
> > More people keep coming to us confused that they couldn't wake a Linux system
> > up from sleep using a mouse, so this patch is being revived.
>
> How many different devices did you test this on?

Another issue is whether wakeup for a mouse means pressing a button or
just moving the mouse. For a mouse that uses LEDs to sense motion,
moving it won't generate a wakeup request -- USB suspend does not allow
the mouse to use enough current to keep the LEDs illuminated. On the
other hand, there's no reason why wakeup by pressing a button shouldn't
always work.

Also, the patch description doesn't seem to appreciate the difference
between the default value for the wakeup setting and actually supporting
wakeup. As long as the hardware supports it, the default wakeup setting
doesn't matter all that much, because the user can change the setting
during system startup or whenever he wants. But if the hardware doesn't
support wakeup then the default setting makes no difference at all.

Alan Stern