Wie bekomme ich die Lüftersteuerung zum Laufen?


34

Ich weiß, dass es so etwas wie Fancontrol gibt, mit dem Sie die Geschwindigkeit der Belüftung Ihres Systems steuern können. Ich möchte meine Fans etwas schneller drehen lassen, da sich mein Laptop sehr schnell aufheizt. Alle Tutorials und Sachen, die ich gefunden habe, sind für alte Versionen von Ubuntu und scheinen nicht mehr zu funktionieren.

Kann mir jemand erklären oder mir einen guten Link geben, wie ich es unter Ubuntu zum Laufen bringen kann? Etwas anderes mit dem gleichen Effekt ist auch in Ordnung.


Etwas mehr Informationen über die Hardware würden wahrscheinlich helfen, wie die Marke des Laptops, Modellname / -nummer und BIOS-Typ / -Version.
filescraps

@filescraps Dell Latitude D620: paste.ubuntu.com/699801
RobinJ

5
@RobinJ - Haben Sie die üblichen Überprüfungen auf Überhitzungsprobleme durchgeführt? - Überprüfen Sie auf Staub / Verstopfungen? Aktualisieren Sie Ihr BIOS auf die neuesten verfügbaren. Haben Sie versucht, "acpi_osi = Linux" zu Ihrer Gruppe hinzuzufügen? Verwenden Sie zusätzliche Startoptionen? Grundsätzlich ist mein Punkt - Überhitzungsprobleme sind staub- / acpi-artige Dinge -, dass Sie Ihren Lüfter niemals manuell steuern müssen sollten.
fossfreedom

Nun, der Lüfter läuft erst bei ca. 65 ° C schneller und es scheint zu spät zu sein, denn sobald er anfängt zu steigen, geht er nicht mehr zu schnell unter 75 ° C. Es ist ein Laptop und ich bin nicht sicher genug mit Hardware, um es in etwa zu nehmen. Was macht acpi_osi=Linuxdas? Keine zusätzlichen Bootoptionen, nur der Standard-GRUB.
RobinJ

1
@RobinJ - Vergessen Sie nicht, dass der Stil der Website darin besteht, relevante Informationen wieder in Ihre Frage einzufügen, anstatt sie in Kommentaren zu verbergen.
fossfreedom

Antworten:


8

i8kutils steuert den Lüfter meines Dell Vostro 3350-Laptops.

# Nur für Dell-Laptops:
$ sudo apt-get installiert i8kutils 
$ i8kfan 1 2 # Den linken Lüfter auf niedrige Geschwindigkeit einstellen (1); der richtige bei hoher Geschwindigkeit (2).

Es sieht nur so aus, als würde etwas im BIOS es immer nach ein paar Sekunden auf den vorherigen Wert zurücksetzen: P Trotzdem, obwohl es etwas spät ist, ist es immer noch die hilfreichste Antwort.
RobinJ

es funktioniert auf meinem Alienware M14X. Es ist jedoch immer noch nicht möglich, den Kühler auf seine maximale Geschwindigkeit einzustellen, und dies führt immer noch dazu, dass der Laptop mit höheren Temperaturen betrieben wird. Das ist deutlich heißer als unter Windows ...
iLemming

Das BIOS setzt es zurück, also habe ich hinzugefügt, dass alle 2 Minuten ein Cronjob ausgeführt wird: crontab -eund */2 * * * * /usr/bin/i8kfan 1 1. funktioniert jetzt perfekt
goksel

14

Mit der in dieser Antwort angegebenen Methode können Sie Ihr Problem höchstwahrscheinlich mit etwas anderem lösen, das Ihre i8kctl-Lüfterbefehle außer Kraft setzt. Der Vollständigkeit halber werde ich einige allgemeine Hinweise zur Lüftersteuerung auf Dell-Laptops sowie eine vollständige Anleitung für hinzufügen i8kutils.

Was wird wahrscheinlich nicht funktionieren

Zwei übliche und unkomplizierte Möglichkeiten zur Steuerung des Lüfters auf Laptops sind jedoch ACPI und PWM-Pins:

  • Auf Dell-Laptops fehlt die Fähigkeit zur ACPI- Lüftersteuerung (* 1)

    • Infolgedessen schlägt der Versuch mit ACPI-Startparametern und dergleichen fehl
  • Bei Dell Latitude-Laptops fehlen meines Wissens pwm-steuerbare Lüfter (* 2)

    • Infolgedessen funktioniert das Programm fancontrol/ pwmconfignicht

Verwenden Sie i8kutils

Es gibt jedoch ein Paket namens i8kutils, das geschrieben wurde, um den Lüfter auf Dell Inspiron-Laptops über das SMM-BIOS zu steuern . Einige Benutzer berichten über Erfolge auch auf ihren Dell Laitude- Laptops (ich bin einer von ihnen auf einem Dell Latitude E7440) - jedoch wird oft ein Trick benötigt, um die störende BIOS-Lüftersteuerung loszuwerden. Darunter leiden Sie laut einem früheren Kommentar ebenfalls.

