Bug 42915

Summary: regression: ehci breaks suspend - ASUS U30SD
Product: Drivers Reporter: Laurent Dinclaux (laurent)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: NEEDINFO ---    
Severity: high CC: aaron.lu, alan, lenb, rui.zhang, stern, tianyu.lan
Priority: P1    
Hardware: All   
OS: Linux   
URL: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/945246
Kernel Version: Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    

Description Laurent Dinclaux 2012-03-12 23:12:47 UTC
Hello,

I have an Asus U30SD laptop. Since Ubuntu 11.04 Precise, suspend is not working anymore.

The screen goes black but the LCD backlight is still on. Then, there is no way to bring it back, tried CTRL+ALT+F1 to bring the console, tried the syst req magic keys to reboot. No way.

Hard shutdown is the only thing to do ...

But it was working very good on 11.10 up to the 3.2-rc4 kernel (the latest available for Oneric here http://kernel.ubuntu.com/~kernel-ppa/mainline/)

The bug exists in 11.04 kernel (3.2.0-18) but also in the latest mainline kernel (v3.3-rc7)

More info on launchpad: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/945246
Comment 1 Len Brown 2012-03-20 02:26:52 UTC
video resume is handled by the i915 graphics driver.
Can you find which version of the i915 first broke?
Comment 2 Laurent Dinclaux 2012-03-20 03:10:39 UTC
How do I find that ? All I can tell is that I switched from Oneiric when Precise Beta1 went out and I noticed the issue straight away.
Comment 3 Laurent Dinclaux 2012-03-24 02:17:42 UTC
The issue is still there in 3.3 final and in the ubuntu 12.04 3.2.0-20 kernel.

Also, on suspend, when the screen goes black (with backlight still on) the laptop starts to get hot and fan speed is at its maximum. If I forget the issue and let the laptop suspend itself, the battery gets empty really fast.

I can provide any log do any test you want. Prior kernels werebattery eaters, 3.3 is perfect but there is that damn suspend issue ....
Comment 4 Laurent Dinclaux 2012-03-27 04:30:03 UTC
I found a workaround. I think that mlay help a lot! 

Just create and edit the file /etc/pm/sleep.d/20_custom-ehci_hcd and paste in this content: https://gist.github.com/2212526 and make the file executable.

Suspend then works like a charm.
Comment 5 Laurent Dinclaux 2012-04-04 09:49:35 UTC
The workaround stopped working.

Removing it doesn't solve the issue.
Comment 6 Laurent Dinclaux 2012-04-12 04:51:55 UTC
The workaround works again, this may have been messed up by a specific update.
Comment 7 Alan 2012-08-31 16:59:40 UTC
3.5 and 3.6rc have some relevant USB fixes for this area including some firmware bug workarounds.

Please try 3.6 when it comes out and report the results.
Comment 8 Zhang Rui 2012-11-28 10:32:23 UTC
ping ...
Comment 9 Aaron Lu 2013-03-27 14:19:15 UTC
Hi Laurent,

Do you still have this problem?
Comment 10 Laurent Dinclaux 2013-03-27 20:53:46 UTC
Yes, I still need my workaround on ubuntu 12.10.
Comment 11 Aaron Lu 2013-03-28 01:03:57 UTC
Looks like the workaround script is try to unbind any pci devices the ehci/xhci host controller driver has bound, that would be the pci host controller device for usb 2.0/3.0.

Please follow the document pm-basic-debugging.txt available here:
https://www.kernel.org/doc/Documentation/power/basic-pm-debugging.txt
to do the devices test, in short, you can do the following(as root):
# cd /sys/power
# echo devices > pm_test
# echo mem > state

And see what happened, please attach dmesg after you've done this. Thanks.
Comment 12 Aaron Lu 2013-03-28 01:08:31 UTC
BTW, please try to use an upstream mainline kernel. If you can build kernel, then please use the latest Linus' git tree. If not, please follow this link and get a mainline kernel to test, thanks.

https://wiki.ubuntu.com/Kernel/MainlineBuilds
Comment 13 Aaron Lu 2013-04-08 01:27:14 UTC
Hello Laurent,

Is there any update? Thanks.
Comment 14 Lan Tianyu 2013-04-09 04:27:23 UTC
Hi Alan (Stern):
          This is ehci suspend/resume bug. Please take care.
Comment 15 Alan Stern 2013-04-09 17:28:23 UTC
There's nothing to be done until we hear back from Laurent.