Monday, December 6, 2010

Lenovo S10-3 with 2.6.36 - Resuming after Sleep

After installing the 2.6.36 kernel from Arch Linux, I found that the system would not resume after sleep. I spent the last couple of days trying to understand the problem. I installed 2.6.36 kernels from Fedora's Rawhide and from Ubuntu's kernel-ppa.

Fedora kernel had the same problem resuming. However, it worked on Ubuntu. On Ubuntu, I had been using 'intel_idle.max_cstate=0' as a kernel boot option. This was a work around for Ubuntu 10.10's boot problem on S10-3.

Removing the intel_idle option from Ubuntu's 2.6.36 kernel resulted in the S10-3 booting perfectly well. However, it showed the same inability to resume from the suspended state.

Adding that option to Arch Linux kernel resolved the resuming from sleep problem on this platform as well. Needless to say, the same option worked on Fedora kernel as well.

7 comments:

  1. Hello Anil,

    I had the exact situation on Ubuntu 10.10 / Lenovo S10-3. I added the intel_idel.max_cstate fix via /etc/default/grub. Worked fine.

    I just upgraded to Ubuntu 11 (kernel 2.6.36). Now my system boots without the intel_idle fix, but does not resume after sleep.

    How do I add the intel_idle option to Arch kernel?

    thanks -Ricardo

    ReplyDelete
  2. In /boot/grub/menu.1st, on the kernel line, add
    intel_idle.max_cstate=0

    ReplyDelete
  3. In /boot/grub I don't have menu.lst

    lenovo1:/boot/grub# ls *lst
    command.lst fs.lst partmap.lst terminal.lst
    crypto.lst moddep.lst parttool.lst video.lst

    I'd prefer email if that's ok with you :)

    ReplyDelete
  4. Sorry, I was sloppy.
    You are using grub2, which is the default on Ubuntu.

    In this case, the default file is /boot/grub/grub.cfg but that is not the one you should modify.

    In the case of Ubuntu, one line has to be changed in /etc/default/grub as follows:
    GRUB_CMDLINE_LINUX="intel_idle.max_cstate=0"

    After that, run
    $sudo update-grub

    ReplyDelete
  5. I just tried these exact steps on my S10-3 running Linux version 2.6.38-11 (default ubuntu 11.04) and I still see the same suspend/resume problem.
    Any ideas?
    Thanks,
    John

    ReplyDelete
  6. To follow up on my last post - I have it working!
    I changed this line:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    to this:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=0"
    in the /etc/default/grub file, ran the update, and all is well.

    Thank you very much for you help.

    It is quite possible I made a typo before, but at least it is working now. Wow there are a lot of files for grub now. What happened to lilo.conf?

    ReplyDelete
  7. My experience with resuming from sleep on Ubuntu 11.04 has been that it works often but not always. It was consistently working on Arch Linux until I upgraded the kernel to 3.0 and it stopped working. Curious issue.

    ReplyDelete