Bug 12211

Summary: Video/AHCI/keyboard failure on resume on Acer Aspire 8930G
Product: Power Management Reporter: Hector Martin (marcan)
Component: Hibernation/SuspendAssignee: Zhang Rui (rui.zhang)
Status: REJECTED UNREPRODUCIBLE    
Severity: high CC: rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.27.8 Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: dmesg, boot through suspend and resume
lspci -nn -v

Description Hector Martin 2008-12-12 15:48:54 UTC
Latest working kernel version: unknown (2.6.27 is required to get atl1x ethernet support, so nothing else was tested)
Earliest failing kernel version: unknown
Distribution: Gentoo
Hardware Environment: Acer Aspire 8930G
Software Environment: 
Problem Description:

I am experiencing multiple issues on an Acer Aspire 8930G when using suspend-to-RAM. Upon resume, the built-in keyboard doesn't work (USB keyboards work fine), SATA (ICH9M in AHCI mode) fails with numerous repeating errors, and there is no video or backlight. Using Xorg with the nvidia binblob driver and the nvidia kernel module makes video work (presumably because it does its own restore), but the other problems remain.

I was able to capture a dmesg by blindly typing dmesg | nc somehost port after resume, having previously used both tools to ensure that they are present in the disk cache (as SATA fails).

Additionally, if I shut down the computer (either by holding down the power button or by Alt+SysRq+O), upon turning it on again it just hangs with no video. Rebooting causes the same issue. I have to physically remove power (battery and AC) to get it to work again.

I suspect this is a BIOS issue. The vendor hasn't issued any BIOS updates so far. I have not tested Windows, as I do not have it installed (never accepted the EULA), but presumably things work there. This is a brand new laptop.

Steps to reproduce:
1. echo mem > /sys/power/state
2. press any key once the system is suspended
Comment 1 Hector Martin 2008-12-12 15:50:53 UTC
Created attachment 19267 [details]
dmesg, boot through suspend and resume

Grep for "Syncing filesystems" to find the point where the system is suspended.

This was captured by blindly typing:

# dmesg | nc basestar 10033

after making sure dmesg and nc were in RAM cache before suspending.
Comment 2 Hector Martin 2008-12-12 15:53:32 UTC
Created attachment 19268 [details]
lspci -nn -v
Comment 3 Hector Martin 2008-12-13 20:41:41 UTC
Just to clarify, all of the issues are reproducible without the nvidia binblob driver and the attached dmesg and lspci were obtained with a non-tainted kernel.
Comment 4 Hector Martin 2008-12-16 08:58:25 UTC
Tried suspend to disk. SATA survived here, and the system is happily running after resuming. However, the keyboard still failed with this message:

atkbd.c: Failed to enable keyboard on isa0060/serio0

Additionally, this also hangs the bios on boot. Here's the two cases:

- Suspend to RAM
- Resume (crash due to AHCI death)
- Force a power off with power button
- Power on
- BIOS hangs on boot with no video
- Remove AC and battery
- Power on
- BIOS boots fine
- Linux boots

- Suspend to disk
- System shuts down after suspend
- Power on
- BIOS hangs on boot with no video
- Remove AC and battery
- Power on
- BIOS boots fine
- Linux resumes from disk
- Keyboard dead, rest of system resumed OK
Comment 5 Hector Martin 2008-12-16 09:02:04 UTC
One more note: the Synaptics touchpad (also on serio) also seems to stop working together with the keyboard.
Comment 6 Zhang Rui 2009-03-18 19:46:47 UTC
hah, this really looks like a BIOS issue.
anyway, please
1. get 2.6.28 kernel source
2. set CONFIG_PM_DEBUG and rebuild
3. in the new kernel, echo {freezer, devices, platform, processors, core} > /sys/power/pm_test
4. echo mem > /sys/power/state
5. does the system come back in a few seconds, w/o pressing the power button?
6. if no, get the dmesg of the last successful test and attach it here.
Comment 7 Hector Martin 2009-06-16 11:15:45 UTC
Okay, it's been a while. I'm running 2.6.29-gentoo-r5 now, with better results.

Suspend to disk: The keyboard issues are gone.

In "platform" mode, instead of shutting the computer down after suspend, it hangs with a blinking suspend LED. The power LED is blue during power on, and it's supposed to blink red in suspend mode. When I use the platform suspend to disk mode, it stays blue and yet blinks red at the same time (blue/magenta). Everything else seems to stay powered on. Forcing a shutdown by holding the power button works, as does powering back up and restoring.

In the "shutdown" suspend to disk mode everything now works fine.

Suspend to ram: Suspend appears to work fine, with the power LED blinking red (no blue this time, and it appears to power down most of the hardware). Upon restore, the HDDs are dead as before.

All of {freezer, devices, platform, processors, core} in /sys/power/pm_test followed by suspend-to-ram worked fine with no HDD failure after automatically resuming.

Looks like the BIOS breaks SATA/AHCI after being in suspend-to-ram state.
Comment 8 Zhang Rui 2009-07-06 03:45:30 UTC
so please attach the dmesg output after resume, in 2.6.29 kernel, both with
1. /sys/power/pm_test == core
2. /sys/power/pm_test == none
Comment 9 Hector Martin 2009-08-10 18:56:48 UTC
Latest BIOS update (1.13) resolves the issue. For future reference, it can be downloaded at:

http://tinyurl.com/dbqaop

(it's not available on all Acer sites)

Currently using 2.6.30-gentoo-r2. Suspend works, resume works, hibernate works. Please close.
Comment 10 Zhang Rui 2009-08-11 02:17:23 UTC
Fixed by BIOS upgrade, close it.