#!/bin/sh # # start of stop laptop mode, best run by a power management daemon when # ac gets connected/disconnected from a laptop # # FIXME: assumes HZ == 100 # age time, in seconds. should be put into a sysconfig file # The default value is MAX_AGE=600 # kernel default dirty buffer age DEF_AGE=30 DEF_UPDATE=5 if [ ! -w /proc/sys/vm/laptop_mode ]; then echo "Kernel is not patched with laptop_mode patch" exit 1 fi case "$1" in start) AGE=$((100*$MAX_AGE)) echo -n "Starting laptop mode" echo "1" > /proc/sys/vm/laptop_mode echo "30 500 0 0 $AGE $AGE 60 20 0" > /proc/sys/vm/bdflush # if no AAM support, manually set spin down if [ ! -d /proc/aam/hda ]; then # Configuration Suggestion for the Contura Aero Laptop: # (see www.ulihansen.kicks-ass.net/aero/linux/apm.htm # for more info). # Use S4 for hdparm to spin down after 20 sec. and # also acivate disk-write-caching with W1. # maybe you want also activate PIO-Mode 4 (would be X12) hdparm -S4W1 /dev/hda else echo 1 > /proc/aam/hda/enabled fi echo "." ;; stop) U_AGE=$((100*$DEF_UPDATE)) B_AGE=$((100*$DEF_AGE)) echo -n "Stopping laptop mode" echo "0" > /proc/sys/vm/laptop_mode echo "30 500 0 0 $U_AGE $B_AGE 60 20 0" > /proc/sys/vm/bdflush if [ ! -d /proc/aam/hda ]; then hdparm -S0 /dev/hda else echo 0 > /proc/aam/hda/enabled fi echo "." ;; *) echo "$0 {start|stop}" ;; esac exit 0