Installieren Sie i8kutils:

$ sudo apt-get install i8kutils

Versuch es:

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

... und hör zu, ob es funktioniert.

Deaktivieren Sie die BIOS-Lüftersteuerung

Wenn es funktioniert, aber irgendetwas anderes mit der eingestellten Geschwindigkeit kämpft (von vielen Benutzern auf Dell Latitude-Laptops gemeldet), ist dies auf geplante SMM-Sitzungen zurückzuführen, bei denen die Lüftergeschwindigkeit zurückgesetzt wird. Glücklicherweise gibt es eine Möglichkeit, die BIOS-Lüftersteuerung durch Schreiben in SMM-Register zu deaktivieren .

Warnung: Siehe die Warnung oben auf smm.c. Diese Methode schreibt in SMM-Register. Ich habe jedoch keine Benutzerberichte darüber gesehen, die Probleme verursacht haben. Außerdem haben alle Berichte, in denen dies versucht wurde, gezeigt, dass die BIOS-Lüftersteuerung erfolgreich deaktiviert wurde.

i8kutilsEnthält die Quelle eines Programms smm, das i8kutilsPaket enthält jedoch nicht die kompilierte Binärdatei. Wir laden den Quellcode von herunter i8kutils, kompilieren das Programm smmund führen es mit einem geeigneten Argument aus, um die BIOS-Lüftersteuerung durch Schreiben in SMM-Register zu deaktivieren.

Zum Erstellen benötigte Pakete herunterladen:

$ sudo apt-get build-dep i8kutils

i8kutilsQuellcode herunterladen , extrahieren und Verzeichnis eingeben (genaue Namen abhängig von der i8k-Version):

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

Kompilieren smm:

  • Wenn auf einem 32-Bit- System:

    $ make
    

    (Oben wird ausgeführt gcc -g -O2 -Wall -I. -o smm smm.c.)

  • Wenn auf einem 64-Bit- System:

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

Führen Sie smmmit dem Argument aus 30a3, um die SMM-Lüftersteuerung zu deaktivieren:

$ sudo ./smm 30a3

Jetzt sollte die BIOS-Lüftersteuerung deaktiviert sein. Versuchen Sie, die Geschwindigkeit mit i8kctleinzustellen, achten Sie auf den Lüfter und stellen Sie sicher, dass die Geschwindigkeit bestehen bleibt.

Hinweis: Dies ist eine Einstellung, bei der Neustarts und Ausschalten beibehalten werden. Mit kann die BIOS-Lüftersteuerung wieder aktiviert werden $ sudo ./smm 31a3.


* 1: Ich habe eine offizielle Quelle zu diesem Thema gesehen und kann sie derzeit nicht finden. Wenn Sie überprüfen möchten, ob es Ihrer Hardware fehlt, befolgen Sie die Anweisungen hier: https://wiki.ubuntu.com/DebuggingACPI

* 2: Um dies zu überprüfen, führen Sie pwmconfig: aus, um festzustellen sudo apt-get install fancontrol, sudo pwm-configob ein pwm-fähiger Lüfter vorhanden ist oder nicht


Ich habe tatsächlich den ACPI-Parameter verwendet, acpi_osi='!Windows 2012'um die Lüfter meines Dell Inspiron 15R 5520 unter Kontrolle zu bringen, da sie unabhängig von der Temperatur immer mit maximaler Drehzahl drehen würden.
user311982

Dies sollte die richtige Antwort sein. Es ist gut informiert und sehr relevant!
21.

Gute Antwort. Auch hier zu finden
Malat

1
Vielen Dank, das hat bei mir funktioniert, nachdem ich alles andere erfolglos ausprobiert hatte. Als ich versuchte, smm zu kompilieren, fehlte mir sys / cdefs.h, aber ich sudo apt-get install g++-multilibbrachte es ein ( siehe askubuntu.com/questions/470796/… )
Philip Daniels

Ich bin vielleicht etwas spät dran, aber gibt es einen Nachteil, wenn ich es auf Höchstgeschwindigkeit bringe?
Zerquix18

14

Das Paket lm-sensors Installieren Sie lm-Sensoren könnte das sein, wonach Sie suchen.

Und wie Sie vorgeschlagen haben, Fancontrol Installieren Sie Fancontrol .

Stellen Sie sicher, dass alle Lüfter, die Sie über Software steuern möchten, über den 4-poligen Anschluss verfügen.

"Ein PWM-fähiger Lüfter wird normalerweise an einen 4-poligen Anschluss angeschlossen (Pinbelegung: Masse, +12 V, Sensor, Steuerung)." Quelle

Wenn ich pwmconfigrenne, was ein Teil von Fancontrol ist, bekomme ich

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed Hier erfahren Sie, ob Sie kompatible Hardware haben.

