suspend fails on dell inspiron 8600 laptop

Bug #361853 reported by William Anderson on 2009-04-15
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
hal-info (Ubuntu)
Undecided
Unassigned
linux (Ubuntu)
Undecided
Unassigned

Bug Description

Suspend fails to wake up on this laptop. Command pm-suspend causes this as does the gnome power manager in response to acpi events such as lid close.

Suspend works, screen goes off, disks and fans spin down, power led throbs, pm-suspend.log lists either “success” or “not applicable” for each subsystem then reports that it is preforming suspend. On resume, the display back light lights up to a black screen, flashing cursor in the upper left corner and nothing. Disk activity light does not flash. No key actions (ctl-alt-bksp, ctl-alt-fX, ctl-alt-del) do anything, must power cycle by either removing ac adapter and battery or holding power button down for 6 to 10 seconds.

Note that the older script /etc/acpi/sleep.sh works almost flawlessly, only requiring the network to be manually reconnected.

This fails this way every time I try to suspend this laptop using the pm-suspend script, but the acpi sleep script works everytime.

I updated the bios to the most recent version (a14) available on the Dell support web site from a08. This fixed the blank screen with non flashing cursor issue with the /etc/acpi/sleep.sh script, and the resume from the pm-suspend script went from blank screen with non flashing cursor to a blank screen with a flashing cursor.

The pm-hibernate script shuts off the computer with no problem. On resume, X comes back up, the network is connected, but the virtual terminals are a gibberish of corrupted video. The /etc/acpi/hibernate.sh script also saves and shuts down the computer, on wake up freezes the computer with lines of video corruption when X should be restarted.

ProblemType: KernelOops
Annotation: This occured during a previous suspend and prevented it from resuming properly.
Architecture: i386
DistroRelease: Ubuntu 9.04
ExecutablePath: /usr/share/apport/apportcheckresume
Failure: suspend/resume
InterpreterPath: /usr/bin/python2.6
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Dell Computer Corporation Inspiron 8600
Package: linux-image-2.6.28-11-generic 2.6.28-11.41
ProcAttrCurrent: unconfined
ProcCmdLine: root=UUID=404d3cc2-7b16-4241-b6d3-e852644392da ro quiet splash
ProcCmdline: /usr/bin/python /usr/share/apport/apportcheckresume
ProcEnviron: PATH=(custom, no user)
ProcVersionSignature: Ubuntu 2.6.28-11.41-generic
SourcePackage: linux
Tags: resume suspend
Title: [Dell Computer Corporation Inspiron 8600] suspend/resume failure
UserGroups:

Today I found the Free Desktop .org pages describing how the HAL sleep quirks work and how to debug them. http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html

I downloaded the quirk checker script and it recommended that I add the broadcom b44 module to the unload_modules file (Add 'SUSPEND_MODULES="b44"' to /etc/pm/config.d/unload_modules!) I did this and found that there was no effect.

Further reading I learned that the quirk information is saved in fdi files. The dell fdi file,
/usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-dell.fdi, has my laptop listed and has quirk-s3-bios and quirk-s3-mode enabled.

The site described how to run the pm-suspend with various quirk options and I tried some options. First I tried to only quirk-s3-bios. I did this by running the command “sudo pm-suspend -quirk-s3-bios” from a virtual terminal. The laptop went to sleep ok as before. When I woke the computer up, the power light came on as before, but this time the disk activity light flashed. The display stayed black, no back light. Switching virtual terminals did nothing to the display, but the disk activity light continued to flash. Switching back to the virtual terminal that I suspended from, typing commands that cause disk activity (like ls and find) caused the disk activity light to flash in response. Executing the command “sudo init 6” caused the system to shut down and reboot.

Clearly the system restored but the display back light was not turned back on. After rebooting this was plain in the pm-suspend.log and the kernel.log files. I then tried the command “sudo pm-suspend -quirk-s3-bios -quirk-dpms-on” and got the same result as above. Next I tried the commands “sudo pm-suspend -quirk-s3-mode” and “sudo pm-suspend -quirk-s3-mode -quirk-dpms-on” both with the same results: the system resumed, I was able to enter commands and shut down the computer, but the lcd back light would not come back on.

I have attached the pm-suspend.log and the portion of the kernel.log files for the last cycle. If we can find out why the lcd back light does not come on this problem might be fixed.

And the kernel.log section.

