Bug 12684

Summary: Toshiba L355 will suspend/resume once, but after a second suspend, won;t resume
Product: Power Management Reporter: Adam Pigg (adam)
Component: Hibernation/SuspendAssignee: power-management_other
Severity: normal CC: acpi-bugzilla, lenb, maximlevitsky, mjg59-kernel, rjw, rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.29rc4 Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: dmesg after core pm test 1
dmesg after core pm test 2
List of modules with no drm, 1st boot
dmesg of 1st boot with no drm
list of modules with no drm, 2nd boot, after sleep
dmesg of 2nd boot, after sleep, with no drm
lsmod from runlevel 3, nomodeset, 1st boot
dmesg from runlevel 3, nomodeset, 1st boot
lsmod from runlevel 3, nomodeset, 2nd boot
dmesg from runlevel 3, nomodeset, 2nd boot

Description Adam Pigg 2009-02-10 11:39:09 UTC
Latest working kernel version: Unknown
Earliest failing kernel version: Unknown
Distribution: Mandriva
Hardware Environment: Toshibe Satellite L355-S7812
Software Environment: Mandriva Cooker
Problem Description:After a suspend/resume, and a second suspend, the machine refuses to resume.

See http://marc.info/?l=linux-acpi&m=123421014421021&w=2 for some more info, aswell as http://bugzilla.kernel.org/show_bug.cgi?id=12641 for another acpi problem with attachments

Steps to reproduce:
Comment 1 Andrew Morton 2009-02-10 11:52:19 UTC
reassigned to acpi
Comment 2 Zhang Rui 2009-02-12 02:04:32 UTC
what if you do the suspend/resume in console mode?
Comment 3 Adam Pigg 2009-02-12 03:15:40 UTC
Seems not....i logged out, 
switched to vt1, 
logged in as root, 
did 'service dm stop' to stop X.
echo mem > /proc/power/state

It went to sleep

Then i woke it up, and it still took a long time, so the long wake up time can't be X related.

I put it back to sleep
Then, it wouldnt wake up (the power led comes on, but thats all) and i had to hold down the power to get it turned off.
Comment 4 Zhang Rui 2009-02-17 22:04:00 UTC
please echo core > /sys/power/pm_test, and run echo mem > /sys/power/state,
wait for about 10 seconds, does the system come back?

do this test for several times in a row, can the system come back?

if yes, run this test after the first suspend/resume, can the system come back?
Comment 5 Zhang Rui 2009-02-17 22:04:18 UTC
please attach the dmesg output after these tests.
Comment 6 Adam Pigg 2009-02-18 10:57:36 UTC
i dont have /sys/power/pm_test
Comment 7 Rafael J. Wysocki 2009-02-18 12:22:41 UTC
You need to enable CONFIG_PM_DEBUG for it to appear.
Comment 8 Zhang Rui 2009-02-23 00:26:26 UTC
ping adam
Comment 9 Zhang Rui 2009-03-02 19:32:07 UTC
please verify if the problem can be reproduced in 2.6.27
Comment 10 Adam Pigg 2009-03-03 10:18:34 UTC
sorry for the delay...just built a custom kernel and done the test above.  tried 4 times, and yes, the system comes back after approx 10 seconds
Comment 11 Adam Pigg 2009-03-03 10:19:21 UTC
Created attachment 20414 [details]
dmesg after core pm test 1
Comment 12 Adam Pigg 2009-03-03 10:19:49 UTC
Created attachment 20415 [details]
dmesg after core pm test 2
Comment 13 Zhang Rui 2009-03-03 17:42:06 UTC
there are a lot of error messages about the X/drm driver.
please boot into console mode. make sure drm driver is not loaded
and check if the problem still exists.

Note that in console mode, the screen may not come back after resume.
But if you can login via network, and system runs okay, then this is a successful suspend/resume cycle.
Comment 14 Zhang Rui 2009-03-11 00:36:44 UTC
Ping Adam.
Comment 15 Zhang Rui 2009-03-17 01:02:40 UTC
ping Adam. :)
Comment 16 Zhang Rui 2009-03-30 06:32:18 UTC
close the bug as there is no response from the bug reporter.
please re-open it if the bug still exists in the latest upstream kernel
and you can provide the info requested in comment #13.
Comment 17 Adam Pigg 2010-03-27 08:14:38 UTC
How do i stop the drm driver loading?  Now on kernel, using kms etc.
Would it be best to boot into runlevel 3 with i915.modeset = 0?
Comment 18 Adam Pigg 2010-03-27 13:40:06 UTC
Created attachment 25731 [details]
List of modules with no drm, 1st boot
Comment 19 Adam Pigg 2010-03-27 13:41:15 UTC
Created attachment 25732 [details]
dmesg of 1st boot with no drm
Comment 20 Adam Pigg 2010-03-27 13:42:10 UTC
Created attachment 25733 [details]
list of modules with no drm, 2nd boot, after sleep
Comment 21 Adam Pigg 2010-03-27 13:42:50 UTC
Created attachment 25734 [details]
dmesg of 2nd boot, after sleep, with no drm
Comment 22 Adam Pigg 2010-03-27 13:49:36 UTC
So i think ive dont the test you asked for,

