web-dev-qa-db-fra.com

Le contrôle de thinkfan n'utilise pas le potentiel du ventilateur au besoin

Je possède un Thinkpad x201 et surchauffe très rapidement en raison de la température ambiante et finit par se tuer sans préavis (et cela m’en fait vraiment perdre la raison).

Dehors, il fait 34 ° C tandis que l’ordinateur monte en température à 80 ° C sans tâches importantes et atteint (avec 1 degré par seconde) à 100 ° C avec une tâche plus lourde.

J'ai suivi une directive pour démarrer le ventilateur plus tôt afin qu'il maintienne une température constante ou lorsqu'il est à une température critique pour utiliser la vitesse maximale, tout en conservant les valeurs automatiques.

Les aspects techniques

La ressource que j'ai utilisée se trouve ici: http://staff.science.uva.nl/~kholshei/thinkfan_guide/

J'ai ajusté les valeurs pour que le ventilateur démarre à des températures plus basses commençant de 0 à 20 degrés pour le niveau 0 et ainsi de suite.

Ma configuration pour /etc/thinlfan.conf est:

$ tail -n 15 /etc/thinkfan.conf

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, 21)
(1, 20, 22)
(2, 21, 25)
(3, 24, 28)
(4, 26, 33)
(5, 30, 40)
(6, 36, 49)
(7, 44, 62)
(128, 60, 65)
(129, 63, 100000)

Les deux dernières valeurs sont expérimentales.

quand je cours:

$ Sudo thinkfan -n

WARNING: Using default fan control in /proc/acpi/ibm/fan.

quand je cours:

$ echo level disengaged | Sudo tee /proc/acpi/ibm/fan 

Le ventilateur tourne à aprox. 6500 tr/min qui est réellement efficace (la température baisse lentement) mais il reste à ce niveau pendant environ 5 secondes après son retour en mode automatique.

Ma question est la suivante: comment puis-je régler manuellement la vitesse du ventilateur à son plein potentiel en ces chaudes journées/Comment puis-je ajuster les valeurs pour que la température ne monte pas autant?

Aujourd'hui, c'est la première fois que j'essaie cela, alors ne vous attendez pas à ce que je sache ce que je peux essayer d'autre que de définir un travail cron qui fixerait le niveau à chaque seconde - ce qui est une idée fausse.

Et la dernière chose: je ne peux pas me permettre d’arrêter de travailler et le plus important est que je préfère changer le ventilateur de temps en temps plutôt que le processeur.

Merci pour votre aide et votre compréhension, si vous avez besoin de tout autre détail, faites le moi savoir.

Oh ... voici mon lsb_release:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 13.10
Release:        13.10
Codename:       saucy

... et uname:

$  uname -r      
3.11.0-23-generic
6
Tiberiu C.

Je l'ai utilisé dans mon Lenovo Thinkpad x220 (il s'agit d'une réponse mise à jour relative aux systèmes avec systemd

Sudo -i
  • installer thinkfan

    apt install thinkfan
    
  • configurer le module du noyau

    echo "options thinkpad_acpi fan_control=1" > /etc/modprobe.d/thinkfan.conf
    
  • recharger le module du noyau

    modprobe thinkpad_acpi
    
  • configurer la configuration par défaut de thinkfan

    sed -i 's|START=no|START=yes|' /etc/default/thinkfan
    sed -i 's|DAEMON_ARGS="-q"|DAEMON_ARGS="-q -b 1 -s 15"|' /etc/default/thinkfan
    
  • Vérifiez vos capteurs

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

et voici le résultat dans mon Lenovo Thinkpad x220:

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
  • écrire dans /etc/thinkpad.conf sur la base des résultats ci-dessus

    tp_fan /proc/acpi/ibm/fan
    hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
    (0,     0,      40)
    (1,     32,     55)
    (2,     54,     66)
    (3,     65,     76)
    (4,     75,     80)
    (5,     78,     85)
    (6,     82,     88)
    (7,     85,     32767)
    
  • Activez le service pour qu’il soit automatiquement lancé à chaque démarrage et suppression de privilèges.

    systemctl enable thinkfan
    exit
    
  • Redémarrez votre ordinateur portable

    systemctl enable thinkfan
    
  • Après le redémarrage, vérifiez le service

    systemctl status thinkfan.service
    

