[ltp] Fan-problem-solution-proposal

Mario Limonciello linux-thinkpad@linux-thinkpad.org
Sat, 07 May 2005 13:32:55 -0400


Ovidiu Achim wrote:

>Try modprobe ibm-acpi experimental=1.
>
>Cheers,
>Ovi
>
>On 5/6/05, Bret Comstock Waldow <bwaldow@woosh.co.nz> wrote:
>  
>
>>I have a T42 (2378-FVU) running ibm-acpi 0.11.  I don't
>>have /proc/acpi/ibm/fan.
>>
>>I have ibm-acpi loaded as a module.  Should I have the fan entry?
>>
>>My fan runs most of the time, but is mercifully quiet.
>>
>>Regards,
>>Bret
>>
>>On Fri, 06 May 2005 08:29, Florian Dorpmueller wrote:
>>    
>>
>>>For those who like to do something with their fan, I have writen a little
>>>script. You can use it as deamon or start it as local user (therefore you
>>>need to change the rights of /proc/acpi/ibm/fan).
>>>
>>>On my R51 this script reduces the fan usage remarkable. Under normal
>>>circumstances (20 degrees centigrade) I notice about 8 minutes fanless
>>>working and afterwards around 10 minutes cooling.
>>>
>>>Try and enjoy,
>>>Flori
>>>
>>>#!/bin/sh
>>>#
>>># fan control-script
>>>#
>>># based upon ibm-acpi 0.11
>>>#
>>># eliminates anoying "fan always on" in battery mode
>>># works with hysteresis (DELTA) so that always-turn-on/turn-off is avoided
>>># fan acivates at MAXTEMP and cools down CPU, GPU etc. to MAXTEMP-DELTA
>>>than the fan is turned off
>>># furthermore detects if AC is on and gives back fan control to default
>>>behaviour than
>>>#
>>># one can change MAXTEMP and DELTA to individual values
>>># but take care of your THINKPAD don`t melt it!
>>>#
>>># have fun!
>>># Flori 05.05.05
>>>
>>>MAXTEMP=50
>>>DELTA=4
>>>
>>>SWITCHTEMP=$MAXTEMP
>>>
>>>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 && fan=yes
>>>            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
>>>      
>>>
>>
>>    
>>
Well my problem at hand now is the GPU is still way too hot that this
script doesn't take effect:

supermario@portablemario ~ $ cat /proc/acpi/ibm/thermal
temperatures:   35 49 31 81 28 -128 23 -128

I'm thinking once we see some good ol' power management put into the ATI
drivers I won't even have a need for this script period.  Until then I
just have to cope.