Ok, so due to the resounding silence on this issue, I've done my best to find and compile a general troubleshooting guide. I consider this a work in progress as I have the time to do the research to improve the list.
DISCLAIMER: I don't know any more about this issue than the average linux user (arguably less, actually), so I can't offer help beyond telling people where to look and (more or less) what to look for. If anyone has suggestions, additions, or would like to make this guide more helpful, please say so.
Because a lot of suspend/hibernate problems require a hard restart, I'm including this as general helpful information:
Before doing a hard reboot, try the following combination:
hold down Alt+SysRq(Print Screen), and then type REISUB.
This combination should stop all programs, unmount all drives, and reboot the computer, more safely than just pressing the power button
If this doesn't work, then you can go ahead and hold down the power button.
Most of my information was gathered from these sites, so you may find it useful to read them, too.
Suspend/Hibernate menu items not shown
If you don't have the suspend or hibernate menu items, you need to find out why they are disabled.
1. Check to make sure that Gnome Power Manager is enabled
Navigate to your login items (System -> Preferences -> Login Items), and scroll down to make sure that the Gnome Power Manager is checked.
2. Make sure Gnome Power Manager is behaving
Open up a terminal, and run the command
If suspend/hibernate appear now, then create a launcher for that command in your login items.
3. Check if the HAL detectecd a sleep handler
If this returns false, you need to check your BIOS settings and make sure suspend is enabled there.
lshal | grep can_suspend
4. Check to see if the ability is there, but disabled
If the previous check returned true, it's possible that the ability to suspend/hibernate has been disabled. You can check this by running
You should get something like
gconftool-2 -R /apps/gnome-power-manager | grep can
If either of those are false type
can_suspend = true
can_hibernate = true
Navigate to apps/gnome-power-manager/general and change the appropriate values to true
5. Determine why suspend/hibernate isn't offered
If the one you're having problems with isn't shown at all, then follow the instructions in the Debugging Gnome Power Manager page to determine why not.
System freezes when suspending/hibernating
1. Check Swap
Swap is essential for suspending and hibernating. If your swap isn't on and active, it appears to generate the "blinky cursor on screen when trying to suspend/hibernate," but it could manifest in other ways as well.
You may also experience problems if your swap is smaller than the amount of ram you have installed, or if you're using a swap file rather than a swap partition.
You should get something like this:
Filename Type Size Used Priority
/dev/sdb2 partition 8393952 4716 -1
2. Check your hardware
Search the hardware incompatibility list stickied at the top of this forum, and the forums to see if anyone has had problems with similar hardware and drivers. The biggest culprit appears to be graphics drivers, so check for proprietary drivers and search for them, first. If you have a laptop, try searching the make and model of the computer you're using.
People seem to frequently have success blacklisting graphics cards
Those are the easy fixes. Unfortunately, suspend and hibernate problems seem to be incredibly complex and difficult to debug, so next we move on to data collection.
3. Check logging information
Ideally, you should do this right after rebooting from a failure, so the problems will be the last thing logged.
Logs to check:
Kernel log (kern.log):
I believe you are looking for lines containing "PM:" to indicate sleep and wake callsDebug log (debug):
The line "Back to C!" indicates the point at which the kernel resumes
Contains mostly the same information as the kernel log, but you may find something helpful there
Code to run:
Like in the kernel log, you're looking for the block of text starting with PM, or containing forcedeth
If your problem occurs while suspending:
Test ACPI scripts
Fire up your friendly neighborhood command prompt, and, depending on the function you're having problems with, run either pm-suspend, or pm-hibernate, and look for any errors scrolling by.
Test GNOME power manager
Still in the command prompt, try these commands to bypass the GNOME power manager, and send commands directly to the HAL
dbus-send --system --print-reply --dest="org.freedesktop.Hal" /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate
If the problem occurs during resume:
dbus-send --system --print-reply --dest="org.freedesktop.Hal" /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0
There is, unfortunately, less helpful information here, though it might be beneficial to run the same suspend/hibernate commands. Otherwise, check the logs.
If it makes it all the way into standby/hibernate, restart the computer, and keep an eye on the disk indicator light to see if it blinks. If so, then it has loaded the image, so the problem is further on than that.
At this point, if you haven't found a solution, you can try posting any logs that appear to have errors, and the output of the suspend/hibernate commands, if you saw errors there, on the forums, but you may end up needing to file a bug report. If you go that route, I suggest you read this, and this before filing a bug report, to make both your life and those of the developers easier.