Comment faire fonctionner le contrôle du ventilateur?

34

Je sais que quelque chose appelé fancontrol, qui vous permet de contrôler la vitesse de ventilation de votre système. J'aimerais permettre à mes fans de tourner un peu plus vite car mon ordinateur portable chauffe très facilement. Tous les tutoriels et tout ce que j'ai trouvé sont destinés aux anciennes versions d'Ubuntu et ne semblent plus fonctionner.

Quelqu'un peut-il m'expliquer ou me donner un bon lien sur la façon dont je peux le faire fonctionner sur Ubuntu? Quelque chose de différent avec le même effet va également bien.

RobinJ
la source
Un peu plus d’informations sur le matériel serait probablement utile, comme la marque de l’ordinateur portable, le nom / numéro de modèle et le type / version du BIOS.
Filescraps
@filescraps Dell Latitude D620: paste.ubuntu.com/699801
RobinJ
5
@RobinJ - avez-vous effectué les vérifications habituelles en cas de problème de surchauffe - recherchez les poussières et les obstructions - examinez également le dissipateur de chaleur de votre processeur. Mettez à jour votre bios avec les dernières disponibles. Avez-vous essayé d'ajouter "acpi_osi = Linux" à votre groupe? Utilisez-vous des options de démarrage supplémentaires? Fondamentalement, ce que je veux dire, c’est que les problèmes de surchauffe sont de type poussière / acpi - vous ne devriez jamais avoir à contrôler manuellement votre ventilateur.
fossfreedom
Eh bien, le ventilateur ne commence à fonctionner plus vite que lorsqu'il est à environ 65 ° C, et il semble que ce soit trop tard, car une fois qu'il commence à monter, il ne descend plus trop rapidement à 75 ° C. C'est un ordinateur portable et je ne suis pas assez en confiance avec le matériel pour le démonter. Que fait acpi_osi=Linux-il? Aucune option de démarrage supplémentaire, juste le GRUB par défaut.
RobinJ
1
@RobinJ - n'oubliez pas que le style du site Web consiste à rajouter des informations pertinentes dans votre question plutôt que de les enterrer dans des commentaires.
fossfreedom

Réponses:

8

i8kutils permet de contrôler le ventilateur de mon ordinateur portable Dell Vostro 3350.

# Pour ordinateur portable Dell uniquement:
$ sudo apt-get install i8kutils 
$ i8kfan 1 2 # Réglez le ventilateur gauche à basse vitesse (1); le droit à grande vitesse (2).
utilisateur1902715
la source
Seulement, il semble que quelque chose dans le BIOS rétablisse toujours sa valeur précédente après quelques secondes: P Quoi qu'il en soit, même s'il est un peu tardif, c'est toujours la réponse la plus utile.
RobinJ
cela fonctionne sur mon Alienware m14x. Mais il n’est toujours pas possible de régler le refroidisseur à sa vitesse maximale, ce qui oblige toujours le portable à fonctionner à des températures plus élevées. C'est beaucoup plus chaud que sous Windows ...
iLemming
Le BIOS le réinitialise donc j'ai ajouté un travail cron dans toutes les 2 min: crontab -eet */2 * * * * /usr/bin/i8kfan 1 1. fonctionne parfaitement pour l'instant
jeudi
14

Vous serez probablement en mesure de résoudre votre problème avec quelque chose d'autre en remplaçant vos commandes de ventilateur i8kctl par la méthode indiquée dans cette réponse. Pour être complet, je vais inclure quelques notes générales sur le contrôle des ventilateurs sur les ordinateurs portables Dell, ainsi que des instructions complètes pour i8kutils.

Ce qui ne fonctionnera probablement pas

Deux moyens courants et simples de contrôler le ventilateur sur les ordinateurs portables sont via ACPI et via des broches PWM, malheureusement:

  • Les ordinateurs portables Dell ne disposent pas de la capacité de contrôle du ventilateur ACPI (* 1)

    • en conséquence, essayer avec les paramètres de démarrage ACPI et autres échouera
  • Autant que je sache, les ordinateurs portables Dell Latitude ne disposent pas de ventilateurs contrôlables pwm (* 2)

    • par conséquent, le programme fancontrol/ pwmconfigne fonctionnera pas

Utilisez i8kutils

Cependant, un package appelé i8kutilsécrit pour contrôler le ventilateur des ordinateurs portables Dell Inspiron via le BIOS SMM . Plusieurs utilisateurs signalent également le succès de leurs ordinateurs portables Dell Laitude (dont je fais partie, sur un Dell Latitude E7440). Cependant, une astuce est souvent nécessaire pour se débarrasser du contrôle des ventilateurs du BIOS qui interfère. Vous en souffrez aussi selon un commentaire précédent.

