Monday, October 18, 2010

Resume from suspend broken on recent Fedora, Ubuntu, Arch (and maybe more)

So I was testing out the most recent Fedora 14 beta on my Sony Vaio FW21E and found that though suspend itself seemed to work fine, resuming did not. Pressing the power button to resume from suspend resulted in a complete lukewarm boot.

A bit of Googling showed that there a good many people suffering from this. There are posts on the Ubuntu forums and the Arch Linux forums about it. Apparently, a kernel patch regarding ACPI introduced during the development of 2.6.35 broke stuff a bit for some hardware.

Luckily, upstream has already noticed this. If you pass acpi_sleep=nonvs to the kernel command line, resuming from suspend will work nicely again. An automatic fix will be in 2.6.36: devices needing the acpi_sleep=nonvs option will be blacklisted, so manual correction will not be necessary anymore.

To fix this on Fedora and Arch Linux running the old 0.97 version of grub, you can just edit /boot/grub/grub.conf and add the acpi_sleep=nonvs to the end of the 'kernel' line.

On Ubuntu, running the newer grub2 bootloader, you should edit /etc/default/grub and add acpi_sleep=nonvs to the end of the line for the GRUB_CMDLINE_LINUX_DEFAULT variable. After that, run 'sudo update-grub' to make things permanent.

Many of the people reporting this problem on the forums have Sony hardware, though I did see some other things, like Dell passing by.

Happy suspending!