(?) Software suspend troubles

From Ben Okopnik

Answered By: Thomas Adam, Kapil Hari Paranjape

So, I've installed swsusp - two patches over the kernel, flip a couple of switches in the kernel config, and "echo > /proc/swsusp/activate". Hurrah! Cute little screen with a progress bar, etc., and off goes the laptop. Now comes the interesting part: when I hit the power button, I see the Acer splash screen, the LILO message, my cute little Tux, and - the usual kernel load messages flip over to the 'restore the suspend' screen with its progress bar... until it gets to the point where it says "Freezing processes: Freezing remaining tasks." Half a second later, it restarts the restore process, until it gets to the above message... and so on, and so on, and so on. PLOKTA didn't do anything - until the next cycle, where the kernel crashed with a panic (!). I ended up having to reboot using another kernel - lucky that I always have at least two, since I don't trust the newly-compiled ones to always work!

There's no info about this on the Web, at least according to Google; just two hits on the relevant line in the code. I'll have to send some email to the "swsusp" list and see if they can help.

(!) [Thomas] How are you actually suspending it though, Ben? I suspend this way:
echo 1 > /proc/acpi/sleep

(?) Huh? Then you're not using "swsusp"'s hibernation feature, but the ACPI "sleep" instead. It's ">/proc/swsusp/activate", as shown in the swsusp HOWTO. Incidentally, the ACPI "sleep" doesn't work for me, whether 'echo 1' or 'echo 4'.

(!) Yes, you are quite right, the two are different. I really am not sure what to suggest other than ask on the swsusp ML. I am not trying to fob you off or anything, but this kind of thing is quite hard to keep track of... i.e. we don't know what is happening until we reboot, etc....

(?) Heck, Thomas, I certainly wasn't taking it badly. If the issue is new enough that I can't find anything on Google, then it's off to the developers I go; no one else is going to know anything.

Meanwhile, I've got to juggle the flight school appointment here with my trip to the Polynesian Culture Center (http://www.polynesia.com); I'll probably talk to you all next when I'm back in St. Augustine. Cheers!

(!) [Kapil] There is a nice "comparison table" by Nigel Cunningham regarding the swsusp patches available at swsusp.sf.net.
Basically, there are three ways to get suspend-to-disk working for 2.6 kernels. There are two methods that are in the default kernel tarball. There is also a "swsusp2" patch that can be downloaded from the swsusp.sf.net site.
What is not mentioned (and not configured into the Kconfig scripts) is that the current versions appear to depend on the "module unloading" fature that is optional with the 2.6 kernel.
Secondly, while it is true that
	echo -n disk > /sys/power/state
	echo 4 > /proc/acpi/sleep
	echo 1 > /proc/kernel/suspend/activate or whatever
should suspend-to-disk, it seems to be much smoother to use the "hibernate" script that can be downloaded as part of the tarball at swsusp.sf.net.
Finally, my own experience with the 1.0.3 patch for 2.4 is that it works quite well. I haven't had as much stability with the 2.6 suspend versions. (Works only while testing but fails when actually required :-).
Eventually, I'll get around to posting my questions to the swsusp site once I have all the variables sorted out.
(!) [Heather] Hey gentle readers! If you know more on this topic please feel free to drop us a note - inquiring minds want working laptops :)

Copyright © 2004
Copying license http://www.linuxgazette.net/copying.html
Published in Issue 99 of Linux Gazette, February 2004
HTML script maintained by Heather Stern of Starshine Technical Services, http://www.starshine.org/

[ Table Of Contents ][ Answer Guy Current Index ] greetings   Meet the Gang   1   2   3   4 [ Index of Past Answers ]