Suspend S3 on IBM Thinkpad R50e

Well, this one has had me stuck for ages…but Antoine from the linux-thinkpad mailing list managed to help out (thanks v.much!).

This mini-howto should help you get suspend working on your R50e, and perhaps many other laptops with the intel extreme graphics 2 chipset. The main problem is that the display is not restored properly or at all and you’re left with a blank screen.

Another symptom (that I was having) which was really frustrating me was I was left with a

Stopping tasks========

Screen when I hit Fn to resume, also the suspend light stayed on and the whole laptop was locked up. The reason for that was because I had the s3_bios= kernel param in my grub.conf, make sure you remove this.

Also, I’ve read that you’re not supposed to have any kind of framebuffer in your kernel or as a module…even un-loading the fb module won’t help; so make sure you remove all traces of framebuffer stuff from your kernel if it’s compiled in, or alternatively make sure the modules aren’t loaded on boot.

Ok? Right then. Read this guide:
How to make ACPI work

Make sure you don’t do this, it’ll cause symptoms of annoyance as described above:

acpi_sleep=s3_bios

Ok, so now check that we’ve got ACPI working.

As root:
dmesg | grep supports
and you should get this:
ACPI: (supports S0 S3 S4 S5)

Even if you don’t get that, you might as well try it. Here’s the script:

#!/bin/bash

chvt 1
cat /proc/bus/pci/00/02.0 > /tmp/video_state
sync
#------------------- [ Enter Sleep Mode ] -----------------------------
hwclock --systohc
echo -n 3 > /proc/acpi/sleep
hwclock --hctosys
#---------------------------------------------------------------------------
cat /tmp/video_state > /proc/bus/pci/00/02.0
chvt 7
rm /tmp/video_state

That also prevents the clock from drifting.

I’ll be updating this guide a bit when I have time.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.