Some Thinkpads, like the T43, have several heat and fan problems.
On a default Linux installation, my T43 processor is at about 46°C, and the GPU at about 49°C, for an external temperature of 19°C.
The BIOS fan management algorithm is very bad. After a cold boot, the fan starts running non stop after a few minutes of use.
Fortunately, it is possible to use programs to take control of the fan in place of the BIOS.
To start, the thinkpad_acpi module must allows us to change the fan speed:
# vi /etc/modprobe.d/thinkpad.conf options thinkpad_acpi fan_control=1 experimental=1
Your choice to reload the module or reboot your system.
# rmmod thinkpad_acpi # modprobe thinkpad_acpi
Now you can take control of your fan:
# cat /proc/acpi/ibm/fan # echo level 0 > /proc/acpi/ibm/fan # echo level 7 > /proc/acpi/ibm/fan # full speed !! # echo level auto > /proc/acpi/ibm/fan # back to normal, BIOS management
Now go here and copy the content of the script in /usr/local/bin/tp-fancontrol.
# mv index.php /usr/local/bin/tp-fancontrol # chmod a+x /usr/local/bin/tp-fancontrol
Then, test the script:
# tp-fancontrol # tp-fancontrol -s 5 # for a fan that starts later
In order to start the script at boot, we also fetch the tp-fancontrol.init.debian script on the same page. We add it at the system boot.
# mv index.php /etc/init.d/tp-fancontrol # chmod a+x /etc/init.d/tp-fancontrol # vi /etc/init.d/tp-fancontrol DAEMON=/usr/sbin/fancontrol # /etc/init.d/tp-fancontrol start # /etc/init.d/tp-fancontrol stop # update-rc.d tp-fancontrol defaults # note: only adding "start" scripts is also possible
The final touch is to edit the script to change the minimum fan triggering tresholds, so that the fan starts later when the system begins to heat:
# vi /usr/local/bin/tp-fancontrol MIN_THRESH_SHIFT=5 INTERVAL=10 # you can also increase the speed update interval
A 5 seconds increase allows the fan to become quiet again when the computer activity is low.
References:



salut,
j’ai un pc (lenovo 3000 / N100) avec une debian lenny dessus, un noyau tout récent, et mon ventilo tourne presque tout le temps, il vibre, même, c’est trop chiant…
alors je me demandais si qqchose d’équivalent à ce que vous expliquez pour un thinkpad (sachant que les laptops lenovo sont un peu des thinkpads, nan ?) pouvait se faire sur mon ordi.
j’ai jeté un oeil dans le Bios et j’ai l’impression qu’on peut rien modifier pour le ventilo.
là, le ventilo se lance dès 48°, j’aimerais qu’il se lance autour de 60°, pas avant, sinon c’est insupportable.
vous en pensez quoi ?
merci.
Oui, si ton Lenovo est fait de la même manière que mon T43, l’algorithme de contrôle du ventilo par le BIOS est très mauvais, ce qui fait que le ventilateur se déclenche bien trop tôt.
Essaie le script tp-fancontrol comme indiqué ci-dessus, en mettant la valeur MIN_THRESH_SHIFT=10. De cette manière, le ventilo se déclenchera à 60° de CPU. (Note : les seuils de déclenchement sont indiqué au début du script tp-fancontrol)
Merci pour le conseil, mais j’ai l’impression que pour mettre en place le script, il me faut au minimum un “thinkpad.conf”, ou un équivalent, ce que je ne trouve pas dans ma config’…
Que puis-je faire ?
Moi j’utilise le script sans thinkpad.conf. Sans thinkpad.conf, les valeurs par défaut sont utilisées.
Qu’est-ce qui coince ?
Alors le souci, c’est que mon noyau ne propose pas le module “thinkpad_acpi”. Et il semble que sur Debian ça n’existe plus dans les derniers noyaux (j’ai 2.6.30-bpo.2-686, bien que ma distrib’ soit une lenny).
Heu, c’est pas une compilation maison ce noyau ?
Sous lenny, la version linux officielle est la 2.6.26.
à mon avis il manque un module dans la compilation.
Le module est bien présent dans le linux standard de lenny :
http://packages.debian.org/lenny/i386/linux-image-2.6.26-2-486/filelist
En fait il ne manque pas le module, le “thinkpad_acpi” est bien là:
http://packages.debian.org/lenny-backports/i386/linux-image-2.6.30-bpo.2-686/filelist
Mais après qques recherches / tests, mon laptop n’est pas considéré comme un Thinkpad et l’interface de gestion du ventilateur n’est pas prise en charge par ce module-là.
Je vais essayer de trouver d’autres pistes… Merci pour ton aide en tout cas !