le résultat sera comme ça:

● thinkfan.service - simple and lightweight fan control program
   Loaded: loaded (/lib/systemd/system/thinkfan.service; enabled; vendor preset: enabled)
   Active: active (running) since Jum 2016-10-07 20:09:30 WIB; 28min ago
  Process: 2494 ExecStart=/usr/sbin/thinkfan (code=exited, status=0/SUCCESS)
 Main PID: 2496 (thinkfan)
   CGroup: /system.slice/thinkfan.service
           └─2496 /usr/sbin/thinkfan

Okt 07 20:09:30 thinkpad-x220 systemd[1]: Starting simple and lightweight fan control program...
Okt 07 20:09:30 thinkpad-x220 thinkfan[2494]: thinkfan 0.9.1 starting...
Okt 07 20:09:30 thinkpad-x220 thinkfan[2494]: Daemon PID: 2496
Okt 07 20:09:30 thinkpad-x220 systemd[1]: Started simple and lightweight fan control program.
5
isandroid

Essayez cette configuration, cela fonctionne bien sur un Lenovo ThinkPad L512/L520:

Installez thinkfan

Sudo apt-get install -y thinkfan

Configurer les modules du noyau

echo "options thinkpad_acpi fan_control=1" > /etc/modprobe.d/thinkpad_acpi.conf

Recharger le module du noyau

modprobe -r thinkpad_acpi && modprobe thinkpad_acpi

Configurez thinkfan

Sudo sed -i 's|START=no|START=yes|' /etc/default/thinkfan
Sudo sed -i 's|DAEMON_ARGS="-q"|DAEMON_ARGS="-q -b 1 -s 15"|' /etc/default/thinkfan

cat <<EOF> /etc/thinkfan.conf
hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input
(0, 0,  65)
(1, 65, 70)
(2, 70, 75)
(3, 75, 80)
(4, 80, 85)
(5, 85, 90)
(7, 90, 32767)
EOF

Redémarrez le démon thinkfan

/etc/init.d/thinkfan restart
4
panticz.de

Après quelques recherches, voici comment j'ai réussi à le faire fonctionner comme je le souhaitais.

Seuils de température personnalisés - configuration de la vitesse du ventilateur

J'ai installé thinkfan d'apt (pour être honnête, je ne me souviens plus s'il était déjà installé ou non: -S)

Pour être sûr de vérifier si vous avez un processus nommé thinkfan

CLI:

ps -ef | grep thinkfan

et si ce n'est pas là installez-le avec

CLI:

Sudo apt-get install thinkfan 

Sa configuration est située à /etc/thinkfan.conf

La température de cartographie - vitesse est définie comme dans l'extrait suivant:

...
(0, 0, 21)
(1, 20, 22)
(2, 21, 25)
...

Chaque groupe définit les valeurs suivantes (niveau, température minimale, température maximale). Une autre règle est que les groupes doivent se chevaucher.

Le niveau est défini comme un entier et non comme une chaîne, comme je le pensais initialement, comme ceci:

  • 0 - 7 - huit points de niveau de 0 à ~ 4200 tr/min
  • 126 - vitesse maximale
  • 127 - désengagé ~ 6900 tr/min

Ma configuration dans /etc/thinkfan.conf ressemble maintenant à ceci:

(0, 0, 21)
(1, 20, 22)
(2, 21, 25)
(3, 24, 28)
(4, 26, 33)
(5, 30, 40)
(6, 36, 49)
(7, 44, 52)
(126, 50, 59)
(127, 57, 100000)

Les valeurs pour les températures sont plus ou moins calculées à partir des graphiques de psensor , ce qui montre très clairement que j'ai un ventilateur inefficace, mais je pense que c'est normal étant donné que l'ordinateur portable est assez ancien.

1
Tiberiu C.