web-dev-qa-db-fra.com

Comment contrôler la vitesse du ventilateur?

Comment puis-je contrôler la vitesse du ventilateur de l'ordinateur?

Sous Windows, il existe un merveilleux programme appelé SpeedFan .

172
grizwako

Note avant de commencer:

Cette fonctionnalité dépend à la fois de votre matériel et de vos logiciels. Si votre matériel ne prend pas en charge les commandes de vitesse des ventilateurs ou ne les affiche pas au système d'exploitation, il est très probable que vous ne puissiez pas utiliser cette solution. Si c'est le cas, mais que le logiciel (ou noyau) ne sait pas le contrôler, vous êtes sans chance.


  1. Installez les packages lm-sensors et fancontrol .
  2. Configurez lm-capteurs

    1. Dans le terminal, saisissez Sudo sensors-detect et répondez OUI à toutes les questions OUI/non.
      (Cela pourrait endommager votre système ou provoquer son crash. Pour de nombreux systèmes, cela est sans danger. Rien ne garantit que ce processus n'endommagera pas votre système de manière permanente. Il suffit de penser que le risque d’une telle défaillance critique est vraiment très faible . Il est toujours judicieux de sauvegarder tout votre travail en cas de crash, de blocage ou de redémarrage avant de gérer la configuration du système. Si vous avez des doutes, lisez les commentaires et essayez de chercher sur le Web et d’obtenir une vue d’ensemble de haut niveau avant de tout OUI, peut-être qu’être sélectif avec votre OUI suffira quand même)
    2. A la fin de la détection des capteurs, une liste des modules à charger sera affichée. Tapez "yes" pour que capteurs-detect insère ces modules dans/etc/modules, ou éditez vous-même/etc/modules.
    3. Exécutez Sudo service module-init-tools restart. Ceci lira les modifications que vous avez apportées à /etc/modules à l'étape 3 et insérera les nouveaux modules dans le noyau.
      • Remarque : Si vous utilisez Ubuntu version 13.04 ou supérieure, cette commande de la 3e étape doit être remplacée par Sudo service kmod start.
  3. Configurez fancontrol

    1. Dans le terminal, tapez Sudo pwmconfig. Ce script arrête chaque ventilateur pendant 5 secondes pour déterminer quels ventilateurs peuvent être contrôlés par le gestionnaire PWM. Une fois que le script a parcouru tous les ventilateurs, vous pouvez configurer quel ventilateur correspond à quelle température.
    2. Vous devrez spécifier quels capteurs utiliser. C'est un peu délicat. Si vous ne possédez qu'un seul ventilateur, veillez à utiliser un capteur de température pour votre noyau afin de baser la vitesse du contrôle de puissance.
    3. Suivez les invites et enregistrez les modifications dans l'emplacement par défaut.
    4. Faites des ajustements pour ajuster /etc/fancontrol et utiliser Sudo service fancontrol restart pour appliquer vos modifications. (Dans mon cas, je règle l'intervalle à 2 secondes.)
  4. Configuration du service fancontrol

    1. Exécutez Sudo service fancontrol start. Le service fancontrol sera également exécuté automatiquement au démarrage du système.

Dans mon cas, /etc/fancontrol pour CPU, j'ai utilisé:

Paramètres pour hwmon0/device/pwm2:
(Dépend de hwmon0/device/temp2_input) (contrôle hwmon0/device/fan2_input)

INTERVAL=2
MINTEMP=40  
MAXTEMP=60  
MINSTART=150  
MINSTOP=0  
MINPWM=0  
MAXPWM=255 

et sur un système différent c'est:

INTERVAL=10
DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/nct6775.2608
DEVNAME=hwmon1=coretemp hwmon2=nct6779
FCTEMPS=hwmon2/pwm2=hwmon1/temp2_input
FCFANS=hwmon2/pwm2=hwmon2/fan2_input
MINTEMP=hwmon2/pwm2=49
MAXTEMP=hwmon2/pwm2=83
MINSTART=hwmon2/pwm2=150
MINSTOP=hwmon2/pwm2=15
MINPWM=hwmon2/pwm2=14
MAXPWM=hwmon2/pwm2=255

ici est une information utile sur les paramètres et ce qu'ils font vraiment

144
grizwako

Si vous possédez un ThinkPad , il existe un logiciel appelé thinkfan qui fait exactement cela. Comme son nom l'indique, il est spécialement conçu pour les ThinkPads (thinkpad_acpi).

Le logiciel thinkfan est disponible dans les référentiels de logiciels ubuntu standard, mais sa configuration nécessite quelques étapes.

Voici un guide simple, étape par étape:

http://staff.science.uva.nl/~kholshei/thinkfan_guide/

(qui est fondamentalement une version traduite de ce guide allemand: http://thinkwiki.de/Thinkfan )


Informations pertinentes de la poste:

Étape 1. Installez le logiciel thinkfan et les capteurs:

Sudo apt-get install thinkfan lm-sensors

Étape 2. Assurez-vous que le démon contrôle le ventilateur en modifiant le fichier thinkpad.conf:

Sudo nano /etc/modprobe.d/thinkfan.conf

en ajoutant la ligne suivante:

options thinkpad_acpi fan_control=1

Étape 3. Faites le chargement automatique du démon au démarrage en modifiant le fichier:

Sudo nano /etc/default/thinkfan

en vous assurant que la touche START est définie sur oui, c’est-à-dire qu’une ligne doit indiquer:

START=yes

Étape 4. Détectez les capteurs de votre ordinateur portable:

Sudo sensors-detect

et choisissez simplement les réponses par défaut chaque fois que vous y êtes invité en appuyant sur Entrée.

Étape 5. Chargez les nouveaux modules. À partir de Ubuntu 13.10 cela a été fait par:

Sudo service kmod start

tandis que pour les versions précédentes comme 13.04 vous devrez plutôt faire:

Sudo service module-init-tools start

Étape 6. Déterminez quels capteurs sont utilisés:

sensors

(Ceux qui indiquent 0 degrés ne sont pas utilisés, je ne sais pas pourquoi ils sont "détectés" aussi). Rappelez-vous ceux qui sont utilisés.

Étape 7. Découvrez le chemin complet de ces capteurs:

find /sys/devices -type f -name "temp*_input"

Le résultat devrait être une liste de chemins comme/sys/devices/...

Étape 8. Copiez-collez les chemins d'accès aux capteurs dans le fichier de configuration /etc/thinkpad.conf. Pour ce faire, commencez par ouvrir le fichier:

Sudo nano /etc/thinkfan.conf

Il devrait déjà y avoir une ligne comme

#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) 

(le symbole # signifie que cette ligne est commentée). Ajoutez une ligne commençant par capteur (sans le symbole #) et copiez-collez le premier capteur. Répétez cette opération si vous avez plusieurs capteurs. Par exemple, sur ma machine, la sortie à l’étape 7 donne

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp3_input
/sys/devices/platform/thinkpad_hwmon/temp4_input
/sys/devices/platform/thinkpad_hwmon/temp5_input
/sys/devices/platform/thinkpad_hwmon/temp6_input
/sys/devices/platform/thinkpad_hwmon/temp7_input
/sys/devices/platform/thinkpad_hwmon/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp8_input
/sys/devices/platform/thinkpad_hwmon/temp2_input
/sys/devices/platform/coretemp.0/temp4_input
/sys/devices/platform/coretemp.0/temp2_input 

Ceux qui sont utilisés dans ma machine sont ceux de la première et des deux dernières lignes. J'ai donc ajouté les trois lignes suivantes:

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input 

Étape 9. Enfin, nous pouvons définir les niveaux de vitesse du ventilateur dans le fichier de configuration. Ouvrez le fichier /etc/thinkpad.conf s'il n'était pas déjà ouvert.

Sudo nano /etc/thinkfan.conf

Les niveaux de ventilateur que j'utilise sur mon ThinkPad x201 sont les suivants:

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767) 

La dernière ligne assure la pleine vitesse du ventilateur (127 = "désactivé", c’est-à-dire non régulé). Vous pouvez jouer avec ces niveaux pour répondre à vos besoins/souhaits, mais VEUILLEZ ÊTRE ATTENTION!

Étape 10. Redémarrez. Tout devrait fonctionner maintenant. Afin de vérifier si thinkpad fonctionne correctement, utilisez

Sudo thinkfan -n

qui commence thinkfan en mode verbeux. Vous voudrez peut-être d'abord arrêter le démon thinkfan:

Sudo /etc/init.d/thinkfan stop

Si vous souhaitez relancer le démon thinkfan, tapez:

Sudo /etc/init.d/thinkfan start

Pour terminer, mon fichier de configuration /etc/thinkfan.conf est:

# IMPORTANT:
#
# To keep your HD from overheating, you have to specify a correction value for
# the sensor that has the HD's temperature. You need to do this because
# thinkfan uses only the highest temperature it can find in the system, and
# that'll most likely never be your HD, as most HDs are already out of spec
# when they reach 55 °C.
# Correction values are applied from left to right in the same order as the
# temperatures are read from the file.
#
# For example:
# sensor /proc/acpi/ibm/thermal (0, 0, 10)
# will add a fixed value of 10 °C the 3rd value read from that file. Check out
# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
# want to add to certain temperatures.

# Syntax:
# (LEVEL, LOW, HIGH)
# LEVEL is the fan level to use (0-7 with thinkpad_acpi)
# LOW is the temperature at which to step down to the previous level
# HIGH is the temperature at which to step up to the next level
# All numbers are integers.
#

# I use this on my T61p:
#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

#(0, 0, 55)
#(1, 48, 60)
#(2, 50, 61)
#(3, 52, 63)
#(4, 56, 65)
#(5, 59, 66)
#(7, 63, 32767)


# My settings for my ThinkPad X201: (kris)

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767)
41
Kris

Pour plusieurs ordinateurs Dell, vous pouvez installer le package i8kutils:

Sudo apt install i8kutils

Si vous avez un Dell non testé (comme mon Dell XPS 14z), vous devrez peut-être forcer le chargement du module du noyau:

Sudo modprobe i8k force=1
12
morhook

Installez et configurez les packages lm-sensors et fancontrol :

Sudo apt-get install lm-sensors fancontrol

La documentation pour les configurer est disponible sur leurs pages de manuel.

Cette fonction est censée être fournie par un BIOS compatible ACPI, mais il semble que la plupart des fournisseurs de cartes mères ne se donnent pas la peine de suivre la norme.

7
psusi

Essayez de regarder dans la configuration UEFI (ou la configuration du BIOS) de votre PC. Il se peut qu’il existe un paramètre de contrôle du ventilateur dans lequel vous pouvez placer votre ventilateur dans les codes Silent Mode, Performance Mode, Full Speed, Customize, etc.

Comment accéder aux paramètres UEFI : redémarrez votre PC et la clé permettant de les saisir apparaîtra probablement dans l'un des coins (par exemple, Press F2 to enter UEFI setup)

ASRock UEFI setup for fan control

1
xjcl

Voici une version mise à jour de la réponse recommandant thinkfan , fonctionnant avec Ubuntu 19.04.

Installer

Les instructions ci-dessous s’appliquent à tous les ThinkPad dotés des périphériques "hérités" /proc/acpi/ibm/fan et /proc/acpi/ibm/thermal. Cela évite d’avoir à installer le paquetage lm-sensors.

Cependant, vous pouvez toujours installer lm-sensors pour voir plus de capteurs de température et pour obtenir un contrôle plus fin de vos ventilateurs (à savoir, en 256 étapes PWM plutôt qu'en étapes fixes "0-7 et 127" avec les appareils hérités. En outre, depuis thinkfan peut désormais fonctionner avec les capteurs lm-sensors et n'est plus spécifique des ordinateurs IBM/Lenovo ThinkPad. Reportez-vous à man thinkfan pour l'utilisation de ces capteurs "étendus". Des informations actualisées sont également disponibles dans le Thinkwiki allemand .

  1. Installez le paquet requis:

    Sudo apt-get install thinkfan
    
  2. Ajoutez la ligne suivante à /etc/modprobe.d/thinkfan.conf:

    options thinkpad_acpi fan_control=1
    
  3. Configurez le service thinkfan pour qu'il démarre automatiquement au démarrage du système:

    1. Ajouter une ligne START=yes à /etc/default/thinkfan

    2. Exécutez la commande suivante ( source ):

      Sudo systemctl enable thinkfan.service
      
  4. Adaptez /etc/thinkfan.conf avec les bons pointeurs vers les périphériques et les niveaux de ventilateur souhaités. Les commentaires fournis fournissent de la documentation. Sur tous les Thinkpad équipés des ventilateurs et des périphériques thermiques existants, les éléments suivants devraient constituer un bon point de départ (le disque dur devrait également être sûr, voir les commentaires dans le fichier pour plus d’informations). Notez que cela utilise de nouveaux mots-clés - ceux de la réponse ci-dessus sont obsolètes.

    tp_fan /proc/acpi/ibm/fan
    tp_thermal /proc/acpi/ibm/thermal
    
    (0, 0, 47)
    (1, 43, 52)
    (2, 48, 55)
    (3, 51, 58)
    (4, 54, 63)
    (5, 59, 70)
    (6, 66, 79)
    (7, 74, 92)
    (127, 85, 32767) 
    

Tester

Pour tester votre configuration (après un redémarrage), procédez comme suit:

  • Dans une fenêtre de terminal, exécutez thinkfan en mode non démonisé afin de pouvoir afficher ses messages:

    Sudo service thinkfan stop && Sudo thinkfan -n
    
  • Dans une autre fenêtre de terminal, gardez un œil sur les valeurs de température actuelles, en fournissant votre dispositif de sonde de température si différent:

    while true; do sleep 1; cat /proc/acpi/ibm/thermal; done
    
  • Dans une autre fenêtre de terminal, faites chauffer le processeur (et interrompez-le avec Ctrl + C si quelque chose dans la gestion thermique ne fonctionne pas comme prévu):

    Sudo apt install stress-ng
    stress-ng --cpu-1
    
0
tanius