Bug 14872

Summary: VIA EPIA-M doesn't come back from S3
Product: Power Management Reporter: Ryan Underwood (nemesis)
Component: Hibernation/SuspendAssignee: power-management_other
Status: CLOSED INSUFFICIENT_DATA    
Severity: normal CC: rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.31 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg-s3
dmesg after core wakeup

Description Ryan Underwood 2009-12-25 00:22:31 UTC
VIA EPIA-M board with BIOS 1.13.  System does not resume from S3.  PS/2 keyboard or USB keyboard/mouse will trigger resume, system powers back on, but there is no activity and the screen remains blank.  It must be powered off and back on.  This is the case whether the display is set to CRT or to TV.

I tried debugging with pm_trace and found the "Hash matches" message, but no driver or PCI device was identified in the following lines.

PSU has 2A in +5VSB rail.  BIOS is set to S1+S3.  I also tried with Run VGABIOS After Resume set to either Yes or No with no effect.  I tried all the VGA related quirks to pm-suspend also with no effect.

I can post DSDTs and such, just let me know what the useful tidbits are in this case and I'll attach them.
Comment 1 Zhang Rui 2009-12-28 01:57:31 UTC
is the system still alive?
please run this command:
"echo mem > /sys/power/state; dmesg > dmesg-s3;"
can you get the dmesg-s3 file after reboot?
If yes, please attach the log file.
Comment 2 Ryan Underwood 2009-12-28 03:17:41 UTC
Yes, I can get that file.  Attached.
Comment 3 Ryan Underwood 2009-12-28 03:18:09 UTC
Created attachment 24322 [details]
dmesg-s3
Comment 4 Zhang Rui 2010-01-18 02:46:05 UTC
(In reply to comment #2)
> Yes, I can get that file.  Attached.

does the system actually suspend after issuing this command?
The system should go to S3 after this command but I did not see any related messages in the dmesg-s3 you attached.
Comment 5 Ryan Underwood 2010-01-18 03:06:44 UTC
It does seem to suspend, and wakes up with the correct wakeup events (i.e. USB, PS2 KB, etc).  But no observable activity after the wakeup.  Is it possible that the dmesg is somehow being executed immediately after the suspend command but before the actual suspend?
Comment 6 Zhang Rui 2010-01-18 03:29:52 UTC
no.

please run this instead:
"echo mem > /sys/power/state && sleep 1 && dmesg > dmesg-s3-2"

After the system powers back, please press "crtl+alt+del" several times to see if it can reboot the system for you.
If yes, then it means that S3 works well on your box, and this is just a black screen issue.
Comment 7 Ryan Underwood 2010-01-18 04:29:01 UTC
No dmesg-s3-2, no reboot, and additionally to the local console not responding, remote VNC session is dead too.
Comment 8 Zhang Rui 2010-01-18 05:42:42 UTC
so system hangs during resume.
please set CONFIG_PM_DEBUG=y, rebuild the kernel and do the following test.
1. echo core > /sys/power/pm_test
2. echo mem > /sys/power/state
does the system come back in about 10s?
If yes, please attach the dmesg output after this test.
Comment 9 Ryan Underwood 2010-01-18 23:25:34 UTC
Yes, this works, although it paniced in prune_icache() about 1 min later after running some shell commands.
Comment 10 Ryan Underwood 2010-01-18 23:29:59 UTC
Created attachment 24623 [details]
dmesg after core wakeup
Comment 11 Zhang Rui 2011-04-22 02:24:50 UTC
does the problem still exist in the latest upstream kernel, say 2.6.38?

If yes, please CONFIG_PM_TRACE_RTC, and then run
"echo 1 > /sys/power/pm_trace"
"echo mem > /sys/power/state"
the system should hang as usual.
please hard reset your computer and catch the dmesg output after boot.

Note that your system time may be messed up after this test.
Comment 12 Zhang Rui 2012-01-18 01:56:39 UTC
Bug closed as there is no response from the bug reporter.
Please feel free to re-open it if the problem still exists in the latest upstream kernel.
Comment 13 Ryan Underwood 2012-11-08 02:14:25 UTC
Maybe related to this openchrome bug.  I will bisect and see if I can discover anything.

http://www.openchrome.org/trac/ticket/381