I have been having problems suspending my Dell Latitude D420 for a long time, but finally, I have made it work! This is the simple howto:
- install guidance power manager
- install pm-utils
- install uswsusp
- Go to /usr/lib/pm-utils/ and edit the file “defaults”. Set ‘SLEEP_MODULE=”uswsusp””
- Start the guidance power manager
You are done. This solution is *very* neat in many respects. The old solution that is much worse, you can find on the internet is to compile atkbd and psmouse as modules, then remove and modprobe them before suspend and after resume. That can be done by adding atkbd and psmouse in /usr/lib/pm-utils/defaults under “USPEND_MODULES=…”, but that has a *big* drawback. First, the resume hangs about 1% of the time. Second, the synaptics driver will no longer use the defaults you gave to it in the xorg.conf or through the synclient program – effectively, you won’t be able to control how your touchpad will work.
The worst thing about this suspend problem was, by the way, that there is absolutely *no* documentation on the possible suspend modes in Linux. It took me 2 months to figure out that I wasn’t in fact using s2ram! There are many modes to suspend, by the way:
- powersaved does some tricks, though it seem to fail on my computer, I think it might try s2ram without the –force option (this option is given by pm-utils, in modules.d/uswsusp, have a look)
- acpi (/etc/acpi) stuff – never gets executed, as far as I know
- pm-utils
- s2ram
- tuxonice
- suspend2
I didn’t find any info about these, how these work, when they work, etc. And it gets worse. There are multipe utilities, too: guidance, kpowersaved, just to name two. But you can most probaby configure-on-lidclose in Gnome systemsettings, too. And what do THEY execute? No clue. I wonder how the guidance-power-manager gets to use the pm-utils at all? Cannot be set what to use, as far as I now.
Well, this much about my frustration of the suspend-stuff. BTW I would be really greatful to the package managers&developers; to make it absolutely clear what does what, and what gets executed by what, e.g. what is used by guidance? And kpowersaved? And powersaved? I would also appreciate if there weren’t 6 ways of suspending my machine, only 2, maybe 3. I know that choice is what drives linux forward, but in some cases, especially in such difficult hardware-oriented cases, I would really like to have a maximum of 2 or 3 clear choices. No random ones like: “I run guidace, it calls something when I close the lid, dunno what, but it works, maybe not even guidance called it but the powersaved that runs in the background, or whoknowswhat, but it works”. Or it doesn’t and then you are in deeeeep shit.
PS: could someone please tell me what the /etc/acpi stuff is used for, and especially when is it used? I never ever ‘heard’ it being used, but, you know, the computer doesn’t tell me what it does… I thought that Linux was special because if I dug deep enough I always knew what was happening. Not with suspend!