This web page summarizes my experiences with power management on a Compaq Evo N200 under Linux. For details about Linux in general on this machine, see my other web page.
The high-order bit is that suspend/resume basically doesn’t work. This web page documents what I tried to get it to work.
So it does work, if you run APM and the mobile-expansion unit (MEU) is attached to the computer. While the suspend button (the samll blue button above the “delete” key) does nothing, typing “apm -s” will suspend the machine, then pressing the blue suspend button resumes it.
Suggestions, set apm=allow-ints on the kernel command line and don’t put CHANGEVT in /etc/sysconfig/apmd
(redhat-specific). If you do have CHANGEVT enabled, then the video driver gets off and seems like its burning the LCD white. (Cool effect… I didn’t know LCDs could do that.) Probably not good. (The machine is up in that you can run commands if you can type blindly, but you won’t see anything on the screen.)
Even this approach isn’t completely full-proof, though. Upon resume X11 is up, but the tty consoles don’t show any text (although the text is there in that I can log in and type commands without seeing anything).
If you try and suspend (running “apm -s”) when not attached to the MEU, the machine suspends, and then it immediately unsuspends itself.
To try and debug why this happens I added some printfs to the kernel. I had hoped that the kernel was having some kind of problem without the MEU because the CD-ROM was missing, but but the pm_* calls are exactly the same with and without the MEU, so it seems out of Linux’ hands. (Hypothesis: there’s a bug in the APM BIOS.)
Alternative: APCI. I tried several shots at ACPI, but basically none supported suspend/resume. This is partly to be expected, as suspend/resume is acknowledged work-in progress on the ACPI web pages.
First, the ACPI support in the default 2.4.18 kernel is incomplete.
Trying the acpi-20020503 patch to the 2.4.18 kernel is somewhat better. It boots, recognizes all the hardware, reports all kinds of details about the batteries and the power buttons and lid, but suspend/resume is non-operational. cat /proc/acpi/sleep shows “S0 S3 S4 S5” (no S1, simple suspend). “echo 3 >/proc/acpi/sleep” hangs the machine (the display doesn’t even blank). Rebooting doesn’t show anything in the log. Q: is there experimenal S1 support?
Trying the acpi-20020503 with the swsusp patch (and kernel 2.4.18) doesn’t help matters. “echo 4 >/proc/acpi/sleep” hangs the machine in the same way (the display doens’t blank).