Warning: tampering with the fan control on you laptop is potentially dangerous, and I will not take any responsibility if anything happens to your machine. With that being said; I have used Thinkfan for various Thinkpads (7 I think) with no problems at all. Just be warned.
A lovely Lenovo T420 has recently dropped into my possession – not the worst thing that can happen. Well, actually it is a company laptop – but enough with the chit-chat.
Linux support on this machine is far from perfect, but one of the most annoying things about it, is the fan noise. It is constantly on at ~3500rpm and very noticeable (read: annoying).
First, install Thinkfan. (I owe my sanity to these developers!)
$ sudo aptitude install thinkfan
To enable fan control, the kernel acpi module must be enabled with explicit support.
$ sudo su -c "echo \"options thinkpad_acpi fan_control=1\" > /etc/modprobe.d/thinkfan.conf"
And reload the module.
$ sudo modprobe -rv thinkpad_acpi && sudo modprobe -v thinkpad_acpi
We also need the coretemp module, which is not autoloaded.
$ sudo modprobe -v coretemp
To make it autoload, append it to /etc/modules.
sudo su -c "echo \"coretemp\" >> /etc/modules"
Now, edit /etc/default/thinkfan to enable the thinkfan service to start. There are a lot of precautions here 😐
Then, the following to /etc/thinkfan.conf, just after the comments – before the threshold declarations.
sensor /sys/devices/platform/coretemp.0/temp1_input sensor /sys/devices/platform/coretemp.0/temp2_input sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
Finally, start Thinkfan.
sudo /etc/init.d/thinkfan start
And.. Enjoy the silence
Heads up for the people who led me to the solution: