Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intel-build can't wake from suspend/sleep on USB #2487

Closed
sirholm opened this issue Jul 21, 2013 · 53 comments
Closed

Intel-build can't wake from suspend/sleep on USB #2487

sirholm opened this issue Jul 21, 2013 · 53 comments
Assignees

Comments

@sirholm
Copy link

sirholm commented Jul 21, 2013

Hi

I've been using fusion build wirh pulse-eight's hdmi-cec usb adapter for 1 year and worked flawlessly.

Now I've upgraded my system to a Asus H87i-PLUS with 4570S and I can still put my system to sleep, but I can't wale it up again.

I was told to see which usb port there were set to wake-on-lan, but I don't know how to do so. And afterwards open more usb ports to wake on lan or find the one that is currenty activated.

Running latest stable build.

Thanks in advance.

@stefansaraev
Copy link
Contributor

please follow https://github.com/OpenELEC/OpenELEC.tv/blob/master/CONTRIBUTING.md
this bugtracker is for reporting bugs, + as much info as possible. questions should be asked in forum or irc.

closing this as it is not an accurate bug report

@sraue
Copy link
Contributor

sraue commented Jul 21, 2013

reopened...

@sirholm please paste
udevadm info --attribute-walk --name=/dev/ttyACM0 | paste
and
cat /proc/acpi/wakeup | paste

@sraue sraue reopened this Jul 21, 2013
@ghost ghost assigned sraue Jul 21, 2013
@sirholm
Copy link
Author

sirholm commented Jul 22, 2013

OpenELEC:~ # udevadm info --attribute-walk --name=/dev/ttyACM0
device node not found
OpenELEC:~ # cat /proc/acpi/wakeup
Device S-state Status Sysfs node
GLAN S4 *enabled pci:0000:00:19.0
EHC1 S4 *enabled pci:0000:00:1d.0
EHC2 S4 *enabled pci:0000:00:1a.0
XHC S4 *enabled pci:0000:00:14.0
HDEF S4 *disabled pci:0000:00:1b.0
PEG0 S4 *disabled
PEGP S4 *disabled
PEG1 S4 *disabled
PEG2 S4 *disabled

@opperpanter
Copy link

I have the same/similar problem.
I tried to get some help in the forum, but no result there (http://openelec.tv/forum/107-suspend-and-wakeup/66591-suspend-doesn-t-work-on-zbox-id83-usb2)

I have a zbox id83 (Intel HM76, i3-3225, Intel HD4000).
A) When I use the usb port on the side of the box, suspend works, but waking up is impossible.
B) When I use any other usb port, suspend works for 2 seconds, but after that the box wakes up by itself. (would be nice to have CONFIG_ACPI_DEBUG=y).

Tested with usb ir receiver and (wireless bluetooth) keyboard.

Same results in Intel x64 build and generic x86 build, logs below are for intel x64:

Output for A)
openelec:~ # udevadm info --attribute-walk --name=/dev/ttyACM0
device node not found

Device  S-state   Status   Sysfs node
P0P1      S4    *disabled
USB1      S3    *disabled
USB2      S3    *disabled
USB3      S3    *disabled
USB4      S3    *disabled
USB5      S3    *disabled
USB6      S3    *disabled
USB7      S3    *disabled
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *enabled   pci:0000:01:00.0
RP02      S4    *disabled
PXSX      S4    *disabled
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *disabled  pci:0000:02:00.0
RP05      S4    *disabled
PXSX      S4    *disabled
RP06      S4    *disabled
PXSX      S4    *disabled
RP07      S4    *disabled
PXSX      S4    *disabled
RP08      S4    *disabled
PXSX      S4    *disabled
PEG0      S4    *disabled
PEGP      S4    *disabled
PEG1      S4    *disabled
PEG2      S4    *disabled
PEG3      S4    *disabled
GLAN      S4    *disabled
EHC1      S4    *enabled   pci:0000:00:1d.0
EHC2      S4    *enabled   pci:0000:00:1a.0
XHC       S4    *enabled   pci:0000:00:14.0
HDEF      S4    *disabled  pci:0000:00:1b.0
PWRB      S3    *disabled

device info:

I: Bus=0003 Vendor=045e Product=0745 Version=0111
N: Name="Microsoft Microsoft® 2.4GHz Transceiver v7.0"
P: Phys=usb-0000:00:14.0-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/input/input10
U: Uniq=
H: Handlers=sysrq kbd event3
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff800000000007ff febeffdff3cfffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=045e Product=0745 Version=0111
N: Name="Microsoft Microsoft® 2.4GHz Transceiver v7.0"
P: Phys=usb-0000:00:14.0-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1/input/input11
U: Uniq=
H: Handlers=kbd mouse0 event4
B: PROP=0
B: EV=1f
B: KEY=4837fff072ff32d bf54444600000000 1f0001 20f908b17c000 677bfad9415fed 9ed68000004400 10000002
B: REL=3c3
B: ABS=100000000
B: MSC=10

I: Bus=0003 Vendor=045e Product=0745 Version=0111
N: Name="Microsoft Microsoft® 2.4GHz Transceiver v7.0"
P: Phys=usb-0000:00:14.0-3/input2
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2/input/input12
U: Uniq=
H: Handlers=sysrq kbd js0 event5
B: PROP=0
B: EV=10001f
B: KEY=4c37fff072ff32d bf54445600000000 c00000000000001 30f908b17c007 ffff7bfad951dfff febeffdfffefffff fffffffffffffffe
B: REL=40
B: ABS=ffffff01000701ff
B: MSC=10

Output for B)
openelec:~ # udevadm info --attribute-walk --name=/dev/ttyACM0
device node not found

openelec:~ # cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
P0P1      S4    *disabled
USB1      S3    *disabled
USB2      S3    *disabled
USB3      S3    *disabled
USB4      S3    *disabled
USB5      S3    *disabled
USB6      S3    *disabled
USB7      S3    *disabled
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *enabled   pci:0000:01:00.0
RP02      S4    *disabled
PXSX      S4    *disabled
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *disabled  pci:0000:02:00.0
RP05      S4    *disabled
PXSX      S4    *disabled
RP06      S4    *disabled
PXSX      S4    *disabled
RP07      S4    *disabled
PXSX      S4    *disabled
RP08      S4    *disabled
PXSX      S4    *disabled
PEG0      S4    *disabled
PEGP      S4    *disabled
PEG1      S4    *disabled
PEG2      S4    *disabled
PEG3      S4    *disabled
GLAN      S4    *disabled
EHC1      S4    *enabled   pci:0000:00:1d.0
EHC2      S4    *enabled   pci:0000:00:1a.0
XHC       S4    *enabled   pci:0000:00:14.0
HDEF      S4    *disabled  pci:0000:00:1b.0
PWRB      S3    *disabled

device info:

I: Bus=0003 Vendor=045e Product=0745 Version=0111
N: Name="Microsoft Microsoft® 2.4GHz Transceiver v7.0"
P: Phys=usb-0000:00:1a.0-1.2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input3
U: Uniq=
H: Handlers=sysrq kbd event3
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff800000000007ff febeffdff3cfffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=045e Product=0745 Version=0111
N: Name="Microsoft Microsoft® 2.4GHz Transceiver v7.0"
P: Phys=usb-0000:00:1a.0-1.2/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.1/input/input4
U: Uniq=
H: Handlers=kbd mouse0 event4
B: PROP=0
B: EV=1f
B: KEY=4837fff072ff32d bf54444600000000 1f0001 20f908b17c000 677bfad9415fed 9ed68000004400 10000002
B: REL=3c3
B: ABS=100000000
B: MSC=10

I: Bus=0003 Vendor=045e Product=0745 Version=0111
N: Name="Microsoft Microsoft® 2.4GHz Transceiver v7.0"
P: Phys=usb-0000:00:1a.0-1.2/input2
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.2/input/input5
U: Uniq=
H: Handlers=sysrq kbd js0 event5
B: PROP=0
B: EV=10001f
B: KEY=4c37fff072ff32d bf54445600000000 c00000000000001 30f908b17c007 ffff7bfad951dfff febeffdfffefffff fffffffffffffffe
B: REL=40
B: ABS=ffffff01000701ff
B: MSC=10

@opperpanter
Copy link

BTW More people with similar issues are on the forum: http://openelec.tv/forum/107-suspend-and-wakeup/63257-standby-zbox-id-82. Also zbox, but the suspend/resume works fine under windows 7 & 8.

@opperpanter
Copy link

More info: To verify sleep and resume under general/other linux I tried both Ubuntu 13.04 and xbmcbuntu 12.
In both cases suspend/resume works normally.

@fritsch
Copy link
Contributor

fritsch commented Sep 1, 2013

Not really relevant. Ubuntu 13.04 uses kernel 3.8 and xbmcbuntu 12 uses 3.2 or 3.5 - we are currently shipping 3.10.10 - can you please post the output of dmesg?

