2009-12-03 22:42

Certains Thinkpads, dont le T43, ont plusieurs problèmes de chaleur et de ventilation.

Sur une installation Linux par défaut, le processeur de mon T43 fait 46°C en moyenne, et le GPU 49°C pour une température extérieure de 19°C.

L’algorithme de gestion du ventilateur par le BIOS est très mauvais, si bien qu’après un démarrage à froid, le ventilateur se met à tourner sans arrêt après quelques minutes d’utilisation.

Fort heureusement, il est possible d’utiliser des programmes pour prendre le contrôle du ventilateur à la place du BIOS.

Pour commencer, le module thinkpad_acpi doit nous autoriser à changer la vitesse du ventilo :

# vi /etc/modprobe.d/thinkpad.conf
options thinkpad_acpi fan_control=1 experimental=1

Au choix, vous pouvez recharger le module, ou relancer votre système.

# rmmod thinkpad_acpi
# modprobe thinkpad_acpi

Vous pouvez désormais prendre le contrôle de votre ventilo :

# cat /proc/acpi/ibm/fan
# echo level 0 > /proc/acpi/ibm/fan
# echo level 7 > /proc/acpi/ibm/fan # pleine puissance !!
# echo level auto > /proc/acpi/ibm/fan # retour à la normale, on laisse le BIOS prendre la main

Maintenant, rendez-vous ici et copiez le contenu du script dans /usr/local/bin/tp-fancontrol.

# mv index.php /usr/local/bin/tp-fancontrol
# chmod a+x /usr/local/bin/tp-fancontrol

Ensuite, pour tester le script :

# tp-fancontrol
# tp-fancontrol -s 5 # pour un ventilo qui démarre plus tard

Afin de lancer le script au démarrage, on récupère aussi, sur la même page, le script tp-fancontrol.init.debian. On l’ajoute au démarrage du système.

# 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 : on peux aussi n'ajouter que les liens "start"

La touche finale est de modifier le script afin de changer les seuils minimum de déclenchement du ventilateur, de manière à ce qu’il se déclenche plus tard quand le système commence à chauffer :

# vi /usr/local/bin/tp-fancontrol
MIN_THRESH_SHIFT=5
INTERVAL=10 # on peut aussi augmenter l'intervalle de mise à jour de la vitesse

Une augmentation de 5 secondes permet au ventilateur de redevenir silencieux quand l’ordinateur ne fait plus rien.

Références :

2009-12-03 22:42 · Tags: , ,

7 Comments

  1. 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.

    Répondre

  2. 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)

    Répondre

  3. 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 ?

    Répondre

  4. Moi j’utilise le script sans thinkpad.conf. Sans thinkpad.conf, les valeurs par défaut sont utilisées.
    Qu’est-ce qui coince ?

    Répondre

  5. 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).

    Répondre

  6. 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

    Répondre

  7. 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 !

    Répondre

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>