Comment contrôler la vitesse du ventilateur?

178

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

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

grizwako
la source
1
Je mets la solution simple cron pour les cartes ATI ici askubuntu.com/a/875241/375427
Pavel Niedoba
1
Sur Linux, fancontrolest configuré avec pwmconfig. Permet watch sensorsd'observer les capteurs sous charge CPU et GPU. Utilisez ces valeurs à vide et à pleine charge pour définir MINTEMPet MAXTEMPrespectivement avec INTERVAL=1. Cela accélère vos fans en temps réel à mesure que la charge augmente. Il s'agit du refroidissement le plus actif, fournissant une base de référence pour peaufiner davantage. Exécuter pwmconfigune fois, puis éditer /etc/fancontroldirectement. Courir sudo service fancontrol restartaprès chaque tweak.
Dominic Cerisano

Réponses:

149

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 les capteurs lm

    1. Dans le type de terminal sudo sensors-detect, répondez OUI à toutes les questions OUI / non.
      (Cela risquerait d’endommager votre système ou de provoquer son crash. Pour un grand nombre de systèmes, cela n’est pas dangereux. Rien ne garantit que ce processus n’endommagera pas votre système de manière permanente. Je pense simplement que le risque d’une telle panne est vraiment très faible. Il est toujours judicieux de sauvegarder tout votre travail en cas de plantage, de blocage ou de redémarrage avant de manipuler la configuration du système. Si vous avez un doute, lisez les commentaires et essayez de chercher sur le Web et d’avoir une vue d’ensemble de haut niveau avant de tout sélectif avec votre OUI sera suffisant)
    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. Courez sudo service module-init-tools restart. Cela lira les modifications que vous avez apportées à l' /etc/modulesétape 3 et insérera les nouveaux modules dans le noyau.
      • Note : Si vous utilisez Ubuntu 13.04 ou supérieur, cette commande de 3ème étape devrait être remplacée par sudo service kmod start.
  3. Configurez fancontrol

    1. Dans le type de terminal 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 affiner /etc/fancontrolet utilisez sudo service fancontrol restartpour appliquer vos modifications. (Dans mon cas, je règle l'intervalle à 2 secondes.)
  4. Mettre en place le service fancontrol

    1. Courez sudo service fancontrol start. Le service fancontrol sera également exécuté automatiquement au démarrage du système.

Dans mon cas /etc/fancontrolpour le processeur que 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

voici quelques informations utiles sur les paramètres et ce qu'ils font vraiment

GrizzLy
la source
111
J'ai essayé de suivre votre guide, mais je me suis retrouvé coincé à la troisième étape avec l'erreur suivante: / usr / sbin / pwmconfig: aucun module de capteur compatible pwm n'est installé
tamale
6
J'ai eu le même problème avec pwmconfig jusqu'à ce que je course avec des capteurs de détection sudo
Gearoid Murphy
5
Que faire si sudo sensor-detect ne fournit aucun capteur? -> Désolé, aucun capteur n'a été détecté. Soit votre système ne possède pas de capteurs, soit ils ne sont pas pris en charge, soit ils sont connectés à un adaptateur I2C ou SMBus non pris en charge. Si vous découvrez quelles sont les puces présentes sur votre forum, consultez lm-sensors.org/wiki/Devices pour connaître le statut du pilote.
H3R3T1K
5
Si vous rencontrez des problèmes, vérifiez si votre dmesg contient des messages d'erreur. Dans mon cas, les dernières modifications apportées au noyau m'ont empêché de charger le pilote nécessaire et j'ai dû ajouter des acpi_enforce_resources=laxoptions à mon noyau pour récupérer l'ancienne fonctionnalité. Voir aussi: goo.gl/tUcr36
bukzor
19
J'ai essayé ceci et je ne peux pas aller plus loin que sudo pwmconfig, car je reçois: "Aucun module de capteur compatible pwm n'est installé". C'est après que la commande de détection de capteurs trouve un «capteur thermique numérique Intel». J'ai aussi essayé ce paramètre de noyau. Quelqu'un peut-il proposer une solution?
Sman789
44

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

Le thinkfanlogiciel est disponible dans les référentiels 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 s'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 les chemins complets 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ésengagé", 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)
Kris
la source
2
Un commentaire: vous voulez avoir un plus grand chevauchement des valeurs de température comme dans le tableau commenté. Surtout dans la gamme 45-55. Sinon, la vitesse du ventilateur continue de basculer. C'est très dérangeant. (Le bruit constant des ventilateurs ne gêne pas autant que les bruits de fluctuation.)
HongboZhu
1
Nous (la communauté linux) sommes vraiment nuls chez UX. :( Le réglage de la vitesse d'un ventilateur ne devrait pas être un processus en 10 étapes.
Alexander
2
@ Alexander Si cela vous tient à cœur, vous êtes libre d'écrire et de maintenir un petit programme pour automatiser ce processus.
Kris
1
@Kris Je serais plus enclin à modifier le programme d'origine pour ne pas avoir un processus de configuration aussi absurde. Hélas, je n'ai pas de thinkpad, je passais juste à côté de cet article à la recherche d'options de contrôle des ventilateurs disponibles.
Alexandre
/etc/modprobe.d/thinkfan.conf n'existe pas dans mon Ubuntu 14.04. Et maintenant?
Youda008
14

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
morhook
la source
2
J'ai Dell XPS 14 L421X. <code> capteurs </ code> n'affichait aucun fan. Après avoir installé le package i8kutils, je reçois des capteurs coretemp-isa-0000 Adaptateur: adaptateur ISA Identifiant physique 0: + 54,0 ° C (élevée = + 87,0 ° C, critique = + 105,0 ° C) Noyau 0: + 50,0 ° C (élevé = + 87,0 ° C, critique = + 105,0 ° C) Noyau 1: + 52,0 ° C (forte = + 87,0 ° C, critique = + 105,0 ° C) i8k-virtual-0 Adaptateur: Périphérique virtuel Ventilateur de droite: 0 tr / min CPU: + 55.0 ° C
philcolbourn 20/01/2017
Est-ce que cela fonctionne pour HP?
Joueur Immortel
1
@ immortel-player, je pense que ce ne sera pas le cas. Le module de noyau est spécialement conçu pour les machines Dell.
morhook
Peut-être ajouter que pour Apple il y a macfanctldet mbpfanpour ThinkPad, il y athinkfan
rubo77
7

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 conforme à ACPI, mais il semble que la plupart des fournisseurs de cartes mères ne se donnent pas la peine de suivre la norme.

psusi
la source
12
Pouvez-vous fournir des instructions plus détaillées sur la façon de les installer et de les utiliser?
Stefano Palazzo
Vous pouvez le trouver dans la page de manuel ou sur www.lm-sensors.org.
Psusi
40
Je sais, je pensais juste que cette réponse pourrait être meilleure :)
Stefano Palazzo
Le lien que @psusi a donné ne fonctionne pas, le nouveau lien est ici: github.com/groeck/lm-sensors
Svetlana Belkin
1
Je pense que vous avez un nom d'utilisateur mal orthographié.
markroxor
3

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

Installer

Les instructions sont valables ci - dessous pour tout ThinkPad qui a les /proc/acpi/ibm/fanet /proc/acpi/ibm/thermalpériphériques « anciens ». Cela évite d'avoir à installer le lm-sensorspaquet.

Cependant, vous pouvez toujours installer lm-sensorspour 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 thinkfanmaintenant peut fonctionner avec des lm-sensorscapteurs, il n’est plus spécifique aux ordinateurs IBM / Lenovo ThinkPad, mais vous man thinkfantrouverez des informations actualisées 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 thinkfanservice 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-vous /etc/thinkfan.confavec les bons pointeurs aux périphériques et aux niveaux de ventilation 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-le 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 CPU (et interrompez-le avec Ctrl+ Csi quelque chose dans la gestion thermique ne fonctionne pas comme prévu):

    sudo apt install stress-ng
    stress-ng --cpu-1
    
Tanius
la source
1
Impressionnant. Cela l'a résolu pour mon T490 avec Pop_OS 19.04. Le ventilateur continue de fonctionner, mais pas tout le temps.
Nitai le
1
Les appareils ThinkPad récents n’en ont pas /proc/acpi/ibm/thermal, il est donc nécessaire de faire un travail supplémentaire pour ce cas (répertorié de manière pratique sur cette magnifique page ThinkWiki en allemand). Il semble que cela fonctionne pour moi, alors je peux mettre à jour votre réponse ou en créer une autre. Merci!
Cliff il y a
1

Essayez de regarder dans la configuration UEFI (ou la configuration du BIOS) de votre PC. Il pourrait y avoir un cadre pour le contrôle du ventilateur où vous pouvez mettre votre ventilateur dans Silent Mode, Performance Mode, Full Speed, Customize, etc.

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

Configuration UEFI ASRock pour le contrôle du ventilateur

xjcl
la source
C'est AskUbuntu pas AskUEFI :)
Maarten