From: Dax Kelson Documentation/laptop-mode.txt | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+) diff -puN Documentation/laptop-mode.txt~laptop-mode-doc-update Documentation/laptop-mode.txt --- 25/Documentation/laptop-mode.txt~laptop-mode-doc-update 2004-01-05 11:11:31.000000000 -0800 +++ 25-akpm/Documentation/laptop-mode.txt 2004-01-05 11:11:31.000000000 -0800 @@ -126,8 +126,11 @@ Please note that this control script wor # start or stop laptop_mode, best run by a power management daemon when # ac gets connected/disconnected from a laptop # +# install as /sbin/laptop_mode +# # Contributors to this script: Kiko Piris # Bart Samwel +# Dax Kelson # Original Linux 2.4 version by: Jens Axboe parse_mount_opts () { @@ -203,6 +206,7 @@ case "$1" in "ext3") mount $DEV -t $FST $MP -o remount,$PARSEDOPTS,commit=$MAX_AGE ;; "reiserfs") mount $DEV -t $FST $MP -o remount,$PARSEDOPTS,commit=$MAX_AGE ;; "xfs") mount $DEV -t $FST $MP -o remount,$PARSEDOPTS,commit=$MAX_AGE ;; + esac done fi echo "." @@ -246,7 +250,50 @@ exit 0 --------------------CONTROL SCRIPT END-------------------------------------------- +Dax Kelson submitted this so that the ACPI acpid daemon will +kick off the laptop_mode script and run hdparm. +---------------------------/etc/acpi/events/ac_adapter BEGIN------------------------------------------- +event=ac_adapter +action=/etc/acpi/actions/battery.sh +---------------------------/etc/acpi/events/ac_adapter END------------------------------------------- + +---------------------------/etc/acpi/actions/battery.sh BEGIN------------------------------------------- +#!/bin/sh + +# cpu throttling +# cat /proc/acpi/processor/CPU0/throttling for more info +ACAD_THR=0 +BATT_THR=2 + +# spindown time for HD (man hdparm for valid values) +# I prefer 2 hours for acad and 20 seconds for batt +ACAD_HD=244 +BATT_HD=4 + +# ac/battery event handler + +status=`awk '/^state: / { print $2 }' /proc/acpi/ac_adapter/AC/state` + +case $status in + "on-line") + echo "Setting HD spindown to 2 hours" + /sbin/laptop-mode stop + /sbin/hdparm -S $ACAD_HD /dev/hda > /dev/null 2>&1 + /sbin/hdparm -B 255 /dev/hda > /dev/null 2>&1 + #echo -n $ACAD_CPU:$ACAD_THR > /proc/acpi/processor/CPU0/limit + exit 0 + ;; + "off-line") + echo "Setting HD spindown to 20 seconds" + /sbin/laptop-mode start + /sbin/hdparm -S $BATT_HD /dev/hda > /dev/null 2>&1 + /sbin/hdparm -B 1 /dev/hda > /dev/null 2>&1 + #echo -n $BATT_CPU:$BATT_THR > /proc/acpi/processor/CPU0/limit + exit 0 + ;; +esac +---------------------------/etc/acpi/actions/battery.sh END------------------------------------------- Monitoring tool --------------- _