@opperpanter
Copy link

@stefansaraev
Copy link
Contributor

we need a dmesg | pastebinit AFTER unsuccessful suspend/resume cycle ( case "B" ?)

@opperpanter
Copy link

The 4 pastebins are from that case. Logfiles retrieved from the zip autogenerated by OE.
Here's output from manual dmesg: http://pastebin.com/uJUmCbKP
I have awoken the box by using the powerbutton on the box.

@stefansaraev
Copy link
Contributor

I see no attempt to suspend / resume at all there.

@fritsch
Copy link
Contributor

fritsch commented Sep 1, 2013

Same for me - looks like a dmesg directly after boot up.

@opperpanter
Copy link

You're right, forgot that I switched the shutdown function back to shutdown.
sorry guys (too many things at once), thanks for looking into this!

Here's the dmesg for option B, verified to contain sleep/resume cycle. http://pastebin.com/wMgLgL0x

@stefansaraev
Copy link
Contributor

thanks.
insane guess. can you please check in your bios if "usb legacy support" is enabled ? if not - please enable it and retry

@opperpanter
Copy link

Tried that already :-)
There also 4 other options for usb in the BIOS:

USB3.0 support
XHCI hand-off
EHCI hand-off
Port 60/64 emulation

By default all of them are 'enabled'. When set to 'disabled', I get the same result regarding suspend/resume.

@stefansaraev
Copy link
Contributor

and there is no "legacy usb support" option ?

@opperpanter
Copy link

There is. I tried that already with enabled/disabled. No difference.

@stefansaraev
Copy link
Contributor

what about "case A)" with legacy support enabled.

do this (only ONCE) before you try

for i in `seq 1 7` ; do echo USB$i > /proc/acpi/wakeup ; done

confirm USB* is enabled by /proc/acpi/wakeup

EDIT: nevermind, no need to try. not related to legacy mode. sorry for wasting your time.

@sraue
Copy link
Contributor

sraue commented Sep 1, 2013

@opperpanter could you test please with OpenELEC 3.1.7 again?

@jenkins101
Copy link
Contributor

a wild guess, but try:

for i in /sys/bus/usb/devices/*/power/autosuspend; do echo -1 > $i; done

@opperpanter
Copy link

Switched to 3.1.7, same results.

for i in `seq 1 7` ; do echo USB$i > /proc/acpi/wakeup ; done\

I tried this, but the USB devices just stay at disabled in /proc/acpi/wakeup.
even with

echo "USB1" > /proc/acpi/wakeup

@opperpanter
Copy link

Tried (with 3.1.7) as well:

for i in /sys/bus/usb/devices/*/power/autosuspend; do echo -1 > $i; done

No luck.

@opperpanter
Copy link

