Debian Lenny Suspend Resume config

After problems with Evolution in the latest version of Ubuntu decided why not go back to Debian and install Lenny. Of course having a few issues with one application isn’t a reason to just give up on a distro, Hardy is on the desktop I use for work every day, so I took it as an opportunity to go back to a distro I’ve used before on my laptop.

Just like with Etch when loading Lenny wireless was not recognized. That was no big deal as the wireless nic uses the ipw2200 driver available at http://ipw2200.sourceforge.net. Downloading the firmware and adding it to /lib/firmware was all that’s necessary. The piece that has been a little frustrating though is suspend/resume. Granted my laptop use doesn’t really require me to utilize suspend / resume but it would be nice to get it to work.

This afternoon I took some time to try and figure it out, it took a while but got it working. Their is a wealth of information about this topic, two places that helped put the pieces together were the Debian Suspend Wiki and the HAL Quirk site. I did follow the instructions for creating a fdi file on the HAL Quirk Site, but at this point that may or may not have been the problem. That file is called 20-video-quirk-pm-compaq.fdi, since the laptop is a Compaq V2000, and contains the following.

<!-- V2000 -->
<match key="system.hardware.product" string="Presario V2000 (PM064UA#ABA)">
 <match key="system.hardware.version" string="Rev 1">
  <merge key="power_management.quirk.s3_bios" type="bool">true</merge>
  <merge key="power_management.quirk.s3_mode" type="bool">true</merge>
 </match>
</match>

The instructions on how to create the fdi file are here and easy to follow. Once that was done I still received the following message when executing s2ram.

# s2ram
Machine is unknown.
This machine can be identified by:
    sys_vendor   = "Hewlett-Packard"
    sys_product  = "Presario V2000 (PM064UA#ABA)      "
    sys_version  = "Rev 1           "
    bios_version = "F.22    "

Interesting that the machine is unknown yet it finds the setup in the fdi file. With the file in place the following worked as root.

# pm-suspend --quirk-vbestate-restore --quirk-s3-bios --quirk-s3-mode

But at the same time using s2ram -f also worked. So this is where I have to admit I’m still a little confused. Running either command as ‘root’ worked, but when using my account failed logic tells me that would be a permissions issue… but where. Of course not the end of the world I thought, opening a terminal window and executing the command isn’t that bad. But at the same time I thought if you can do it as root then their should be a way to add that functionality for a user. After poking around some more I ran across some forum posts that mentioned the user needs to be in the powerdev group. So I checked my account properties, sure enough Suspend and hibernate the computer was _not_ checked.

After checking, logging out and back in, suspend worked from “the suspend” key or the power button. Makes me wonder after all this time if that was the problem ? At this point I’m not sure, I’ll need to undue a few things to get back to the original state. But it was a good learning experience and suspend/resume now works.