Difference between revisions of "ACPI action script for battery events"
| Line 1: | Line 1: | ||
This is an example ACPI action script that makes Power Management adjustments according to if you are on battery or on AC. | This is an example ACPI action script that makes Power Management adjustments according to if you are on battery or on AC. | ||
| − | Usually this is saved as | + | Usually this is saved as {{path|/etc/acpid/actions/battery.sh}}. |
#!/bin/sh | #!/bin/sh | ||
Revision as of 03:59, 6 October 2005
This is an example ACPI action script that makes Power Management adjustments according to if you are on battery or on AC. Usually this is saved as /etc/acpid/actions/battery.sh.
#!/bin/sh
# I' using this on FC2 and FC3
# cpu throttling off as FC does thisout-of-the-box
# turning swap off is only for those that feel comfortable
# doing something this nasty.
#
# pcfe, 2004-11-15
# 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 2 min for batt
ACAD_HD=244
BATT_HD=24
# Power management level
# 255 (off) on AC
# 128 (medium) on batt
# lowered to 32, pcfe, 2004-06-23
# upped to 64, pcfe, 2004-07-14
# upped to 96, pcfe, 2004-10-20
ACAD_PM=255
BATT_PM=96
# ac/battery event handler
status=`awk '/^state: / { print $2 }' /proc/acpi/ac_adapter/AC/state`
case $status in
"on-line")
logger "Running /sbin/laptop_mode stop"
/sbin/laptop_mode stop
logger "Setting HD spindown for AC mode with hdparm -S $ACAD_HD /dev/hda."
/sbin/hdparm -S $ACAD_HD /dev/hda > /dev/null 2>&1
logger "Setting HD powersaving for AC mode with hdparm -B $ACAD_PM /dev/hda."
/sbin/hdparm -B $ACAD_PM /dev/hda > /dev/null 2>&1
#logger "Turning on swap."
#/sbin/swapon -a
#echo -n $ACAD_CPU:$ACAD_THR > /proc/acpi/processor/CPU0/limit
exit 0
;;
"off-line")
#logger "Turning off swap."
#/sbin/swapoff -a
logger "Running /sbin/laptop_mode start"
/sbin/laptop_mode start
logger "Setting HD spindown for battery mode with hdparm -S $BATT_HD /dev/hda."
/sbin/hdparm -S $BATT_HD /dev/hda > /dev/null 2>&1
logger "Setting HD powersaving for battery mode with hdparm -B $BATT_PM /dev/hda."
/sbin/hdparm -B $BATT_PM /dev/hda > /dev/null 2>&1
#echo -n $BATT_CPU:$BATT_THR > /proc/acpi/processor/CPU0/limit
exit 0
;;
esac