Difference between revisions of "Code/fan-enable-extended"

From ThinkWiki
Jump to: navigation, search
 
m
Line 32: Line 32:
 
         for temp in `sed s/temperatures:// < /proc/acpi/ibm/thermal`
 
         for temp in `sed s/temperatures:// < /proc/acpi/ibm/thermal`
 
           do
 
           do
             test $temp -gt $SWITCHTEMP && fan=yes
+
             test $temp -gt $SWITCHTEMP
          done
 
 
 
        if [ "$fan" = "yes" ]; then
 
          command='enable'
 
          SWITCHTEMP=`expr $MAXTEMP - $DELTA`
 
        else
 
          SWITCHTEMP=$MAXTEMP
 
          command='disable'
 
        fi
 
        else # ac-adapter on -> set fan control to standard behaviour
 
        command='enable'
 
      fi
 
 
 
      echo $command > /proc/acpi/ibm/fan
 
      sleep 15
 
    done
 
  done
 

Revision as of 03:57, 11 April 2007

  1. !/bin/sh
  1. fan control-script
  2. based upon ibm-acpi 0.11 (experimental=1 !)
  3. eliminates anoying "fan always on" in battery mode
  4. works with hysteresis (DELTA) so that always-turn-on/turn-off is avoided
  5. fan acivates at MAXTEMP and cools down CPU, GPU etc. to MAXTEMP-DELTA than the fan is turned off
  6. furthermore detects if AC is on and gives back fan control to default behaviour than
  7. one can change MAXTEMP and DELTA to individual values
  8. but take care of your THINKPAD don`t melt it!
  9. have fun!
  10. mk 05.05.05

MAXTEMP=51 DELTA=4

SWITCHTEMP=$MAXTEMP

  1. make sure the script doesn't leave the fan off on error

trap "echo enable > /proc/acpi/ibm/fan" EXIT

while [ 1 ]; do

 for ac in `sed s/state:// < /proc/acpi/ac_adapter/AC/state`
   do
    if [ "$ac" = "off-line" ]; then
        fan=no
        for temp in `sed s/temperatures:// < /proc/acpi/ibm/thermal`
          do
            test $temp -gt $SWITCHTEMP