Re: Changes in sleep mode, on x86 PC
From: Rafael J. Wysocki
Date: Tue Mar 29 2016 - 18:02:32 EST
On Tuesday, March 29, 2016 11:56:45 PM Pavel Machek wrote:
> On Tue 2016-03-29 23:46:23, Rafael J. Wysocki wrote:
> > On Tuesday, March 29, 2016 04:24:05 PM Pavel Machek wrote:
> > >
> > > On Tue 2016-03-29 15:06:36, Rafael J. Wysocki wrote:
> > > > On Monday, March 28, 2016 11:20:12 PM Pavel Machek wrote:
> > > > > Hi!
> > > > >
> > > > > Few releases ago, I could wake up PC from S3 sleep by hitting any
> > > > > key. That ceased to work some time before, keyboard would just light a
> > > > > NUM lock LED when I hit a key (4.5). Now PC seems to be sleeping (in
> > > > > S3) with NUM lock LED on (4.6-rc0).
> > > > >
> > > > > Any idea what is going on there? Does it happen for you, too? What is
> > > > > the expected behaviour?
> > > > >
> > > > > Debian 8.3, with MATE desktop, I just hit the "moon" key to make it
> > > > > sleep. Keyboard is on USB.
> > > >
> > > > That's rather important.
> > > >
> > > > Clearly, something in the USB HID land has changed lately.
> > > >
> > > > The expected behavior depends on whether or not the keyboard itself and the
> > > > USB controller are both enabled to wake up. If they are, I'd expect any
> > > > key press to generate a wakeup event.
> > >
> > > Is there anything in /sys I should check?
> > Generally, power/wakeup files under the involved devices (ie. if they are
> > present and what's in them if so).
> /sys/class/input43 and 44 (corresponding to USB keyboard) has no such
> pavel@amd:/sys/devices/pci0000:00$ lsusb
> Bus 001 Device 008: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
> Bus 001 Device 064: ID 04f2:0111 Chicony Electronics Co., Ltd KU-9908
> Bus 001 Device 005: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
> Bus 001 Device 006: ID 0557:2008 ATEN International Co., Ltd UC-232A
> Serial Port [pl2303]
> Bus 001 Device 004: ID 058f:6254 Alcor Micro Corp. USB Hub
> Bus 001 Device 071: ID 1004:618e LG Electronics, Inc. Ally/Optimus
> One/Vortex (debug mode)
> Bus 001 Device 002: ID 058f:6362 Alcor Micro Corp. Flash Card
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> There are rather a lot of wakeup files here:
> pavel@amd:/sys/devices/pci0000:00$ find . -name "wakeup"
> root@amd:/sys/devices/pci0000:00# for a in `find . -name "wakeup"`; do
> echo $a `cat $a`; done
> ./0000:00:01.0/power/wakeup disabled
> ./0000:00:1b.0/power/wakeup disabled
> ./0000:00:1c.0/power/wakeup disabled
> ./0000:00:1c.1/power/wakeup disabled
> ./0000:00:1c.1/0000:03:00.0/power/wakeup enabled
> ./0000:00:1d.0/usb2/power/wakeup disabled
> ./0000:00:1d.0/power/wakeup enabled
> ./0000:00:1d.1/usb3/power/wakeup disabled
> ./0000:00:1d.1/power/wakeup enabled
> ./0000:00:1d.2/usb4/power/wakeup disabled
> ./0000:00:1d.2/power/wakeup enabled
> ./0000:00:1d.3/usb5/power/wakeup disabled
> ./0000:00:1d.3/power/wakeup enabled
> ./0000:00:1d.7/usb1/1-5/power/wakeup disabled
> ./0000:00:1d.7/usb1/1-6/1-6.2/power/wakeup disabled
> ./0000:00:1d.7/usb1/1-6/power/wakeup disabled
> ./0000:00:1d.7/usb1/1-7/1-7.1/power/wakeup enabled
> ./0000:00:1d.7/usb1/1-7/1-7.2/power/wakeup disabled
> ./0000:00:1d.7/usb1/1-7/power/wakeup disabled
> ./0000:00:1d.7/usb1/power/wakeup disabled
> ./0000:00:1d.7/power/wakeup enabled
> ./0000:00:1e.0/power/wakeup disabled
> ./0000:00:1f.2/power/wakeup disabled
> And the defaults are interesting, to say. But with:
> for a in `find . -name "wakeup"`; do echo enabled > $a; done
> It seems to wake up when I hit a key. So next question is... what
> should be the default behaviour?
That's rather hard to answer.
Ideally, "enabled", but then some of those things generate spurious wakeup
events and the owners of these prefer "disabled".