Just tried with openelec 2.0.0, same results :-( (scenario A and B).

@jenkins101
Copy link
Contributor

try: for i in /sys/bus/usb/devices/*/power/wakeup ;do echo enabled > $i ;done

also make sure the wakeup devices are inserted in a USB2 port...

@opperpanter
Copy link

thanks @jenkins101. With

for i in /sys/bus/usb/devices/*/power/wakeup ;do echo enabled > $i ;done

Scenario A turns into scenario B. So the box is waking up without touching the (wired) keyboard.
No other devices attached.

@stefansaraev
Copy link
Contributor

not sure if this could be in help. but on my board (asrock ion 330) there is a jumper called PS2_USB_PWR1 (+5V +5VSB) . if NOT set to +5VSB - I have exactly the same issue - immediate wakeup after resume. you said it works under ubuntu but imo it's worth checking ;)

@opperpanter
Copy link

Thanks. Turns out the id83 only has 1 jumper: clear cmos.

@opperpanter
Copy link

BTW To be sure, be aware this not only happens on the Intel build, but on the generic build as well.

@fritsch
Copy link
Contributor

fritsch commented Sep 6, 2013

I think we need a build with every acpi debug option enabled as possible. We don't have that hardware and therefore can only step through the fog :-)

@fritsch
Copy link
Contributor

fritsch commented Sep 6, 2013

Those two links could help:
https://www.kernel.org/doc/Documentation/acpi/debug.txt (that one we have to enable)
https://wiki.ubuntu.com/DebuggingKernelSuspend

@opperpanter
Copy link

Interestings links (first one I've read before). Seems like at build time only the CONFIG_ACPI_DEBUG=y is needed.
Option B might be debuggable. Option A looks difficult because the box doesn't react to anything but the power button. Having said that, when only Option B is solved, I am happy.

@jenkins101
Copy link
Contributor

I think it is a bug in the USB driver... have you checked USB2 vs USB3 @opperpanter ?

@opperpanter
Copy link

I did, no difference. Disabled usb3 in BIOS, etc.

@jenkins101
Copy link
Contributor

thats not the same... you need to use a pure USB2 port to test. and no usb hub :-)

@opperpanter
Copy link

That's what I did.
I have 4 USB2 ports and 2 USB3 ports.
Tried them both. Also tried disabling the USB3 ports in the BIOS as suggested elsewhere.

@mitchds
Copy link

mitchds commented Sep 16, 2013

I've got the same problem, but i believe this is not an openelec issue per-se, but the h/w itself. Some motherboards do not provide power in s3 to the USB bus. My GIGABYTE GA-B75TN is one of these boards. 2 things to check/test:

  1. Boot of any other Linux distro (Ubuntu, Windows, etc from a stick/cdrom etc) and suspend the OS. Then try to resume using your CEC adapter.
  2. Plug in a keyboard. Does it wake up from suspend with that using the keyboard power key ?

If both of these fail, i believe there is no standby power in S3. You will notice it easily in sleep if your ethernet lights are blinking. For me both the above fail, so either a BIOS/FW upgrade for your MB will fix it, or replacing the MB itself.

@opperpanter
Copy link

read above, it's not the hardware. both linux and win8 work.

@mitchds
Copy link

mitchds commented Sep 16, 2013

Ok, sorry missed that line. So may not necessarily be the case for you, but surely it is for me and possibly others. As mentioned even with booted off a ubuntu install disk, i can suspend to s3 and wakeup from power button, but no power to USB to wake up from my remote control (with USB ir dongle). Seems here S3 doesn't give me power to USB bus.

@jenkins101
Copy link
Contributor

then it is probably something driver related... we have to wait for a kernel update...

@jenkins101
Copy link
Contributor

please test 3.2.1

@mitchds
Copy link

mitchds commented Oct 2, 2013

Doesn't work for me (my hardware that is). Also no luck with the more recent 3.2.2

@shortskoolbus
Copy link

Have same problem with Gigabyte Brix. Only have USB 3.0 ports, no USB 2.0.

/sys/bus/usb/devices/.../power/wakeup is enabled

there is nothing under sysfs node for all USB devices (1-7) when i look in /proc/acpi/wakeup, but controllers ECH1 and ECH2 are enabled for wake from S4.

@harryharry
Copy link

I have the same problem with Zotac id83. I have tried the latest Openelec Intel and Generic builds, also nightly builds. I have tested with most settings in bios without success. In Xbmcbuntu suspend and hibernate works fine.

@shortskoolbus
Copy link

Yup.. works fine with XBMCbuntu... (at least suspend does)

@guyhth
Copy link

guyhth commented Jan 6, 2014

Hello, I'm new to GitHub (and bug reporting in general), so apologies if I miss any points of etiquette.

I believe I have the same issue as sirholm; I have an Asus H81i-Plus (not the H87) paired with a 4130T CPU. Using an R6 USB receiver I can suspend the computer, but not wake it. Neither the USB keyboard or mouse are able to wake the computer either. Only the power button works.

Waking with IR/keyboard/mouse does work under Windows, so it does appear to be a software issue, not hardware.

The IR receiver has an LED that flashes when a command is received. When OpenELEC is suspended, this does not flash. Does this imply that USB devices are being powered-down?

lsusb

Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 003 Device 002: ID 147a:e03e Formosa Industrial Computing, Inc. Infrared Receiver [IR605A/Q]
Bus 003 Device 003: ID 0603:00f2 Novatek Microelectronics Corp. 
Bus 005 Device 002: ID 046d:c521 Logitech, Inc. Cordless Mouse Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

cat /proc/acpi/wakeup

Device  S-state   Status   Sysfs node
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *disabled
RP02      S4    *enabled   pci:0000:00:1c.1
PXSX      S4    *enabled   pci:0000:03:00.0
RP03      S4    *disabled  pci:0000:00:1c.2
PXSX      S4    *enabled   pci:0000:04:00.0
GLAN      S4    *disabled
EHC1      S4    *enabled   pci:0000:00:1d.0
EHC2      S4    *enabled   pci:0000:00:1a.0
XHC   S4    *enabled   pci:0000:00:14.0
HDEF      S4    *disabled  pci:0000:00:1b.0
PEG0      S4    *disabled  pci:0000:00:01.0
PEGP      S4    *disabled
PEG1      S4    *disabled
PEG2      S4    *disabled

Neither of the solutions suggested by stefansaraev or jenkins101 have an effect. I'm happy to provide any extra information I can if it will help.

@dat0ad
Copy link

dat0ad commented Jan 14, 2014

I have the same mobo and cpu setup as Tinlad and I too am experiencing a wake up on USB problem. I have tried two different USB K/B's

lsusb

Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 004 Device 002: ID 05c7:2024 Qtronix Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

cat /proc/acpi/wakeup

Device S-state Status Sysfs node
RP01 S4 *disabled pci:0000:00:1c.0
PXSX S4 *disabled
RP02 S4 *enabled pci:0000:00:1c.1
PXSX S4 *enabled pci:0000:03:00.0
RP03 S4 *disabled pci:0000:00:1c.2
PXSX S4 *enabled pci:0000:04:00.0
GLAN S4 *disabled
EHC1 S4 *enabled pci:0000:00:1d.0
EHC2 S4 *disabled
XHC S4 *enabled pci:0000:00:14.0
HDEF S4 *disabled pci:0000:00:1b.0
PEG0 S4 *disabled pci:0000:00:01.0
PEGP S4 *disabled
PEG1 S4 *disabled
PEG2 S4 *disabled

grep 2024 /sys/bus/usb/devices/*/idProduct

/sys/bus/usb/devices/4-2/idProduct:2024

cat /sys/bus/usb/devices/4-2/power/wakeup

enabled

As far as openelec is concerned the K/B USB port is "enabled" for wakeup yet no wake up event occurs.

The info above was utilised from here:
http://forum.xbmc.org/showthread.php?tid=104541&pid=835642#pid835642

Using OPENELEC 64bit 3.2.4

It does appear to me that the USB port(s) are receiving no power..no caps/scroll/num lock lights

@guyhth
Copy link

guyhth commented Mar 7, 2014

An update on this issue:
I've fixed the problem by disabling Intel xHCI in the UEFI BIOS. There are four options: "Smart Auto", "Auto", "Enabled" and "Disabled". Only with it set to "Disabled" can I wake OpenELEC from suspend mode with a USB device.

I'm guessing that this is something to do with how the system handles the mix of USB 2.0 and 3.0 ports? (The remote receiver is plugged into a 2.0 port, however)

Before trying this, I updated to the Gotham beta (3.95.1), so unfortunately I can't tell whether changing the BIOS setting would work on 3.2.4 as well. All I can say is that the problem wasn't fixed solely by 3.95.1.

(EDIT: final paragraph for clarity)

@dat0ad
Copy link

dat0ad commented Mar 7, 2014

Tinlad
Thanks for the update.
I still have this problem running 3.2.4. I will give this a crack when I have a chance and will report back.

@guyhth
Copy link

guyhth commented Mar 7, 2014

Thinking back, once I upgraded to 3.95.1 I did notice that the IR receiver LED was blinking whilst the PC was suspended (even if it wasn't waking it up) - this wasn't happening in 3.2.4.

So I think it must be a combination of 3.95.1 and the BIOS setting that enables this to work.

dat0ad - good luck!

@stefansaraev stefansaraev removed this from the 3.2.4 milestone Mar 12, 2014
@Keysersose12
Copy link

I'm experiencing this issue with a new zotac ID91. No usb device i've tried is able to wake it. It is supplying power though in suspend mode as a usb infrared receiver I connect to it, lights up when remote buttons are pressed.

Zotac support say the device does support wake from usb (they have nothing though in the bios giving an option to enable/disable it).

Disabling Intel xHC in the bios makes no difference unfortunately.

I'm using OpenELEC Beta - Generic x86_64 Version:3.95.5

@dh3lix
Copy link

dh3lix commented Apr 22, 2014

Any news or success/fail stories regarding id83 or id91 on getting successfull resume/sleep ?

@ellite
Copy link

ellite commented Apr 30, 2014

Same here.
I'm able to sleep/resume from the remote on ubuntu.
It sleeps but does not wake on openelec :/

@bni
Copy link

bni commented Jul 26, 2014

This problem was solved for me in 4.2 BETA 2. The problem was that in earlier versions the XHCI module was unloaded before suspend.

Fixed by this commit: 2a82c67

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests