Controlling fan with Thinkfan on Lenovo Thinkpad
R61 on Debian GNU/Linux (adjusting proper fan cycling)
Some time ago before I have
blogged about How to properly control your Lenovo Thinkpad R61 fan
rotation cycles on Linux with ThinkFan
In this tiny article I have explained my previous obstacles of
making my Notebook CPU cooling fan to properly rotate and cool up
my Central Processing Unit.
However just recently I've upgraded my
Debian Unstable -
Squeeze/Sid through the apt-get manager to the newest possible
package updates.
The upgraded bundle of packages also updated my
sid thinkfan package
to:
hipo@noah:~$ dpkg -l |grep -i thinkfan
ii thinkfan 0.7.1-1 simple and lightweight fan control
program
I was unpleasently suprised when I tried to restart thinkfan using
the thinkfan init.d script I have used until recently
/etc/init.d/thinkfan , cause
/etc/init.d/thinkfan was
no longer be.
Furthermore I give a try to directly launch the
thinkfan
daemon from the terminal trying to backround the service, like
so:
noah:~# thinkfan &
WARNING: Using default temperature inputs in
/proc/acpi/ibm/thermal.
WARNING: You have not provided any correction values for any
sensor, and your fan will only start at 55 °C. This can be
dangerous for your hard drive.
Though this started up the thinkfan daemon as you can see the note
in the message below it started up with a consistent cycling
cooling to keep the CPU wamrth sticked to 55 ° degrees:
WARNING: Using default temperature inputs in
/proc/acpi/ibm/thermal.
WARNING: You have not provided any correction values for any
sensor, and your fan will only start at 55 °C. This can be
dangerous for your hard drive.
The message also indicated that the temperature values in
in my recently hand
crafted thinkfan.conf with custom temperature values does no
longer comply to the
thinkfan conf file syntax.
Therefore I had to change the obsolete thinkfan.conf file's values
with a ones with which thinkfan wouldn't complain.
Thanksfully this wasn't such a hard job and in about 10 minutes
time I have prepared the newer thinkfan.conf compatible with my
Debian thinkfan 0.7.1-1 release.
The
new
working thinkfan.conf file can be obtained from here
It's necessary the old conf in
/etc/thinkfan.conf is
overwritten with the newer
thinkfan.conf
Thereon a thinkfan daemon restart is required:
noah:~# killall -9 thinkfan
noah:~# rm -f /var/run/thinkfan.pid
Of course afterwards the daemon has to be started again :)
noah:~# /usr/sbin/thinkfan &
The proper thinkfan daemon start up with the new conf should return
an output:
WARNING: Using default temperature inputs in
/proc/acpi/ibm/thermal.
Config as read from /etc/thinkfan.conf:
Fan level Low High
0 0 40
1 40 42
2 42 44
3 44 46
4 46 48
5 48 50
6 50 54
7 54 32767
Daemon PID: 22085
I've also put on crontab that thinkfan is restarted every 30
minutes, just to make sure the daemon doesn't hang after a system
restore from a hibernate state, this works generally well, if you
want to follow my way add following in your root crontab.
,br />
noah:~# crontab -u root -e
Place there:
0,30 * * * * killall -HUP thinkfan
This is it, now thinkfan will be fine again