Mise à jour : ?
Généralement, le pilotage du ou des ventilateurs d'un PC portable sont pris en charge par le bios et il est préférable de ne pas intervenir sur cette régulation. Il est néanmoins possible et intéressant, dans un cadre de maintenance, de pouvoir connaître la température et la vitesse de rotation du ou des ventilateurs. C'est cet objectif qui est décrit ici dans le cas d'un portable Asus N55SL et Dell Latitude M4600.
Sommaire
dmidecode et dmesg apportent quelques informations, variables selon l'ordinateur
Par exemple dans le cas d'un PC Asus N55 SL :
$ sudo dmidecode -t connector |grep -i fan
Internal Reference Designator: J2G1 - CPU Fan # Commande de pilotage du ventilateur CPU
Internal Reference Designator: J4C1 - FAN PWR # Alimentation ventilateur
$ sudo dmesg |grep -i fan
[ 0.000000] Build-time adjustment of leaf fanout to 64.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=16
[ 7.926787] asus_wmi: Number of fans: 1
L'affichage de la vitesse et de la température du ou des ventilateurs nécessite la présence des modules
asus-wmi / asus-nb-wmi pour les PCs Asus
i8k (module spécifique) pour les PCs Dell
etc....
Si le module n'est pas chargé automatiquement, par exemple le module i8k, le charger
temporairement, avec modprobe
$ sudo modprobe i8k
ou automatiquement (à partir du prochain redémarrage), en créant un fichier i8k.conf et en mettant à jour initramfs
$ echo "Module de gestion ventilateur Dell" | sudo tee /etc/modules-load.d/i8k.conf
$ echo i8k | sudo tee| -a /etc/modules-load.d/i8k.conf
$ sudo update-initramfs -u
$ sudo find /sys -name fan*
/sys/devices/platform/asus-nb-wmi/hwmon/hwmon1/fan1_input
/sys/devices/platform/asus-nb-wmi/hwmon/hwmon1/fan1_label
Les informations sont donc situées dans le dossier
/sys/devices/platform/asus-nb-wmi/hwmon/hwmon1/
dont le contenu est
$ ls /sys/devices/platform/asus-nb-wmi/hwmon/hwmon1/
device fan1_label power pwm1_enable temp1_input
fan1_input name pwm1 subsystem uevent
fan1_input et temp1_input sont respectivement la vitesse du ventilateur (en t/min) et la température (en millième de °C) :
$ cat /sys/devices/platform/asus-nb-wmi/hwmon/hwmon1/fan1_input
2600
$ cat /sys/devices/platform/asus-nb-wmi/hwmon/hwmon1/temp1_input
47000
Les informations se trouvent dans le dossier /sys/devices/virtual/hwmon1/ :
$ sudo find /sys -name fan*
/sys/devices/virtual/hwmon/hwmon1/fan1_input
/sys/devices/virtual/hwmon/hwmon1/fan1_label
/sys/devices/virtual/hwmon/hwmon1/fan2_input
/sys/devices/virtual/hwmon/hwmon1/fan2_label
fan1_input, fan2_input, .... sont respectivement les vitesses des ventilateurs 1 et 2.
lm-sensors permet d'afficher commodément les différents capteurs présents dans sysfs.
$ sudo aptitude install lm-sensors
Il n'est pas nécessaire d'effectuer la détection des capteurs (sensors-detect) dans la mesure où les modules des capteurs sont déjà identifiés et chargés
La commande sensors affiche les données de tous les capteurs. Extrait de l'affichage correspondant à la ventilation :
Cas d'un PC Asus
$ sensors
....
asus-isa-0000
Adapter: ISA adapter
cpu_fan: 2600 RPM
temp1: +50.0°C
.....
Cas d'un PC Dell (module i8k)
$ sensors
.....
i8k-virtual-0
Adapter: Virtual device
Left Fan: 0 RPM
Right Fan: 0 RPM
CPU: +50.0°C
temp2: +44.0°C
temp3: +41.0°C
temp4: +42.0°C
.....
L'option -u permet d'afficher les données brutes avec le nom du capteur tel qu'utilisé dans sysfs
$ sensors -u
....
asus-isa-0000
Adapter: ISA adapter
cpu_fan:
fan1_input: 2600.000
temp1:
temp1_input: 49.000
....
Le greffon xfce4-sensors-plugin reprend les informations capteurs disponibles dans le sysfs et permet de les afficher dans la barre de menus. Pour afficher les informations relatives au(x) ventilateur(s) :
Installer le paquet
$ sudo aptitude install xfce4-sensors-plugin
Puis le greffon
Un clic droit sur le greffon donne accès à un menu déroulant, sélectionner Préférences pour définir les paramètres à afficher. Cliquer dans la zône Type de capteurs et rechercher celle correspondant au(x) ventilateur(s)
psensor permet d'enregistrer la température et la vitesse du processeur en fonction de la charge du processeur et d'autres données.
Installer psensor
$ sudo aptitude install psensor
Le lancer et sélectionner les paramètres d'affichage, par exemple vitesse et température ventilation, charge processeur
Dans l'exemple ci-dessous, on a fait croître progressivement la charge processeur à l'aide du programme stress. On voit que la température maximale préconisée pour le processeur (86°C) a été dépassée de 3°C pour une charge (moyenne) processeur de 55%, malgré la ventilation fonctionnant à 4000 tr/min (valeur maximale?).
La ventilation seule n'est donc pas capable d'éviter de dépasser la température maximale du processeur et l'utilisation d'un gestionnaire de puissance et température maximale est donc intéressante : voirThermald.