Niveau :      
Résumé : sensors-detect ; sensors; hddtemp; fancontrol

Sensors

Comment connaître les différentes températures à l'intérieur de votre machine ? Il y a des capteurs, donc il y a bien une information quelque part. Linux a tous les drivers nécessaires, mais pour ceux qui se sont essayé à regarder, c'est difficile de savoir qui sert à quoi. Heureusement, il y a lm-sensors pour venir à notre secours.

Pour avoir la liste de tous les capteurs disponibles sur la machine ainsi que les driver linux associés à charger, il existe une commande toute simple une fois le paquet lm-sensors installé :

$ sensors-detect

Cette commande scanne le matériel, vous pose une question ou deux et termine en vous listant les modules noyau à charger pour pouvoir obtenir les valeurs. Deux choses à faire :

# On charge le(s) module(s)
$ modprobe lemodule
# Et on automatise ça pour le prochain reboot
$ echo lemodule >> /etc/modules

Et voilà, il ne vous reste plus qu'à lire les valeurs. Pour cela, vous avez plusieurs outils :

# lecture simple des valeurs en mode texte
$ sensors 
# lecture avec interface graphique (ne marche pas chez moi)
$ xsensors

Ou les traditionnelles applet qu'on peut trouver sur gnome, kde, gkrellm, windowmaker ...

Hddtemp

Si vous voulez aussi lire la température de vos disque, il existe hddtemp du paquet éponyme. Celui-ci marche directement en ligne de commande :

# Il faut être root
$ hddtemp /dev/sda

Il existe aussi en mode démon, une fois installé, modifiez /etc/default/hddtemp (debian) et relancez le démon :

$ /etc/init.d/hddtemp restart
# vérifions qu'il marche
$ telnet localhost 7634

Et voila, il ne vous reste plus qu'a ajouter le disque dur dans l'applet.

Attention, l'applet de gnome nécessite d'être redémarrée pour détecter hddtemp.

Fancontrol

C'est la fête, passons maintenant aux ventilateurs. Vous avez déjà remarqué que vous pouvez avoir la vitesse de rotation dans vos applet. Ajoutez la au moins temporairement, ça peut vous être utile pour la suite.

En effet, nous n'allons pas seulement lire la vitesse des ventilateurs, mais nous allons la modifier. Pour ceux qui veulent regarder sous le capot, tout cela se trouve dans /sys/devices/platform/<sensordriver>/

Fancontrol est un paquet qui contient deux choses : un script permettant de régler automatiquement la vitesse de rotation des ventilateurs et un outil permettant de le configurer sans se forcer.

Pour utiliser fancontrol, il faut avoir des sensors opérationnels. Gardez de préférence un oeil sur votre applet pour éviter les débordements de température et pour savoir quoi répondre au script.

$ pwmconfig

Ce script vous pose plein de questions, arrête les ventilateurs, les relance, les ralentit ... dans le but de savoir quel ventilateur fait quoi, à quel capteur de température on peut l'associer et comment il marche. Sachez au passage que les processeurs acceptent des températures assez élevées, pas besoin de les forcer à 40°C, vous économiserez du bruit. Regardez la doc de votre fabricant si vous voulez un avis sérieux.

Le script pose 2 questions difficiles à comprendre

  • MINSTART est la valeur de configuration au dessus de laquelle le ventilateur commence à tourner
  • MINSTOP est la valeur de configuration au dessous de laquelle le ventilateur s'arrête de tourner

De façon générale, MINSTOP doit être supérieur à MINSTART (hystérésis), mais les valeurs sont assez proches. Vous pouvez aussi choisir ces valeurs par rapport à ce que vous entendez plutôt qu'à la vitesse réelle de rotation.

Une fois le tout configuré :

$ /etc/init.d/fancontrol start

Et écoutez ce silence en provenance de votre ventilateur. Surtout lorsque vous faites des activités peu intensives.