Installer i8kutils:

$ sudo apt-get install i8kutils

Essayez le:

$ i8kfan 2 2     # set to max speed
$ i8kfan 0 0     # set to 0 speed

... et écoutez pour voir si ça marche.

Désactiver le contrôle du ventilateur du BIOS

Si cela fonctionne, mais que quelque chose d'autre s'oppose à la vitesse définie (rapportée par de nombreux utilisateurs d'ordinateurs portables Dell Latitude), cela est dû au fait que des sessions SMM planifiées définissent la vitesse du ventilateur. Heureusement, il existe un moyen de désactiver le contrôle du ventilateur du BIOS en écrivant dans les registres SMM .

Attention: voir l'avertissement en haut de smm.c. Cette méthode écrira dans les registres SMM. Cependant, je n'ai vu aucun rapport d'utilisateur sur ce problème. En outre, tous les rapports sur ces tentatives ont indiqué que le contrôle du ventilateur du BIOS avait été désactivé.

i8kutilsinclut la source d'un programme smmmais le i8kutilspaquet n'inclut pas le binaire compilé. Nous allons télécharger le code source i8kutils, compiler le programme smmet l'exécuter avec un argument approprié pour désactiver le contrôle du ventilateur du BIOS en écrivant dans les registres SMM.

Téléchargez les packages nécessaires à la construction:

$ sudo apt-get build-dep i8kutils

Téléchargez i8kutilsle code source, extrayez et entrez le répertoire (noms exacts selon la version de i8k):

$ apt-get source i8kutils
$ tar xvf i8kutils_1.33.tar.gz
$ cd i8kutils-1.33/

Compiler smm:

  • Si sur un système 32 bits :

    $ make
    

    (Ci-dessus sera exécuté gcc -g -O2 -Wall -I. -o smm smm.c.)

  • Si sur un système 64 bits :

    $ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
    

Exécuter smmavec un argument 30a3pour désactiver le contrôle du ventilateur SMM:

$ sudo ./smm 30a3

Maintenant, le contrôle du ventilateur du BIOS doit être désactivé. Essayez en réglant les vitesses avec i8kctl, écoutez le ventilateur et assurez-vous que la vitesse persiste.

Remarque: il s'agit d'un paramètre qui persistera les redémarrages et les mises hors tension. Le contrôle du ventilateur du BIOS peut être réactivé avec $ sudo ./smm 31a3.


* 1: J'ai vu une source officielle à ce sujet, je ne le trouve pas pour le moment. Si vous voulez vérifier que votre matériel n'en manque pas, suivez les instructions ici: https://wiki.ubuntu.com/DebuggingACPI

* 2: pour vérifier cela, exécutez pwmconfig: sudo apt-get install fancontrol, sudo pwm-confignous dira si un ventilateur de MLI compatible est présente ou non

Carl
la source
En fait, j'ai utilisé le paramètre ACPI acpi_osi='!Windows 2012'pour contrôler les ventilateurs de mon Dell Inspiron 15R 5520, car ils tournaient toujours à la vitesse maximale quelle que soit la température.
user311982
Cela devrait être la bonne réponse. C'est bien informé et très pertinent!
ppr
Très bonne réponse. On trouve également ici
Malat
1
Merci beaucoup, cela a fonctionné pour moi après avoir tout essayé en vain. Lorsque j'ai essayé de compiler smm, il me manquait sys / cdefs.h mais je l'ai sudo apt-get install g++-multilibapporté (comme indiqué à l' adresse askubuntu.com/questions/470796/… )
Philip Daniels
Je suis peut-être un peu en retard, mais y a-t-il un inconvénient à le mettre à la vitesse maximale?
Zerquix18
14

Le paquetage lm-sensors Installer des capteurs lm pourrait être ce que vous recherchez.

Et comme vous l'avez suggéré fancontrol Installer fancontrol .

Assurez-vous que tous les ventilateurs que vous essayez de contrôler via le logiciel ont le connecteur à 4 broches.

"Un ventilateur compatible PWM est généralement connecté à un connecteur à 4 broches (brochage: masse, +12 V, détection, contrôle)." la source

Quand je cours pwmconfigqui fait partie de fancontrol je reçois

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed Cela vous guidera si vous avez du matériel compatible.

Voici quelques scripts à utiliser avec ce fichier de configuration généré. Je suppose que vous pouvez définir une valeur plus élevée ici.

label fan1 "Side Fan"
set fan1_min 1000
label fan2 "PSU Fan"
set fan2_min 1000
label fan5 "CPU Fan"
set fan5_min 1000

Mais comme je l'ai dit, je ne peux pas le tester moi-même, car mon matériel ne le prend pas en charge, je peux contrôler mes fans depuis le bios, mais c'est une note 3. Je l'utilise pour garder mon ventilateur lent et silencieux.

caches
la source
1
/ usr / sbin / pwmconfig: Aucun module de capteur compatible pwm n'est installé. D'autres méthodes?
RobinJ
Vous devez généralement sensors-detectcommencer par exécuter , puis charger un module indiquant la lecture de la température et de la vitesse du ventilateur, puis pwmconfig peut le manipuler.
Psusi
@RobinJ, il apparaît que vous ne possédez pas de puce reconnue / prise en charge.
psusi
Je vais vous attribuer la prime, car c’était la réponse la plus informative qui pourrait aider la plupart des gens.
RobinJ
5

Ok, ce n’est peut-être pas la réponse que vous cherchez, mais mes problèmes de surchauffe ont été résolus. Une fois la poussière éliminée, un aspirateur a été installé sur les entrées d’aération. Si vous rencontrez une surchauffe à basses fréquences, cela peut valoir la peine d'essayer. Sachez que de petites pièces risquent d’être aspirées. Si vous avez de la chance, cette méthode pourrait vous aider à résoudre vos problèmes de surchauffe.

Ewald
la source
J'ai attribué la prime à la réponse ci-dessus, car elle était la plus informative, mais comme mon problème semble lié au matériel, votre réponse a donc été proche de la solution. Mais comme je ne suis pas assez confiant pour m'occuper du matériel de mon ordinateur portable, je l'ai apporté au magasin car il était toujours sous garantie.
RobinJ
Je viens d'essayer cela et cela a fonctionné. Merci! Mon ventilateur commençait à devenir de plus en plus fort et j'ai eu un ou deux arrêts pour cause de surchauffe. Espérons que cela a résolu le problème. Le ventilateur tourne et tourne maintenant avec une utilisation normale du processeur, ce qui est excellent (avant de rester allumé en permanence).
Cymen
@Cymen Assurez-vous que le vide est un vide antistatique, pour plus de sécurité. J'utilise une canette d'air comprimé pour nettoyer les orifices d'aération, ce que vous pouvez également faire comme alternative.
user311982
3

J'ai un Dell Latitude e4200 et ce qui suit a fonctionné pour moi parce que le BIOS remplaçait le paramètre i8kfan. La température initiale de mon ordinateur était de 105 ° F et environ 10 minutes après avoir suivi ces étapes (réglage du ventilateur = 2), le temps processeur / cœur a chuté à 96 ° F. Cette procédure a déjà été postée par quelqu'un:

Étape 1. Téléchargez et installez i8ktutils:

# sudo apt-get install i8kutils

Étape 2. Remplacez le BIOS pour l’empêcher d’interrompre les paramètres de ventilateur personnalisés. Téléchargez le code source et compilez un programme (SMM) pour cela:

# sudo apt-get build-dep i8kutils

puis:

# apt-get source i8kutils

Étape 3. Extrayez le code source et le cd dans le répertoire:

# tar xvf i8kutils_1.33.tar.gz

puis:

# cd i8kutils-1.33/

Étape 4. Compiler SMM

For 32-bit systems:

# make SMM

(Output: # gcc -g -O2 -Wall -I. -o smm smm.c.)

For 64-bit systems

# make SMM:

(Output: # gcc -g -O2 -Wall -I. -o smm -m32 smm.c)

Étape 5. Exécutez SMM avec les paramètres:

# sudo ./smm 30a3

Étape 6. Réglez les vitesses du ventilateur:

# i8kfan 2 2 (Listen as this will set fans to maximum speed)

# i8kfan 1 1 (This will set fans to slow speed)

Maintenant, le contrôle du ventilateur du BIOS ne doit pas remplacer les paramètres du ventilateur. Ce paramètre sera conservé même si le système est redémarré. Pour rendre le contrôle au BIOS pour une raison quelconque, procédez comme suit:

# sudo ./smm 31a3.

Il y a aussi un moyen de vérifier le temp en utilisant lm_sensors:

http://www.cyberciti.biz/faq/howto-linux-get-sensors-information/
utilisateur245946
la source
1
J'ai essayé ceci pour la version la plus récente de i8kutils-1.41 sur Ubuntu 14.04 et j'ai obtenu "Dans le fichier inclus dans /usr/include/stdio.h:27:0, depuis smm.c: 27: /usr/include/features.h: 374: 25: erreur fatale: sys / cdefs.h: Aucun fichier ou répertoire de ce type "Toutefois, cela résout ce problème askubuntu.com/questions/470796/…
k-den