THINKFAN.CONF(5) | File Formats Manual | THINKFAN.CONF(5) |
NOM¶
thinkfan.conf — Le fichier de configuration de thinkfan(1) au format YAML
DESCRIPTION¶
YAML est un format très puissant, mais concis, pour définir des données structurées. Sa spécification complète est disponible à https://yaml.org/spec/1.2/spec.html. thinkfan(1) n’utilisant qu’une petite partie de la syntaxe de YAML, il pourra être bénéfique, mais pas absolument nécessaire pour les utilisateurs de jeter un coup d’œil à cette spécification.
La chose la plus importante à remarquer est que l’indentation fait partie de la syntaxe. En particulier, les tabulations ne doivent pas être mélangées avec des espaces. Nous recommandons l’utilisation de deux espaces pour l’indentation, comme montré ci-après.
La configuration de thinkfan(1) est organisée en trois sections principales :
- sensors:
- Cette section indique les emplacements à partir desquels les températures devront être lues. Tous les pilotes de style hwmon sont pris en charge, ainsi que /proc/acpi/ibm/thermal et, en fonction des options de compilation, libatasmart (pour lire les températures directement au niveau des disques durs) et NVML (à l’aide du pilote nvidia propriétaire).
- fans:
- Cette section indique les ventilateurs qui peuvent être gérés (seulement un actuellement). La prise en charge de plusieurs ventilateurs est actuellement en développement et planifiée pour une future version. /proc/acpi/ibm/fan et les contrôles PWM de style hwmon peuvent être utilisés.
- levels:
- Cette section permet de spécifier les correspondances température/vitesse de rotation de ventilateur. Une « correspondance simple » ne spécifie qu’une température pour les limites inférieure et supérieure (respectivement) et une vitesse de rotation de ventilateur donnée. Dans une « correspondance détaillée », les limites inférieure et supérieure sont spécifiées pour chaque pilote/capteur configuré dans la section sensors:. Ce mode doit être utilisé lorsque thinkfan(1) contrôle plusieurs dispositifs qui peuvent tolérer des échauffements différents.
Chacune de ces sections doit contenir une liste de paires clé/valeur, chacune de ces dernières configurant un pilote de capteur, un pilote de ventilateur ou une correspondance température/vitesse de rotation de ventilateur.
PILOTES DE CAPTEUR ET DE VENTILATEUR¶
Pour que thinkfan(1) puisse fonctionner, il doit tout d’abord savoir quels pilotes de capteur de température et quels pilotes de ventilateur il doit utiliser. Les correspondances entre températures lues et vitesses de rotation des ventilateurs sont spécifiées dans une section de configuration particulière (voir la section VITESSES DE ROTATION DES VENTILATEURS ci-après).
Syntaxe de description des capteurs¶
Les entrées de la section sensors: peuvent spécifier des pilotes hwmon, tpacpi, nvml ou atasmart, les deux derniers devant être activés à la compilation. Le nombre d’entrées (supérieur à zéro) et de combinaisons de pilotes hwmon, tpacpi, nvml et atasmart peut être quelconque. Il ne peut cependant y avoir qu’une seule instance de pilote tpacpi
sensors: - hwmon: chemin_hwmon name: nom_hwmon indices: liste_index correction: liste_corrections optional: booléen_erreurs_permises - tpacpi: /proc/acpi/ibm/thermal indices: liste_index correction: liste_corrections optional: booléen_erreurs_permises - nvml: id_bus_nvml correction: liste_corrections optional: booléen_erreurs_permises - atasmart: fichier_périphérique_disque correction: liste_corrections optional: booléen_erreurs_permises - ...
Syntaxe de description des ventilateurs¶
Actuellement, thinkfan prend en charge un seul ventilateur ; cette section ne peut donc contenir qu’une seule entrée. La prise en charge de plusieurs ventilateurs est actuellement en développement et planifiée pour une future version. Le ventilateur peut être du type hwmon :
fans: - hwmon: chemin_hwmon name: nom_hwmon indices: liste_index
ou tpacpi :
fans: - tpacpi: /proc/acpi/ibm/fan
Valeurs¶
- chemin_hwmon
- Les ventilateurs ou capteurs hwmon peuvent être spécifiés de trois manières :
- 1)
- Par le chemin complet d’un fichier
« temp*_input » ou
« pwm* » tel que
/sys/class/hwmon/hwmon0/pwm1 ou
/sys/class/hwmon/hwmon0/temp1_input. Dans ce cas, les
entrées « indices:
liste_index » et « name:
nom_hwmon » sont facultatives, car le chemin identifie
de manière unique un ventilateur ou capteur spécifique.
Notez que cette méthode peut poser problème lorsque l’ordre de chargement des pilotes change d’un démarrage à l’autre, car dans le nom de répertoire « hwmonX », le X reflète l’ordre de chargement. Utilisez une des méthodes 2) ou 3) pour éviter ce problème.
- 2)
- Par un répertoire qui contient un pilote hwmon spécifique, par exemple /sys/devices/platform/nct6775.2592. Notez que ce chemin ne contient pas le nom de répertoire dépendant de l’ordre de chargement « hwmonX ». Tant qu’il ne contient qu’une seule interface ou un seul pilote hwmon, il est suffisant pour spécifier l’entrée « indices: liste_index » pour indiquer à thinkfan quel capteur spécifique utiliser depuis cette interface. L’entrée « name: hwmon-name » est facultative.
- 3)
- Par un répertoire qui contient tout ou partie des pilotes hwmon, par exemple /sys/class/hwmon. Ici, les deux entrées « name: nom_hwmon » et « indices: liste_index » sont requises pour indiquer à thinkfan quelle interface sélectionner sous ce chemin et quels capteur ou ventilateur utiliser depuis cette interface.
- nom_hwmon
- Le nom d’une interface hwmon qui se trouve en général dans un fichier nommé « name ». Le nom de cette interface doit être spécifié si chemin_hwmon est un chemin de base qui contient plusieurs interfaces hwmon. Cette méthode de spécification des capteurs est particulièrement utile si le chemin complet d’une interface hwmon particulière change d’un démarrage à l’autre, par exemple suite au changement de l’ordre de chargement des modules de pilote.
- liste_index
- Une liste YAML [ X1, X2, ... ] qui spécifie quel capteur/ventilateur (respectivement) utiliser depuis une interface donnée. /proc/acpi/ibm/thermal et de nombreuses interfaces hwmon contiennent plusieurs capteurs et toutes ne sont pas associées au contrôle des ventilateurs.
- •
- Pour les entrées hwmon, cette liste est requise si chemin_hwmon ne fait pas directement référence à un fichier « tempXi_input » unique, mais à un répertoire contenant un ou plusieurs de ces fichiers. Dans ce cas, liste_index spécifie le Xi pour les fichiers « tempXi_input » qui devra être utilisé. Une interface hwmon peut aussi contenir plusieurs contrôles PWM pour les ventilateurs, auquel cas liste_index ne devra contenir qu’une seule entrée.
- •
- Pour les capteurs tpacpi, cette entrée est facultative. Si elle est omise, toutes les valeurs de température trouvées dans /proc/acpi/ibm/thermal seront utilisées.
- id_bus_nvml
- NOTA : disponible seulement si thinkfan(1) a
été compilé avec USE_NVML activée.
Il s’agit de l’identifiant de bus PCI d’une carte graphique Nvidia contrôlée à l’aide du pilote Nvidia propriétaire. Cet identifiant peut être obtenu, par exemple, à l’aide de la commande « lspci | grep -i vga ». En général, les cartes Nvidia utilisent le pilote open source nouveau qui, quant à lui, prend en charge les capteurs hwmon.
- fichier_périphérique_disque
- NOTA : disponible seulement si thinkfan(1) a
été compilé avec USE_ATASMART activée.
Le chemin complet d’un fichier de périphérique pour un disque dur qui prend en charge S.M.A.R.T. Voir aussi l’option -d dans thinkfan(1) qui empêche ce dernier de réveiller un disque en veille (du point de vue mécanique) pour lire sa température.
- liste_corrections (toujours facultatif)
- Une liste YAML qui spécifie les décalages de température pour chaque capteur utilisé par le pilote donné. À utiliser si vous souhaitez utiliser la syntaxe de niveau « simple », mais devez effectuer une compensation pour les périphériques qui supportent mal les écarts de température. Notez cependant que la syntaxe de niveau « détaillé » (c’est-à-dire permettant une configuration plus fine) est souvent le meilleur choix.
- booléen_erreurs_permises (toujours facultatif, false par défaut)
- Une valeur booléenne (yes/no/true/false) qui indique si thinkfan(1) doit accepter les erreurs de lecture depuis le capteur donné. Normalement, thinkfan(1) quitte avec un message d’erreur si la lecture de température depuis n’importe quel capteur configuré échoue. Marquer un capteur comme optionnel peut s’avérer utile pour les périphériques amovibles ou susceptibles d’être complètement éteints pour économiser de la puissance.
VITESSES DE ROTATION DES VENTILATEURS¶
La section levels: spécifie une liste de vitesses de rotation des ventilateurs avec les limites de température inférieure et supérieure associées. Si la ou les températures passent en dessous de la limite inférieure, thinkfan(1) passe au niveau précédent, et si la limite supérieure est atteinte, thinkfan(1) passe au niveau suivant.
Syntaxe simple¶
Sous la forme simplifiée, une seule température est spécifiée comme limites inférieure et supérieure pour une vitesse de rotation de ventilateur donnée. Dans ce cas, les limite_inférieure et limite_supérieure ne sont comparées qu’à la plus haute température relevée parmi tous les capteurs configurés. Toutes les autres températures sont ignorées. Ce mode convient pour les petits systèmes (comme les ordinateurs portables) où la température d’un seul périphérique (par exemple le CPU) doit être contrôlée, ou dont le comportement requis du ventilateur est suffisamment similaire pour tous les périphériques qui génèrent de la chaleur.
levels: - [ vitesse_ventilateur, limite_inférieure, limite_supérieure ] - ...
Syntaxe détaillée¶
Ce mode convient pour les systèmes plus complexes comportant des périphériques possédant des températures nominales différentes. Par exemple, de nombreux CPU et GPU modernes peuvent supporter des températures supérieures à 80 °C au quotidien, alors qu’un disque dur rendra l’âme rapidement s’il atteint de telles températures. Dans ce mode, les limites de température inférieure et supérieure sont spécifiées pour chaque capteur individuellement :
levels: - speed: vitesse_ventilateur lower_limit: [ l1, l2, ... ] upper_limit: [ u1, u2, ... ] - ...
Valeurs¶
- vitesse_ventilateur
- Les vitesses de rotation possibles diffèrent en fonction du pilote
de ventilateur utilisé.
Pour un ventilateur hwmon, vitesse_ventilateur est une valeur numérique entre 0 et 255 correspondant aux valeurs PWM acceptées par les différents pilotes du noyau.
Pour un ventilateur tpacpi sur les ThinkPad Lenovo/IBM et certains autres ordinateurs portables Lenovo (voir la section PILOTES DE CAPTEUR ET DE VENTILATEUR ci-avant), il est possible d’utiliser des valeurs numériques et des chaînes. Les valeurs numériques vont de 0 à 7. Les valeurs chaîne sont de la forme "level id_niveau" où id_niveau peut être une valeur entre 0 et 7, auto, full-speed ou disengaged. Les valeurs numériques de 0 à 7 correspondent aux vitesses de rotation de ventilateur classiques utilisées par les microprogrammes, bien que parmi ces derniers, nombreux sont ceux qui n’utilisent pas le niveau 7. La valeur "level auto" rend le contrôle au microprogramme, ce qui peut s’avérer utile si le comportement du ventilateur ne doit être modifié que pour certains intervalles de température (en général aux extrémités haute et basse de la gamme). Les valeurs "level full-speed" et "level disengaged" prennent le contrôle de la vitesse de rotation du ventilateur au microprogramme, faisant que cette vitesse augmente lentement jusqu’au maximum absolu qui peut être atteint en respectant les limites des circuits électriques. Notez que ces valeurs vont faire tourner le ventilateur à une vitesse en dehors de ses spécifications et accroitre l’usure, mais qu’elles peuvent aider à contrer les problèmes de dépassement de température.
- l1, l2, ...
- u1, u2, ...
- Les limites inférieure et supérieure font référence aux capteurs dans le même ordre que celui dans lequel ces derniers ont été trouvés lors du traitement de la section sensors: (voir PILOTES DE CAPTEUR ET DE VENTILATEUR ci-avant). Pour l’entrée de premier niveau, la limite_inférieure peut être omise et pour celle du dernier niveau, la limite_supérieure peut être omise. Pour tous les niveaux intermédiaires, les limites inférieures doivent chevaucher les limites supérieures du niveau précédent pour être sûr que toute la gamme de température soit couverte et que quelque hystérésis existe entre les niveaux de vitesse.
VOIR AUSSI¶
La page du manuel de thinkfan : thinkfan(1) Exemples de configuration fournis avec la distribution source, aussi disponibles à : https://github.com/vmatare/thinkfan/tree/master/examples La documentation de l’interface utilisateur de Linux hwmon : https://www.kernel.org/doc/html/latest/hwmon/sysfs-interface.html La documentation de l’interface de thinkpad_acpi : https://www.kernel.org/doc/html/latest/admin-guide/laptops/thinkpad-acpi.html
BOGUES¶
Signalez les bogues sur le système de suivi des problèmes de github : https://github.com/vmatare/thinkfan/issues
TRADUCTION¶
La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@univ-lorraine.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
Décembre 2021 | thinkfan 1.3.1 |