Distribution: Gentoo GNU/Linux Hardware Environment: Dell X300 Laptop, BIOS version A08 Software Environment: Problem Description: ACPI sleep states (standby, mem, disk) are not working. standby: The laptop goes into standby, but immediately wakes up again. mem: The laptop goes into suspend-to-mem fine, with this output on the screen: Stopping tasks: =====================| hci_usb 3-2:1.0 resume is unsafe! hci_usb 3-2:1.1 resume is unsafe! PM: Entering state. - Then, when pressing the power button to wake it up again, nothing happens. The LED for the hard driver blinks occationally. The LCD screen is off. The laptop is neither reachable via ping. I have also tried removing USB support in the kernel. The result is the same as above, but without the hci_usb messages. disk: No reaction to "echo disk > /sys/power/state" at all. I have configured Software Suspend to "n" in the kernel. Steps to reproduce: standby: echo standby > /sys/power/state mem: echo mem > /sys/power/state press power button disk: echo disk > /sys/power/state
Created attachment 4489 [details] Disassembled DSDT This DSDT is broken. Apply the attached patch (byteacc) to make it compile, and to get the battery and thermal working.
Created attachment 4490 [details] Fixes compile errors in the DSDT This patch simply makes the built-in DSDT compile with the Intel ACPI compiler, and make the battery and thermal working.
I have fixed the DSDT and compiled it with Intel's ACPI compiler, and fixed 1 error which is changing a DWordAcc to ByteAcc. This is a common solution to get the battery and thermal to function. This fix didn't solve the suspend issues. I have found an operating system name length check in the DSDT. It checks for the lengths 0x14 and 0x27, which probably are "Microsoft Windows XP" and "Microsoft WindowsME: Millennium Edition". Because of this I have tried to pass acpi_os_name="Microsoft Windows XP" to the kernel on boot. The only difference in "echo mem > /sys/power/state" is that when I press the power button to wake it up, it starts, still no screen, blinks a few times on the hard drive LED and powers off after some seconds. It still doesn't respond to "echo disk > /sys/power/state". There is a slight difference in "echo standby > /sys/power/state" instead of blinking the screen for 1 second, it blinks the screen for a tenth of a second. Very odd.
Here is the /var/log/syslog output when I suspend to mem: kernel: PM: Preparing system for suspend init: Switching to runlevel 0 kernel: Kernel logging (proc) stopped. kernel: Kernel log deamon terminating. exiting on signal 15 I haven't found out what error code 15 means yet.
I have an X300 with latest BIOS. I use Ubuntu 5.04 and kernel 2.6.10-5-386. I tweaked my DSDT which contained one error and placed the altered DSDT last in my initrd. I have working suspend to disk. Suspend to ram doesn't work. For some reason the screen is black and can't be started again. The laptop seems to be up and running (if I type "shutdown -h now" it shuts down), but I can't see a thing on my screen. For some reason Ctrl-Alt-F1 -> Alt-F7 can't bring up the LCD screen. Might have something to do with this bug? Any pointers about this screen bug is wholeheartedly accepted! :)
Richard: The screen bug might be bug 3203 (if you have an nVidia card). /Jakob
Created attachment 5181 [details] Output of dmidecode
Created attachment 5182 [details] Output of lspci
Created attachment 5183 [details] Extra verbose output of lspci (-vv)
Jakob: the Dell X300 only comes with an integrated Intel 82852/855GM graphics card.
Please verify that you've got the latest BIOS for the system. Please try the workarounds in Documentation/power/video.txt Please verify this is still an issue in 2.6.13, and see if you can try the latest X, or at least the latest X video driver.
I am using xorg-x11 version 6.8.2-r2 whithin Gentoo GNU/Linux, which is the latest xorg-x11 for Gentoo at the time. Changing from kernels 2.6.(10|11|12) to 13-rc6 made no difference. I also have the latest system BIOS from Dell, which is A08 from september 2004. Some new info: I can get video from the console when using X11. Problem is that X11 crashes, so it is of little use. Here is the error message in the console after a "echo mem > /sys/power/state" from within X11: -- begin -- Fatal server error: EnterVT failed for screen 0 Please consult the X.Org Foundation support etc. The application 'gnome-session' lost its connection to the display :0.0; most likely the X server was shut down or you killed/destroyed the application. ICE default IO error handler doing an exit(), pid = 6257, errno = 0 xinit: connection to X server lost. waiting for X server to shut down Window manager warning: Lost connection to the display ':0.0'; most likely the X server was shut down etc. gnome-panel: Fatal IO error 104 (Connection reset by peer) on X server :0.0. ICE default IO error handler doing an exit(), pid = 6325, errno = 0 -- end -- It then immediately goes to vt1 (console) and shows the command prompt. From there I can start X11 again. I also get a message during suspending; "ACPI: PCI interrupt for device 0000:00: 1f.5: disabled". Which is the onchip Intel AC'97 Audio Controller. In /var/log/Xorg.log I can see the following entries: -- begin -- (WW) I810(0): Successfully set original devices (II) I810(0): xf86UnbindGARTMemory: unbind key 1 (II) I810(0): xf86UnbindGARTMemory: unbind key 0 (WW) Open APM failed (/dev/apm_bios) (No such file or directory) (WW) I810(0): Extended BIOS function 0x5f64 failed. (WW) I810(0): SetDisplayDevices call failed, writing config directly to SWF0. (WW) I810(0): Failed to switch to configured display devices Fatal server error: EnterVT failed for screen 0 Please consult the The X.Org Foundation support etc. (WW) I810(0): Successfully set original devices -- end -- Passing acpi_sleep=s3_mode to the kernel makes no difference. Also, I have tried passing acpi_sleep=s3_bios to the kernel. What happens whith this parameter is that when suspending from X11 it will not resume. It will blink the power switch LED and some kind of clicking sound goes on and on. The exact same thing happens with acpi_sleep=s3_bios,s3_mode. I have also tried VBEtool whithout success. Is there anything I can try next?
There is a workaround for the problem that recently actually worked for me. The trick is to run vbetool to save the video card state before resuming. Like with the following script: -------------------------------------------- #!/bin/sh # Make laptop sleep vbetool vbestate save > my_vbestate_file echo -n "mem" > /sys/power/state # Wake up laptop vbetool post vbletool vbestate restore < my_vbestate_file -------------------------------------------- I used vbestate version 0.3 and kernel 2.6.14.
Video restore on resume from S3 is a BIOS or video driver issue, not an ACPI issue. Moving to drivers/video.
*** This bug has been marked as a duplicate of 7225 ***