Das Aktualisieren des BIOS hat mein Lüfterverhalten nicht behoben.

Das Aktualisieren des BIOS hat mein Lüfterverhalten nicht behoben.

Ich habe einen Dell G5 5590 mit Ubuntu 18.04.4 LTS. Die BIOS-Version ist 1.11.1.

Meine Lüfter schalten sich ständig im Abstand von 30 Sekunden ein und aus (30 Sekunden volle Geschwindigkeit, 30 Sekunden komplett aus), selbst ohne Prozessorlast. Das ist sehr ärgerlich und ich bin mir nicht sicher, ob das so sein soll, da ich eine eher abgestufte Lüftersteuerung erwarte.

Was ich getan habe:

  • Ich habe in den BIOS-Einstellungen nachgesehen, aber keine Einstellungen zur Lüftersteuerung gefunden.
  • Ich habe lm-sensorses installiert, mit eingerichtet sensors-detectund coretemphinzugefügt /etc/modules;
  • Ich habe installiert i8kutilsund ausgeführt sudo modprobe i8k force=1, jetzt kann ich die Lüftergeschwindigkeit in psensorder GUI sehen, wie auf dem Bild unten;
  • Ich habe fancontroles wie hier beschrieben installiert und versucht einzurichten:https://askubuntu.com/a/46135/762767- Das pwmconfigTool kann meine Lüfter während der Kalibrierung ein- und ausschalten. Nach der Kalibrierung erscheint jedoch die Meldung:
No correlations were detected.
There is either no fan connected to the output of hwmon7/pwm1,
or the connected fan has no rpm-signal connected to one of
the tested fan sensors. (Note: not all motherboards have
the pwm outputs connected to the fan connectors,
check out the hardware database on http://www.almico.com/forumindex.php)

Auch wenn ich die Einrichtung abschließe pwmconfigund den Dienst ausführe fancontrol, ändert sich nichts am Lüfterverhalten.

So sieht es im psensor aus: Bildbeschreibung hier eingeben

Antwort1

Das Aktualisieren des BIOS hat mein Lüfterverhalten nicht behoben.

Dies reduziert die Leistung des Prozessors jedoch dauerhaft und nimmt manchen Benutzern die Möglichkeit zur Unterspannung.

Hier erfahren Sie, wie Sie Ihre Lüfter manuell steuern und eine benutzerdefinierte Lüfterkurve festlegen können.

Ich habe einen Dell G5 5590 mit einem i7-9750H und einem RTX 2070MQ. Ich verwende Pop_OS 20.10, eine Ubuntu-Variante, und verwende systemd.

Soweit ich weiß, dienten BIOS-Updates (zumindest nach 1.10, ich kann Ihnen nichts über die Zeit davor sagen) hauptsächlich dazu, Sicherheitslücken in der Intel-Prozessorarchitektur zu beheben. Die „Fixes“ erforderten eine Beeinträchtigung des Prozessors auf eine Weise, die die Leistung dauerhaft reduzierte, und ein Downgrade ist ziemlich schwierig und riskant (wird von Dell blockiert, erfordert die Generierung einer eigenen gefälschten BIOS-Nutzlast zum Umgehen und kann dazu führen, dass der Fingerabdruckleser nie wieder funktioniert). Außerdem ändern sie, meiner Erfahrung nach, wenn ich von 1.10 auf 1.14 gemäß der obigen Antwort und dem Kommentar zur obigen Antwort und anderen Links gehe, das Lüfter-/Wärmeprofil dieses Laptops nicht.

Hier ist meine Temperaturkurve, sogar im Leerlauf bei 800 MHz, im neuesten BIOS 1.14: Bildbeschreibung hier eingeben

Wie Sie unten im Bild sehen können, schwankt meine Temperatur einfach auf und ab. Am höchsten Punkt dieser Schwankungen schaltet der Lüfter auf „hoch“/volle Leistung (4700 U/min) ein, am niedrigsten Punkt schaltet der Lüfter auf 0 U/min aus. Äußerst ärgerlich. Und identisch mit dem, was ich bei BIOS 1.10 erlebt habe.

späteres Update: Bei diesem Laptop bestand mein Problem darin, dass ich externe Monitore über den HDMI- und MiniDP-Anschluss verwendete. Dadurch stiegen meine Temperaturen sowohl unter Linux als auch unter Windows buchstäblich um über 40 Grad Celsius, was anscheinend ein Problem mit dem Nvidia-Treiber ist. Wenn ich meine externen Monitore stattdessen über einen USB-C- an einen Dual-HDMI-Hub anschließe, läuft mein Computer nach einem sauberen Neustart im Leerlauf bei 47 °C ohne eingeschaltete Lüfter.

Dell behindert die Lüfter und erlaubt nur die Steuerung bestimmter Voreinstellungen. Sie können jedoch in dem auf Ihrer Hardware möglichen Umfang auf sie zugreifen, indem Sie diese Links lesen:

(Update: Dell scheint die Lüftersteuerung nicht als Open Source freizugeben und die Reverse-Engineering-Arbeit war nur begrenzt erfolgreich. Unter Windows scheinen mehr Voreinstellungen verfügbar zu sein, als ich unter Linux abrufen kann.)

Wie steuere ich die Lüftergeschwindigkeit? https://www.cyberciti.biz/faq/controlling-dell-fan-speeds-temperature-on-ubuntu-debian-linux/ https://mijorus.medium.com/thermal-tweaks-on-dell-laptops-running-linux-769c8c80022e https://wiki.archlinux.org/index.php/fan_speed_control#BIOS_overriding_fan_control https://github.com/TomFreudenberg/dell-bios-fan-control

(Beachten Sie, dass /etc/i8kutils/i8kmon.conf in späteren Versionen meines Wissens nach /etc/i8kmon.conf verschoben wurde, und dies ist das, was ich jetzt in meinem Dateisystem und auf der Manpage sehe. Auf der Manpage gibt es außerdem eine Bestimmung, eine Conf-Datei in Ihrem Home-Verzeichnis anzugeben.)

Schritt 1: Installieren und Einrichten

sudo apt install lm-sensors i8kutils -y
sudo modprobe i8k
if that doesn't work, which it did not for me, you may try:
# sudo modprobe i8k force=1
# (which seems to work for me?)
git clone https://github.com/TomFreudenberg/dell-bios-fan-control.git
cd dell-bios-fan-control
make
sudo mv dell-bios-fan-control /usr/bin/dell-bios-fan-control

Wenn bei Ihnen Probleme mit dem i8k auftreten, das nicht funktioniert, können Sie Folgendes versuchen:

sudo -i
echo "options i8k force=1"  >  /etc/modprobe.d/i8k.conf
echo i8k  >> /etc/modules
exit

Möglicherweise erzielen Sie auch bessere Ergebnisse, wenn Sie Ihren Computer neu starten.

Wenn weiterhin Probleme auftreten, können Sie die oben genannten Links überprüfen und mit modprobe weitere Informationen einholen.dieser Linkkann Ihnen ebenfalls als Orientierungshilfe dienen.

Schritt 2: Prüfen, ob es funktioniert

Damit dies tatsächlich in Kraft tritt, müssen wir den Dienst starten undDeaktivieren Sie die BIOS-Steuerung der Lüfter, was offensichtlich sehr gefährlich ist. Ein Prozessor wie dieser kann sich bei 10 Sekunden hoher Temperaturaktivität irreparabel verbrennen, also seien Sie hier äußerst vorsichtig.

Mein Rat:

  1. Öffnen Sie psensoroder eine andere grafische Temperaturanwendung, damit Sie die Temperaturen im Auge behalten und bereit sind zu handeln, wenn Sie feststellen, dass die Temperaturen höher steigen als sie sollten.
  2. Testen Sie und stellen Sie sicher, dass Sie jederzeit zur BIOS-Steuerung zurückkehren können, indem Sie dell-bios-fan-control 1(gemäßHier).
  3. Zur zusätzlichen Sicherheit können Sie einen Alarm einstellen, psensorder automatisch ausgelöst wird , wenn eine bestimmte Temperatur erreicht wird.dell-bios-fan-control 1
  4. Wenn Sie sehen, dass die Temperatur steigt, und Sie nicht hören, dass die Lüfter anspringen, wenn Sie diesen Befehl ausführen, seien Sie bereit, den Strom schnell abzuschalten. Mir ist aufgefallen, dass ein hartes Herunterfahren dieses Laptops durch Gedrückthalten des Netzschalters extrem langsam ist. Um hier auf Nummer sicher zu gehen, sollten Sie die Einstellungen Ihres Betriebssystem-Netzschalters auf „Herunterfahren“ statt „Ruhezustand“ aktualisieren. (Ich glaube, Sie werden den Strom nicht abschalten wollen, shutdown nowweil das die CPU-Last nicht schnell genug unterbricht, aber ich bin mir nicht sicher.)
  5. ctrl+ alt+ printscrn/(sysreq) + bist möglicherweise der schnellste Weg, um den Kernel zu einem sofortigen Hard-Reboot zu veranlassen. Es gibt möglicherweise einen besseren Weg.

Das ist wahrscheinlich alles übertrieben, aber ... wenn Sie einen teuren Laptop haben, seien Sie einfach vorbereitet. (Seien Sie jedoch nicht paranoid, da es Hardware-Sicherheitsschalter gibt, die den Laptop ausschalten, um ihn vor Überhitzung zu schützen.)

Nun, da Sie bereit sind,

sudo systemctl stop i8kmon.service 
sudo systemctl status i8kmon.service 

ok, wir deaktivieren jetzt die BIOS-Steuerung – die Lüfter sollten leiser werden – und schalten dann die Lüfter sofort wieder ein 1– wir testen, wie viele Lüftereinstellungen Ihnen tatsächlich zur Verfügung stehen und stellen sicher, dass das funktioniert.

Führen Sie diese Befehle nacheinander aus und achten Sie auf Ihr System.

dell-bios-fan-control 0
# fans are now not being controlled by anything; are they quiet? 
# how are temps? You can watch for a second if desired.
dell-bios-fan-control 1
# let's turn it back on to make sure our failsafe works. With that settled,
# let's turn it back off
dell-bios-fan-control 0
# and let's manually set the fans on with i8kctl
i8kctl fan 1 1
# did fans turn on? let's see what RPM we're at:
i8kctl 
# you can spam this command a few times to get info. 
# the 7th and 8th values (will be in the thousands if fan is running, otherwise 0)
# are the left and right fan RPM.
# Now let's try and see if you hear different rpm's at different levels.
sudo i8kctl fan 2 2
# hear a difference? we can check again: 
i8kctl 
sudo i8kctl fan 3 3
i8kctl 
# did they all work? If not, not which ones did and didn't. For my G5 5590, I'm only seeing 0,1,2 work, which are 0rpm, 2200~ rpm, and 4740rpm.

Schritt 3: Lüfterkurve einstellen

Jetzt müssen Sie Ihre Lüfterkurve einstellen. Dazu bearbeiten wir diese Datei:

sudo nano /etc/i8kmon.conf

Jetzt müssen Sie diese Datei entsprechend den Wärmeeigenschaften Ihres Computers bearbeiten. Lesen Sie bei Bedarf die Manpage und die Dokumentation. Die Kurzfassung lautet: Die Zeilen dort lauten wie folgt:

set config(0) {{0 0} -1 55 -1 60}
set config(1) {{1 1} 45 80 45 80}
set config(2) {{2 2} 70 90 70 90}
set config(3) {{3 3} 80 128 80 128}

Sie sollten diese Werte entsprechend den thermischen Eigenschaften Ihres Laptops anpassen. Mein spezielles Gerät kann nicht unter 85 im Leerlauf laufen, Punkt, also müssen die Lüfter immer eingeschaltet sein, also ist meine Kurve entsprechend angepasst. Sobald ich es neu eingefügt habe, werde ich es wahrscheinlich noch einmal ändern, um einen leisen Leerlauf zu erreichen.

(Beachten Sie, dass das G5 5590 Leistungsstufe 3 nicht unterstützt, sondern nur Leistungsstufe 2. Wenn Sie diese Zeile trotzdem nicht einschließen, stellen Sie sicher, dass Sie testen, ob dadurch nichts kaputt geht, da i8kutils bei derartigen Dingen empfindlich ist.)

Um zu interpretieren, wie diese Zeilen geschrieben werden, bedeuten sie Folgendes:

# DO NOT COPY PASTE THESE LINES, ADDING COMMENTS AFTER BREAKS THIS CONFIG FILE
set config(0)   {{0 0}  -1  55  -1  60} # run fans at 0,0; above 55(ac) / 60(batt), move up to config(1)
set config(1)   {{1 1}  50  65  55  70} # run fans at 1,1; at 50(ac),55(batt) drop down to config(0); at 65(ac),70(batt) move up to config(2)
set config(2)   {{2 2}  60  75  65  80} # etc.                           
set config(3)   {{2 2}  70 128  75 128} # etc.    

HINWEIS: Fügen Sie keine Kommentare in den gleichen Zeilen wie diese Befehle hinzu, sondern nur in/nach Zeilenumbrüchen.Außerdem sollten sich die eingestellten Maximal- und Minimaltemperaturen überschneiden, vorzugsweise um mindestens etwa 10 Grad. Wenn Sie den Grund nicht verstehen, lesen Sie auf der Manpage nach.

# set 
# config(configuration-number) 
# {
#  {speed-of-fan-n1 speed-of-fan-n2} 
#  drop-down-temp-AC                          
#  step-up-temp-AC                          
#  drop-down-temp-battery                       
#  step-up-temp-battery
# }
# 
# https://mijorus.medium.com/thermal-tweaks-on-dell-laptops-running-linux-769c8c80022e

fans at 0,0und fans at 1,1entspricht diesen Zeilen:

set status(leftspeed)   "0 1000 2000 3000" 
# 0=0rpm, 1=1000rpm, etc.
set status(rightspeed)  "0 1000 2000 3000" 
# same for right fan

# so 1,1 correponds to 1000rpm left fan,1000rpm right fan

(Beachten Sie erneut, dass beim G5 (und ich glaube nicht einmal bei den Präzisionsleitungen, was verrückt ist) die manuelle Einstellung der Lüfterdrehzahl nicht unterstützt wird, aber ich glaube, bei den XPS- und Alienware-Leitungen schon. Lassen Sie diese Zeilen jedoch NICHT aus. Das Programm wird ausgeführt, aber die Lüfter werden nie anspringen!)

die uns sagen, was Sie in den Kommentaren hier sehen. Ich gehe davon aus, dass die Alienware-Modelle diese Funktion unterstützen, und das XPS scheint das auch zu tun, soweit ich es kurz gelesen habe – Dell benachteiligt jedoch künstlich die Lüfter bei allem, was nicht ihre Spitzen-Premium-Maschine ist – sogar ihre Semi-Premium-Modelle Precision und G5 (bei G7 bin ich mir nicht sicher?) erlauben keine Drehzahleinstellung. Gut gemacht, Dell.

Schritt 4: Fans als Service

Wenn Sie in der Vergangenheit auf Ihre Temperaturen geachtet haben, können Sie versuchen, in die Konfigurationsdatei zu gehen und sie auf die gewünschten Werte einzustellen und den systemd-Dienst für i8kmon zu aktivieren.

sudo systemctl status i8kmon.service 
sudo systemctl enable i8kmon.service 
sudo systemctl start i8kmon.service 

Jetzt müssen wir auch noch einen systemd-Prozess hinzufügen, um sicherzustellen, dass das BIOS beim Neustart nicht wieder die Kontrolle übernimmt.dieser Leitfaden, wir machen im Wesentlichen Folgendes:

sudo nano /lib/systemd/system/dell-bios-fan-control.service

füge das hier dort ein:

[Unit]
Description=Turn off bios control of fans

[Service]
Type=simple
ExecStart=/usr/bin/dell-bios-fan-control 0

[Install]
WantedBy=multi-user.target

Dann

sudo cp /lib/systemd/system/dell-bios-fan-control.service /etc/systemd/system/dell-bios-fan-control.service
 
sudo systemctl enable dell-bios-fan-control
sudo systemctl start dell-bios-fan-control

Sie sollten startklar sein. Ich würde den Computer jedoch neu starten und sicherstellen, dass er wie erwartet funktioniert. Wenn Sie psensor beobachten, sollten Sie wissen, ob er Ihren Konfigurationswerten folgt oder nicht.

Sagen Sie mir Bescheid, wenn hier etwas nicht funktioniert. Ich schreibe das hier wirklich in der falschen Reihenfolge, nachdem ich es durch Ausprobieren herausgefunden habe. Ich räume es mit der Zeit auf, während ich mein Verständnis davon festige.

Ein eklatantes Problem besteht definitiv darin, dass es aus Sicherheitsgründen eine Fehlerbehandlung beim Start des i8k-Dienstes geben sollte, die die BIOS-Steuerung wieder einschaltet, wenn der Start fehlschlägt.

Aber selbst das wäre keine Garantie; ich habe die Zeilen „fan rpm“ auskommentiert, weil die Standarddatei angibt, dass sie unnötig sind, vermutlich automatisch geprüft werden können und diese Funktion von meinem Modell (dem G5 5590) nicht unterstützt wird. Der Dienst scheint einwandfrei zu starten, aber er wird die Lüfter nie wirklich aktivieren können. Daher würde ich auch empfehlen, eine andere Temperatur-Ausfallsicherung in einer anderen Anwendung zu haben. Wenn ich dazu komme, werde ich versuchen, diese Anleitung zu aktualisieren.

Schritt 5: Shutdown-Verhalten / Dual Boot-Sicherheit

Wenn Sie Dual-Boot verwenden, laufen in keiner anderen Distribution, in der Sie keine manuelle Lüftersteuerung hinzugefügt haben, Lüfter – Sie würden also überhitzen und abstürzen. Um das zu ändern, sollten Sie einen umgekehrten Prozess hinzufügen, um die Steuerung beim Herunterfahren wieder an das BIOS zu übergeben, wie folgt:

sudo nano /lib/systemd/system/dell-bios-fan-control-reverse.service
[Unit]
Description=Turn fan control back over to bios at shutdown, in case of windows boot, or i8k >

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/usr/bin/dell-bios-fan-control 1

[Install]
WantedBy=multi-user.target

Dann

sudo cp /lib/systemd/system/dell-bios-fan-control-reverse.service /etc/systemd/system/dell-bios-fan-control-reverse.service
 
sudo systemctl enable dell-bios-fan-control-reverse
sudo systemctl start dell-bios-fan-control-reverse

Antwort2

Bitte aktualisieren Sie von der BIOS-Version 1.11.1 auf die neuesteBIOS, 1.12.0, für deinDell G5 5590 Laptop, um das Lüfterproblem zu lösen, da die Steuerung der Lüfter über das BIOS erfolgt, obwohl es dort (noch) keine Steuerelemente gibt, die Sie anpassen können.

Letztere Behauptung basiert auf den ersten drei Beiträgen, die ich bei einer Websuche zu diesem Thema gefunden habe. Diese deuten auf ein Problem bei Benutzern hin, die sowohl Windows 10 als auch Linux ausführen. Daher vermute ich, dass das BIOS beteiligt ist.

https://www.reddit.com/r/Dell/comments/ag5d4p/dell_g5_manual_fan_control_utility/

https://www.dell.com/community/Inspiron/Dell-G5-15-5590-fan-control/td-p/7390514

https://www.dell.com/community/Inspiron/Annoying-fan-speed-oscillation-on-DELL-G5-5590/td-p/7403566

Antwort3

ich glaube, ich habe die Lösung gefunden, aber diese funktioniert auf meinem Laptop DELL Latitude, schauen Sie hier, ist nicht definiert in $etc/fancontrol doc

# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=0000.1
DEVPATH=hwmon3= hwmon4=devices/pci0000:00/0000:00:03.0/0000:01:00.0
DEVNAME=hwmon3=dell_smm hwmon4=nouveau
FCTEMPS= hwmon3/pwm1=hwmon4/temp1_input
FCFANS= hwmon3/pwm1=
MINTEMP= hwmon3/pwm1=30
MAXTEMP= hwmon3/pwm1=60
MINSTART= hwmon3/pwm1=150
MINSTOP= hwmon3/pwm1=10
MAXPWM= hwmon3/pwm1=250

FCFANS ist leer. Mir wurde geschrieben: FCFANS= hwmon3/pwm1=1

und das ist Arbeit!!

verwandte Informationen