Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've been using Ubuntu for about five years now, and I still can't make it suspend when I want to. It's quite irritating that I can program up a storm, hack the machine in numerous other ways, and yet, and yet when I try to make it suspend or debug suspend, I fail miserably.

I need help.

Where do I begin to find the problem? What do I do to fix it? I'm placing a bounty on this, because I've literally lost hours of my life to this problem, and leaving my computer on ALL the time is terrible.

The symptoms:

  • Pressing suspend brings my computer to a state where it has a blinking cursor, the fans are running, it seems that the HD has turned off (I think), and I can't do anything to bring it back from this state (short of a hard reboot).
  • Possibly related: My fans stay on even after a shutdown, and even then, I have to press the power button for five seconds before I can start it up again.
  • I don't know what logs to look at to debug the problem, and I imagine they'd get nuked on reboot anyway.

Please, please help. This drives me completely nuts, and I've been living with it for over a year.

share|improve this question
    
Have you had any luck with this? I'm personally stuck initializing the graphics hardware. I could probably program my way out of it given enough time... but it would be much smoother to have some method for getting to the problem directly. –  Henrik Jan 31 '11 at 19:28
    
Yeah no luck. Apparently there's no method to debugging suspend, which is a bit shocking. –  mlissner Feb 4 '11 at 6:00
    
How are you suspending? Are you running, from the command line pm-suspend? Are you using a suspend key on your keyboard? Are you making a call to acpi (e.g. /etc/acpi/sleep.sh or /etc/acpi/sleepbtn.sh)?? –  M. Tibbits Feb 4 '11 at 15:58
    
I'm just trying to use the very basic suspend button in the application menu. I think this just calls pm-suspend, right? I've tried other things too, but nothing has worked yet. –  mlissner Feb 7 '11 at 1:32
add comment

2 Answers

From https://wiki.ubuntu.com/UnderstandingSuspend

  • Biggest problem is graphics hardware
  • try suspend without restricted devices (nvidia, fglrx)
  • kernel doesn't know how to handle graphical devices
  • BIOS knows how to restore graphics state
    • via 16 bit segmented mode, C000:xxxx contains the visible 64k video ROM.
    • starting execution at C000:0003, normally re-POSTs the video BIOS (/usr/sbin/vbetool post)
      • more difficult in 64bit mode, since 16bit calls need to be emulated.
      • some memory is in 3-4G range, which requires remapping when emulating to avoid hitting the kernel which is mapped in the same space. o video BIOS may have paged POST code out of C000 window o nvidia BIOS rewrites ROM to just return to stop re-POSTing try suspend from console (via /etc/acpi/sleep.sh)
    • make sure you're logged out of Xorg (or run sleep.sh with "force" argument)
    • if the video BIOS isn't left in a sane state, returning to Xorg may hang the hardware
    • tests capslock on resume (if no capslock, kernel hung)
    • if backlight doesn't come back on, video BIOS probably didn't reinitialize
    • if screen is blank, but has a backlight, try hitting enter or switching between virtual terminals
    • try in single-user mode (via appending "single" to the grub kernel boot options)
    • for details on actions, try bash -x /etc/acpi/sleep.sh >/root/sleep.log 2>&1
    • look at dmidecode information that matches settings in /usr/share/acpi-support/*.config
    • if single-user mode console suspend or resume fails
    • PM trace (echo "1" > /sys/power/pm_trace) which will write device hashes to the system timer
    • attempt to suspend
    • after the failure, on reboot, examine the dmesg output for "device hash" entries to track down the device that hung the system during resume.
    • aware that this will reset the system clock, and fsck will freak out ("has gone without a fsck for 31337 days"). consider tune2fs -c 0 /dev/your/filesystems.
share|improve this answer
add comment

You can find a lot of guidelines/advices here and here.

From your description, it sounds as if your ACPI is not working properly, or the kernel drivers are preventing a full suspend. The second link shows how to deal with that kind of problem.

share|improve this answer
1  
I read these over, but they stop short of actually useful information for my problem. Need more help, and better particulars. I've created a bounty for this question. –  mlissner Jan 29 '11 at 23:33
3  
Bad answer - just links. The point of the Stack*-sites is to provide a go-to place for all questions, not to send users on an endless goose-chase or say 'just f* google it'. Please insert your answer into the question and update it according to mlissner's comment. –  Henrik Jan 30 '11 at 0:05
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.