Difference between revisions of "ACPI action script for battery events"
Sewerbeing (Talk | contribs) |
Sewerbeing (Talk | contribs) (formatting) |
||
| Line 4: | Line 4: | ||
#!/bin/sh | #!/bin/sh | ||
| − | # Tried on Gentoo | + | # Tried on Gentoo |
| − | # cpu throttling is in here it is the cpufreq-set lines | + | # cpu throttling is in here it is the cpufreq-set lines |
| − | # turning swap off is only for those that feel comfortable | + | # turning swap off is only for those that feel comfortable |
| − | # doing something this nasty. | + | # doing something this nasty. |
| − | # comment out the laptop_mode line if you don't have it installed | + | # comment out the laptop_mode line if you don't have it installed |
| − | # pcfe, 2008-10-28 | + | # pcfe, 2008-10-28 |
| − | # cpu throttling | + | # cpu throttling |
| − | # cat /proc/acpi/processor/CPU0/throttling for more info | + | # cat /proc/acpi/processor/CPU0/throttling for more info |
| − | ACAD_THR=0 | + | ACAD_THR=0 |
| − | BATT_THR=2 | + | BATT_THR=2 |
| − | # spindown time for HD (man hdparm for valid values) | + | # spindown time for HD (man hdparm for valid values) |
| − | # I prefer 2 hours for acad and 2 min for batt | + | # I prefer 2 hours for acad and 2 min for batt |
| − | ACAD_HD=244 | + | ACAD_HD=244 |
| − | BATT_HD=24 | + | BATT_HD=24 |
| − | # Power management level | + | # Power management level |
| − | # 255 (off) on AC | + | # 255 (off) on AC |
| − | # 128 (medium) on batt | + | # 128 (medium) on batt |
| − | # lowered to 32, pcfe, 2004-06-23 | + | # lowered to 32, pcfe, 2004-06-23 |
| − | # upped to 64, pcfe, 2004-07-14 | + | # upped to 64, pcfe, 2004-07-14 |
| − | # upped to 96, pcfe, 2004-10-20 | + | # upped to 96, pcfe, 2004-10-20 |
| − | ACAD_PM=255 | + | ACAD_PM=255 |
| − | BATT_PM=96 | + | BATT_PM=96 |
| − | # ac/battery event handler | + | # ac/battery event handler |
| − | status=`awk '/^state: / { print $2 }' /proc/acpi/ac_adapter/AC/state` | + | status=`awk '/^state: / { print $2 }' /proc/acpi/ac_adapter/AC/state` |
| − | if [ "$status" = "off-line" ] | + | if [ "$status" = "off-line" ] |
| − | then | + | then |
logger "Running /sbin/laptop_mode stop" | logger "Running /sbin/laptop_mode stop" | ||
/sbin/laptop_mode stop | /sbin/laptop_mode stop | ||
| Line 45: | Line 45: | ||
/sbin/swapon -a | /sbin/swapon -a | ||
/usr/bin/cpufreq-set -g conservative | /usr/bin/cpufreq-set -g conservative | ||
| − | else | + | else |
logger "Turning off swap." | logger "Turning off swap." | ||
/sbin/swapoff -a | /sbin/swapoff -a | ||
| Line 55: | Line 55: | ||
/sbin/hdparm -B $BATT_PM /dev/hda > /dev/null 2>&1 | /sbin/hdparm -B $BATT_PM /dev/hda > /dev/null 2>&1 | ||
/usr/bin/cpufreq-set -g ondemand | /usr/bin/cpufreq-set -g ondemand | ||
| − | fi | + | fi |
[[Category:Scripts]] | [[Category:Scripts]] | ||
Revision as of 20:31, 28 October 2008
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
# Tried on Gentoo
# cpu throttling is in here it is the cpufreq-set lines
# turning swap off is only for those that feel comfortable
# doing something this nasty.
# comment out the laptop_mode line if you don't have it installed
# pcfe, 2008-10-28
# 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`
if [ "$status" = "off-line" ]
then
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
/usr/bin/cpufreq-set -g conservative
else
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
/usr/bin/cpufreq-set -g ondemand
fi