Laptop
From CourvilleWiki
Revision as of 20:20, 8 October 2005 by 192.168.0.4 (Talk)
Contents |
Laptop tricks that matter for extending battery life
Relevant references
- software suspend for linux: http://swsusp.sourceforge.net/
- linux laptop mode patch and discussion: http://kerneltrap.com/node.php?id=653. Note that now this patch is included in standard kernel for versions higher than 2.4.23
- cpufreq 2.4 kernel patch: cvs -d:pserver:cvs@pubcvs.arm.linux.org.uk:/mnt/src/cvsroot co -rLINUX_2_5 cpufreq
- speedstep support: http://www.poupinou.org/cpufreq/
- some notes on /proc/sys/bdflush in german: https://mh57.de/cc/view.php?file=/linux/notebook
- the slightly outdate noflushd deamon: http://noflushd.sourceforge.net/
- for ibm laptops use specific thinkpad modules: http://tpctl.sourceforge.net/tpctlhome.htm
What I use:
- go for low power consumption on my ibm t23 (battery operation)
modprobe speedstep-ich speedstep-lib msr echo -n "0%0%100%powersave" > /proc/cpufreq echo "1" > /proc/sys/vm/laptop_mode echo "30 500 0 0 60000 60000 60 20 0" > /proc/sys/vm/bdflush hdparm -S1 /dev/hda
- switch back to full power mode (AC operation)
echo -n "0%0%100%performance" > /proc/cpufreq echo "0" > /proc/sys/vm/laptop_mode echo "30 500 0 0 500 3000 60 20 0" > /proc/sys/vm/bdflush
Investigate which process is making use of the disk
/etc/init.d/sysklogd stop echo 1 > /proc/sys/vm/laptop_mode echo 1 > /proc/sys/vm/block_dump dmesg dmesg
Interfacing with apm
- add in /etc/apm/event.d the following scripts:
gunnm:/etc/apm/event.d# cat speedstep
#!/bin/sh
## Enable SpeedStep powersave modus when on battery
case "$1" in
change)
case "$2" in
power)
if (on_ac_power > /dev/null); then
echo -n "0%0%100%performance" > /proc/cpufreq
else
echo -n "0%0%100%powersave" > /proc/cpufreq
fi
;;
*)
;;
esac
;;
*)
;;
esac
gunnm:/etc/apm/event.d# cat laptopmode
#!/bin/sh
## Enable LaptopMode powersave modus when on battery
case "$1" in
change)
case "$2" in
power)
if (on_ac_power > /dev/null); then
echo "0" > /proc/sys/vm/laptop_mode
echo "30 500 0 0 500 3000 60 20 0" > /proc/sys/vm/bdflush
else
echo "1" > /proc/sys/vm/laptop_mode
echo "30 500 0 0 60000 60000 60 20 0" > /proc/sys/vm/bdflush
fi
;;
*)
;;
esac
;;
*)
;;
esac