Another change, somewhere along the line the sleep/wake system to use, as defined in the file /etc/pm/config.d/00sleep_module, was changed from the explicit tuxonice to the default kernel system. With the kernel sleep/wake system, the command "sudo pm-suspend -quirk-s3-bios -quirk-s3-mode" gives the same results as the above tests. I can shut down the system and enter other commands, but the lcd back light does not come back on.

I was able to fix this problem by removing all quirk definitions for this laptop in the /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-dell.fdi .

By default the -quirk-s3-bios and -quirk-s3-mode were enabled. With both the laptop would freeze at a blank screen with a flashing cursor with the back light on. With either quirk option alone, the laptop would resume, accept commands, and be accessible over the network, but the back light would not come on. Adding the -quirk-dpms-on option did nothing. The only way to try no quirk options seems to be to edit the .fdi file and disable the quirks that match my laptop. With no quirk options, my laptop suspends with no problems, and the Ubuntu check box sleep test script ran with no problems.

You might visit the Free Desktop hal quirks page at http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html and try the various combinations of quirk options, as well as no quirks, and see if any of these fixes the problems.

Note that that site claims that running the pm-suspend command by hand without any options does not use the hal fdi quirks, but in my testing this was not the case. The pm-suspend.log file, which lists the quirk command line parameters showed the matching quirk options from the fdi file when the command was run with no parameters.

I upgraded to Ubuntu 9.10 and found that this problem came back. It is fixed on my laptop by commenting out the two video quirk entries in the file /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-dell.fdi for the Inspiron 8600. At this point running pm-suspend and pm-hibernate from a terminal window suspended to ram or hibernated to disk with out an issue. In both cases, the computer resumed with no problems what so ever.

However, closing the lid did nothing but blank the screen regardless of the ac plug state. To fix that, I had to add a line to the file /etc/pm/config.d/00sleep_module to explicitly choose the kernel sleep module. This is contrary to the statement in a comment in the file that claims "# The system defaults to "kernel" if this is commented out." After a reboot, everything works as expected and as it was working before the upgrade.

William

Andreas Noteng (andreas-noteng) wrote :

Thanks for your excellent debugging. However we are closing in on the next Ubuntu Release (lucid), can you please test the latest cd-image and check if you still have the problem? Since your investigations point to hal as the source of your problem, this might be fixed in Lucid, as hal will removed.
Thanks.

Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: needs-upstream-testing
Stuart Bishop (stub) wrote :

Resume is still failing under lucid.

Stuart Bishop (stub) wrote :

I've opened Bug #544869, as my laptop has a ATI graphics card. The original reporter has NVidia.

This bug was filed against a series that is no longer supported and so is being marked as Won't Fix. If this issue still exists in a supported series, please file a new bug.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: Confirmed → Won't Fix

Bug is still present in Ubuntu 11.10 Oneiric Ocelot !

Old suggested workarouds from William Anderson (post #2 wrote on 2009-04-17 and followings) does fix the problem also for me.

Please fix the relevant package(s)!

Update: err... above patch fixes the problem only partially. Suspend/resume works with vesa driver. But still fails using nvidia proprietary one. :-(

Solved!

Dell Inspiron 8600 with:

01:00.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5200 64M] (rev a1)

Ubuntu 11.10 Oneiric Ocelot server with TDE desktop ("Kubuntu trinity remix") manually installed afterwards.

By default, resume from both suspend to ram & disk failed.

Problem solved by:

*) removing all quirks from:

/usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-dell.fdi

/usr/lib/pm-utils/video-quirks/20-video-quirk-pm-dell.quirkdb

*) adding "NvAGP " "1" to xorg.conf

I've also edited /etc/default/acpi-support; AFAIU in principle this should not matter. Nevertheless, changes are as follows:

- SUSPEND_METHODS="dbus-pm dbus-hal pm-utils"
+ SUSPEND_METHODS="dbus-pm pm-utils"

- ACPI_SLEEP=true
+ #ACPI_SLEEP=true

- ACPI_HIBERNATE=true
+ #ACPI_HIBERNATE=true

- ACPI_SLEEP_MODE=mem
+ ACPI_SLEEP_MODE=standby

- SAVE_VBE_STATE=true
+ SAVE_VBE_STATE=false

- POST_VIDEO=true
+ POST_VIDEO=false

- # DOUBLE_CONSOLE_SWITCH=true
+ DOUBLE_CONSOLE_SWITCH=true

That's all folks!

Hope it helps.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in hal-info (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers