HARDWARE Get Suspend To RAM working on a Dell Inspiron 8600c laptop
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] HowTo: Get STR working on a Dell Inspiron 8600c laptop
Today I finally managed to get Suspend To RAM (aka STR aka S3 aka 'Standby' in Windows) working on my Dell Inspiron 8600c laptop. It has an nvidia-based graphics card but it should also work for the ATI graphics. I don't know if my method works on any other laptops but the author of the patch reported that it works on a Dell D600.
[edit] Installation
You need to apply a patch to the Linux kernel and recompile your kernel. You may also need some different settings if you're using an ATI-based graphic card.
[edit] Getting the patch
You have to download the patch at http://www.loria.fr/~thome/d600/ that makes everything work again after waking up. This is the only patch that is needed. You may also include the ACPI kernel drivers in your configuration.
[edit] Applying the patch
Apply the patch as following (I saved mine to /usr/src/patches/)
patch -p1 < /usr/src/patches/s3_late_bios_new.patch
If you get a HUNK failed for a file inside /usr/src/linux/Documentation} you can safely ignore that.
[edit] Compiling the kernel
make && make modules_install mount /boot cp arch/i386/boot/bzImage /boot/kernel-2.6.xx-gentoo-xx-str
[edit] Configuring your bootloader
nano -w /boot/grub/grub.conf
Add acpi_sleep=s3_late_bios to your kernel line. And now umount your boot partiton
umount /boot
[edit] Script for suspending
Now your system is ready, you may need to unload some modules before supend. You can use my little script:
| File: Suspend.sh |
#!/bin/bash
if [ ! -e /etc/suspend.conf ]
then
echo "/etc/suspend.conf not found! Please create!";
exit 1
fi
if [ `whoami` != "root" ]
then
echo "You need to be root!";
exit 1
fi
source /etc/suspend.conf
for i in ${UNLOAD_MODULES}
do
if [ `/sbin/lsmod | /bin/gawk '{print $1}' | /bin/grep $i` ]
then
/sbin/rmmod $i
fi
done
/bin/echo "mem" > /sys/power/state
for i in ${UNLOAD_MODULES}
do
/sbin/modprobe $i
done
This is my /etc/suspend.conf:
UNLOAD_MODULES="ehci_hcd uhci_hcd"
|