Hier sind einige Skripte, die in Verbindung mit dieser generierten Konfigurationsdatei verwendet werden können. Ich gehe davon aus, dass Sie hier einen höheren Wert einstellen könnten.

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

Aber wie gesagt, ich kann das nicht selbst testen, da meine Hardware es nicht unterstützt. Ich kann meine Fans über das BIOS steuern, aber es ist eine Note von 3. Ich verwende es, um den Lüfter langsam und leise zu halten.


1
/ usr / sbin / pwmconfig: Es sind keine pwm-fähigen Sensormodule installiert.
RobinJ

Normalerweise müssen Sie sensors-detectzuerst ein Modul starten und laden, um die Anzeige von Temperatur und Lüftergeschwindigkeit zu erhalten. Anschließend kann es von pwmconfig bearbeitet werden.
Psusi

@RobinJ, es scheint, dass Sie keinen erkannten / unterstützten Chip haben.
Psusi

Ich werde das Kopfgeld an Sie vergeben, da dies die informativste Antwort war, die den meisten anderen Menschen helfen konnte.
RobinJ

5

Ok, das ist vielleicht nicht die Antwort, die Sie suchen, aber meine Überhitzungsprobleme wurden gelöst, als der Staub durch Aufsetzen eines Staubsaugers auf die Lüftungsöffnungen entfernt wurde. Wenn bei niedrigen CPU-Frequenzen eine Überhitzung auftritt, ist dies möglicherweise einen Versuch wert. Beachten Sie, dass möglicherweise kleine Teile angesaugt werden. Wenn Sie Glück haben, können Sie mit dieser Methode Überhitzungsprobleme lösen.


Ich habe die Prämie an die oben genannte Antwort vergeben, weil sie die informativste war, aber mein Problem scheint mit der Hardware zu tun zu haben, sodass Ihre Antwort der Lösung am nächsten kam. Aber da ich nicht sicher genug bin, um mich mit der Hardware meines Laptops herumzuschlagen, habe ich sie nur in den Laden gebracht, da sie noch unter Garantie war.
RobinJ

Ich habe es einfach versucht und es hat funktioniert. Vielen Dank! Mein Lüfter wurde lauter und ich hatte ein oder zwei Abschaltungen wegen Überhitzung. Hoffentlich hat dies behoben. Der Lüfter schaltet sich jetzt mit normaler CPU-Auslastung ein und aus, was großartig ist (bevor er die ganze Zeit eingeschaltet blieb).
Cymen

@Cymen Stellen Sie sicher, dass das Vakuum ein antistatisches Vakuum ist, um sicher zu gehen. Ich benutze eine Dose Druckluft, um die Lüftungsschlitze zu reinigen, was Sie alternativ auch tun können.
user311982

3

Ich habe ein Dell Latitude e4200 und das Folgende funktionierte für mich, weil das BIOS die i8kfan-Einstellung überschrieb. Die anfängliche Temperatur meines Computers betrug 105F Grad. Ungefähr 10 Minuten nach Ausführung dieser Schritte (Lüftereinstellung = 2) sanken die CPU- / Core-Temperaturen auf 96F Grad. Dieser Vorgang wurde bereits von jemandem gepostet:

Schritt 1. Laden Sie i8ktutils herunter und installieren Sie es:

# sudo apt-get install i8kutils

Schritt 2. Überschreiben Sie das BIOS, um zu verhindern, dass benutzerdefinierte Lüftereinstellungen unterbrochen werden. Laden Sie den Quellcode herunter und kompilieren Sie dazu ein Programm (SMM):

# sudo apt-get build-dep i8kutils

dann:

# apt-get source i8kutils

Schritt 3. Extrahieren Sie den Quellcode und die CD in das Verzeichnis:

# tar xvf i8kutils_1.33.tar.gz

dann:

# cd i8kutils-1.33/

Schritt 4. SMM kompilieren

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)

Schritt 5. Führen Sie SMM mit folgenden Parametern aus:

# sudo ./smm 30a3

Schritt 6. Stellen Sie die Lüftergeschwindigkeiten ein:

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

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

Jetzt sollte die BIOS-Lüftersteuerung die Lüftereinstellungen nicht überschreiben. Diese Einstellung bleibt auch nach einem Neustart des Systems erhalten. Gehen Sie wie folgt vor, um die Steuerung aus irgendeinem Grund an das BIOS zurückzugeben:

# sudo ./smm 31a3.

Es gibt auch eine Möglichkeit, die Temperatur mit lm_sensors zu überprüfen:

http://www.cyberciti.biz/faq/howto-linux-get-sensors-information/

1
Versuchte dies für die neueste Version von i8kutils-1.41 auf Ubuntu 14.04 und bekam "In Datei enthalten von /usr/include/stdio.h:27:0, von smm.c: 27: /usr/include/features.h: 374: 25: fataler Fehler: sys / cdefs.h: Keine solche Datei oder das Verzeichnis "Allerdings dies behebt das Problem askubuntu.com/questions/470796/...
k-den
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.