I blacklisted the drm module, stopeed i915 from being loaded and booted with 'nomodeset i915.modeset=0 3'

I got the list of modules and dmesg output as attached (.1) and put the system to sleep with 'echo mem > /sys/power/state'

Booed up again, and as you said, the screen didnt come back.  But, after about a minute, i could tell the system was running, as i could type commands in and see disk activity, and pressing backspace caused the pc speaker to beep.  At this point i got the module list and dmesg again as attached (.2).

Note, it took about a minute to start to respond, just like before.

I put the system to sleep.

Again, as before, the system wouldnt respond after the second boot.  I left it about 10 minutes, but got nothing, so its probbaly not drm related.

This was using 'acpi_osi="!Windows 2006" acpi_osi="!Windows 2006 SP1", as you know from the other bug.

Comment 23 Zhang Rui 2010-03-29 07:23:18 UTC
in 2.6.33, does the error messages still exist if you don't use nomodeset?
does the screen come back after the first resume with KMS?
Comment 24 Adam Pigg 2010-03-29 08:03:11 UTC
I was only able to boot to runlevel 3 using nomodeset.  Using KMS, the screen just went blank when the mode got changed.

In this setup, i had i915 + drm loaded.

It went to sleep the first time, and resumed (after ~1min), and the screen came back also.

Second time, wouldnt come back up.

Attached the output of lsmod and dmesg for the 1st and second sessions.
Comment 25 Adam Pigg 2010-03-29 08:04:17 UTC
Created attachment 25751 [details]
lsmod from runlevel 3, nomodeset, 1st boot
Comment 26 Adam Pigg 2010-03-29 08:04:57 UTC
Created attachment 25752 [details]
dmesg from runlevel 3, nomodeset, 1st boot
Comment 27 Adam Pigg 2010-03-29 08:06:08 UTC
Created attachment 25753 [details]
lsmod from runlevel 3, nomodeset, 2nd boot
Comment 28 Adam Pigg 2010-03-29 08:06:52 UTC
Created attachment 25754 [details]
dmesg from runlevel 3, nomodeset, 2nd boot
Comment 29 Zhang Rui 2010-06-08 07:24:21 UTC
can you please apply the patches
on top of the latest upstream kernel and see if they help?
Comment 30 Adam Pigg 2010-06-08 20:53:52 UTC
thanks for that!

words cannot describe just how much better that is! not only does is sleep/resume many times (tried about 6 in under a minute), but it also resumes instantly, no more waiting ~60 seconds

I built it from kernel 2.6.35-rc2 .... the patches didnt apply cleanly against 2.6.34,

If only the kernel i built could obtain an IP address over wifi, i mustnt have it configured properly,
Comment 31 Zhang Rui 2010-06-09 02:01:37 UTC
great news. thanks for testing.
Another machine that need to save/restore NVS for S3.
I think Len will ship them in acpi tree soon.
Comment 32 Adam Pigg 2010-06-12 07:26:00 UTC
Hi, is there any chance of getting a patch for this agains 2.6.34 as i cant get 2.6.35-rc to work with wifi.

When do you think this will get into the mainline?
Comment 33 Maxim Levitsky 2010-06-12 07:57:51 UTC
This is set to enter mainline very soon.

About wireless, you did select intel wireless 3945 in Kconfig?
Does wireless led blink?

Try to do

sudo ifconfig wlan0 promisc

And then try to associate.

If the above works, revert 3474ad635db371b0d8d0ee40086f15d223d5b6a4.
Comment 34 Adam Pigg 2010-06-12 08:03:57 UTC
yes the driver is built, and it associates, but dhclient never gets an address.  I can pastebin the messages later as I'm on my phone atm.....i'll also try rc3 as I see it is out now
Comment 35 Maxim Levitsky 2010-06-12 08:08:24 UTC
In this case you surely hit the same regresion.
I also own an iwl3945.

Just revert 3474ad635db371b0d8d0ee40086f15d223d5b6a4.

Or do

sudo ifconfig wlan0 promisc

Its not fixed in rc3