#!/bin/sh # # A power control script for the D800. # K.Lawas # # PATH=/bin:/usr/bin:/usr/X11R6/bin:/usr/sbin DISPLAY=localhost:0.0 KERNEL=`uname -r |cut -f 2 -d .` || 6 case $1 in sleep) # shut off the LCD and stop the processor xhost +local: xset -display :0 dpms force off sleep 1 echo 1 > /proc/acpi/sleep echo "Waking..." ;; slow) # confine cpu0 down to 600MHz and set policy to powersave if [ "$KERNEL" == "4" ]; then echo "0%0%0%powersave" > /proc/cpufreq else echo "powersave" > \ /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor fi # hdparm -B 1 /dev/hda echo "Powersave policy activated" ;; fast) # confine cpu0 to 1.6GHz and set policy to performance if [ "$KERNEL" == "4" ]; then echo "0%100%100%performance" > /proc/cpufreq else echo "performance" > \ /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor fi # hdparm -B 255 /dev/hda echo "Performance policy activated" ;; normal) # restore default power scheme if [ "$KERNEL" == "4" ]; then echo "0%0%100%performance" > /proc/cpufreq else echo "performance" > \ /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor fi # hdparm -B 128 echo "Default policy activated" ;; *) # how did we get here echo "Usage: " `basename $0` "sleep|slow|fast|normal" exit 1 ;; esac if [ "$KERNEL" == "6" ]; then echo "current cpu freq is " \ `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq` fi # in 2.6, we also have the less useful # echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # echo "600000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed