klasie
Anmeldungsdatum: 7. August 2018
Beiträge: 523
Wohnort: BY
|
Hallo Forum, auf meinem Dell Latitude schaltet sich nach ca. 10 Minuten Betriebszeit der Lüfter unabhängig vom verwendeten BS ein und nicht mehr aus. Weil eine Steuerung mit dem Tool 'pwmconfig' nicht möglich war, installierte ich das Modul 'i8kutils', welches aus den Komponenten i8kmon, i8kctl und i8kfan besteht. Danach sollte eine Einstellung über 'i8kfan' möglich sein. Das war es für genau 1 Sekunde, nach deren Ablauf der biosinterne Befehl wieder das Kommando übernahm und der Lüfter mit der ursprünglichen Drehzahl (~ 2.600 rpm) munter weiterlief. Danach versuchte ich eine Einflussnahme über das Programm 'dell-bios-fan-control', welches ich zunächst über snap (snap install dell-bios-fancontrol) - und als auch das keinen Erfolg zeigte - über 'git clone https://github.com/TomFreudenberg/dell-bios-fan-control.git' zu installieren. Zwar lag beide male eine ausführbare Datei vor, doch der Befehl 'sudo dell-bios-fan-control 0' (= bios fan control aus) brachte als Ausgabe im Terminal:
sudo dell-bios-fan-control 0
[sudo] Passwort für klasie:
ioperm:: Operation not permitted
ioperm:: Operation not permitted
Speicherzugriffsfehler Hat jemand eine Idee, wie dem beizukommen ist? - Vielen Dank!
|
wmf40
Anmeldungsdatum: 28. Juni 2020
Beiträge: 165
|
Ich habe mal in den Code gesehen, dort steht als Hinweis, dass das meiste von https://github.com/clopez/dellfan übernommen wurde. Das dortige Programm implementiert METHODE1, das von dir ausprobierte METHODE2. Das könntest du also noch ausprobieren. Allerdings steht auch dick und fett auf der Seite: "The BIOS of some newer Dell laptops (Latitude E6420/E6520/E6430/E6530/E6440/E6540/...) will override the speed you set unless you disable the BIOS control." Edit: Das dortige Programm hat auch eine Methode, mit der man neue Möglichkeiten den Lüfter zu deaktivieren finden kann. Die Methode muss allerdings erst scharfgeschaltet werden und es wird ausdrücklich davor gewarnt, dass es zu Instabilitäten und Datenverlust kommen kann. Das musst du selbst wissen, ob du damit experimentieren möchtest. Edit2: Evtl. auch mal hier schauen: https://github.com/ru-ace/dell-fan-mon/ Edit3: Nachdem mich das Problem nicht losgelassen hat, hab ich auch nochmal Google bemüht und den Hinweis gefunden, SECURE BOOT im BIOS/UEFI auszuschalten.
|
klasie
(Themenstarter)
Anmeldungsdatum: 7. August 2018
Beiträge: 523
Wohnort: BY
|
Hi, wmf40, vielen Dank für Deine Einlassung! "The BIOS of some newer Dell laptops (Latitude E6420/E6520/E6430/E6530/E6440/E6540/...) will override the speed you set unless you disable the BIOS control."
Das ist die Problembeschreibung. Es geht jetzt um das Wie. Wie kann ich die Dell-Bios-Lüfter-Kontrolle ausschalten? Ich habe mich auf die I/O-Permissions konzentriert und wollte wissen, ob sich damit etwas regeln lässt (ioperm:: Operation not permitted Speicherzugriffsfehler). Mein Ziel ist es, den Lüfter über 'i8kutils' zu steuern. Dazu habe ich folgende Änderungen vorgenommen:
Schritt 1: sudo apt-get install i8kutils
Schritt 2: sudo nano /etc/modules # an das Ende der Datei „dell-smm-hwmon“ anhängen (ohne Anführungszeichen!)
Schritt 3: sudo nano /etc/modprobe.d/dell-smm-hwmon.conf
# ans Ende „options dell-smm-hwmon restricted=0“ anhängen
Schritt 4: sudo modprobe dell-smm-hwmon restricted=0 # alternativ Neustart
Schritt 5: sudo nano /etc/i8kmon.conf
darin einfügen:
# Sample i8kmon configuration file (/etc/i8kmon.conf, ~/.i8kmon).
# External program to control the fans
set config(i8kfan) /usr/bin/i8kfan
# Run as daemon, override with --daemon option
set config(daemon) 0
# Automatic fan control, override with --auto option
set config(auto) 1
set config(nouserconfig) 1
# Applet geometry, override with --geometry option
set config(geometry) {48x48}
# Report status on stdout, override with --verbose option
set config(verbose) 1
# Status check timeout (seconds), override with --timeout option
set config(timeout) 5
# Temperature display unit (C/F), override with --unit option
set config(unit) C
# Temperature threshold at which the temperature is displayed in red
set config(t_high) 80
# Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
# These were tested on the I8000. If you have a different Dell laptop model
# you should check the BIOS temperature monitoring and set the appropriate
# thresholds here. In doubt start with low values and gradually rise them
# until the fans are not always on when the cpu is idle.
set config(0) {{-1 0} -1 60 -1 65}
set config(1) {{-1 1} 50 70 55 75}
set config(2) {{-1 1} 60 80 65 85}
set config(3) {{-1 2} 70 128 75 128}
# end of file Secureboot ist bei mir stets deaktiviert:
klasie@klasie-Latitude-E6430:~$ mokutil --sb-state
SecureBoot disabled Das Lüfterproblem tritt nach meiner Recherche im WWW bei einigen Dell-Rechnern nicht nur bei Linux-Betriebssystemen, sondern auch bei MS-WIN auf. Leider verhält sich das Unternehmen Dell nicht sehr kooperativ und lässt allenfalls wissen, dass die bios-Einstellungen korrekt seien und man es so wie es ist belassen solle.
|
wmf40
Anmeldungsdatum: 28. Juni 2020
Beiträge: 165
|
klasie schrieb: Ich habe mich auf die I/O-Permissions konzentriert und wollte wissen, ob sich damit etwas regeln lässt (ioperm:: Operation not permitted Speicherzugriffsfehler).
Secureboot ist bei mir stets deaktiviert:
klasie@klasie-Latitude-E6430:~$ mokutil --sb-state
SecureBoot disabled
Ich hatte deine Problemstellung schon korrekt verstanden, ich war mir relativ sicher, dass es an der SECURE BOOT Einstellung liegt. Sofern dein i8k-Modul richtig geladen ist, habe ich leider momentan keine weiteren Ideen.
|
ML9104
Anmeldungsdatum: 8. Juni 2019
Beiträge: 356
|
Ich glaube dass das problem woanders liegt.
Die lüftersteuerung liegt im hardware und BIOS, und wird bei zu hohen temperaturen aktiv (CPU, GPU etc.). Dell E6430 ist jetzt um die acht jahren alt, und ich denke dass lüfter, lufteinlässe bzw. auslässe ziemlich "haarig", wenn nicht voll versifft sind. Aufmachen und sauber machen! (Wie meine mutti sagen wurde). Gruss.
|
klasie
(Themenstarter)
Anmeldungsdatum: 7. August 2018
Beiträge: 523
Wohnort: BY
|
Die lüftersteuerung liegt im hardware und BIOS, und wird bei zu hohen temperaturen aktiv (CPU, GPU etc.).
Genau so sollte es sein. Auf meinem Rechner schaltet sich jedoch der Lüfter nach ca. 10 Minuten bei unveränderter Temperatur, das sind rund 43 Grad Celsius ein und nicht mehr aus, selbst wenn die Temperatur unter 40 Grad gesunken ist.
ich denke dass lüfter, lufteinlässe bzw. auslässe ziemlich "haarig", wenn nicht voll versifft sind.
Nein!
Aufmachen und sauber machen!
(dto.)
|
ML9104
Anmeldungsdatum: 8. Juni 2019
Beiträge: 356
|
OK. Ich habe nur eine lösung angesprochen die in 95% der fälle das problem löst. Du bist die 5%, dann habe ich keine ahnung, sorry. Es war keine unterstellung, aber was im laufe der zeit da eingesaugt wird its schon erstaunlich. ☺
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Evtl ist es ja auch ein Bug im BIOS / UEFI. Die jüngste Version ist A24. Welche hast du denn installiert?
sudo apt install inxi
inxi -Fz
|
klasie
(Themenstarter)
Anmeldungsdatum: 7. August 2018
Beiträge: 523
Wohnort: BY
|
Bios ist aktuell (A24). Ich habe aber zwischenzeitlich an verschiedenen Stellen gelesen, dass es sich um einen Programmierfehler handeln kann. Demzufolge bin ich das Problem von anderer Seite angegangen und habe versucht, 'smm' zu kompilieren und damit den Lüfter lahmzulegen:
sudo sed -i 's/# deb-src/deb-src/' /etc/apt/sources.list # Kommentarzeichen der deb-sources entfernen
sudo apt update
sudo apt-get build-dep i8kutils
apt-get source i8kutils
tar xvf i8kutils_1.43.tar.gz
cd i8kutils-1.43/
gcc -g -O2 -Wall -I. -o smm -m32 smm.c
sudo ./smm 30a3 # bios fan control aus
sudo ./smm 31a3 # bios fan control ein Hier bricht der Vorgang in Zeile 5 mit dem folgenden Hinweis ab: tar xvf i8kutils_1.43.tar.gz
tar: i8kutils_1.43.tar.gz: Funktion open fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
tar: Error is not recoverable: exiting now An was kann das liegen? Nachtrag 1; Schritt 4 ergibt folgendes:
lasie@klasie-Latitude-E6430:~$ apt-get source i8kutils
Paketlisten werden gelesen... Fertig
Es müssen 36,4 kB an Quellarchiven heruntergeladen werden.
Holen:1 http://de.archive.ubuntu.com/ubuntu focal/universe i8kutils 1.43 (dsc) [1.180 B]
Holen:2 http://de.archive.ubuntu.com/ubuntu focal/universe i8kutils 1.43 (tar) [35,2 kB]
Es wurden 36,4 kB in 0 s geholt (172 kB/s).
dpkg-source: Information: i8kutils wird nach i8kutils-1.43 extrahiert
dpkg-source: Information: i8kutils_1.43.tar.xz wird entpackt Sollte ich nachfolgend ggf. 'tar xvf i8kutils_1.43.tar.xz' anstelle von 'tar xvf i8kutils_1.43.tar.gz' ins Terminal eingeben? Nachtrag 2: Es war in der Tat so (tar xvf i8kutils_1.43.tar.xz). Jetzt hängt es bei 'gcc -g -O2 -Wall -I. -o smm -m32 smm.c'. klasie@klasie-Latitude-E6430:~/i8kutils-1.43$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
In file included from smm.c:27:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: Datei oder Verzeichnis nicht gefunden
27 | #include <bits/libc-header-start.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Hat dazu jemand eine Idee?
|
wmf40
Anmeldungsdatum: 28. Juni 2020
Beiträge: 165
|
Der Schalter -m32 kompiliert das Programm für die 32 Bit-Plattform. Sind die dazu passenden Header installiert? Ansonsten würde ich es einfach mal ohne -m32 versuchen.
|
klasie
(Themenstarter)
Anmeldungsdatum: 7. August 2018
Beiträge: 523
Wohnort: BY
|
Danke wmf40, bei 'askubuntu.com' habe ich folgenden Eintrag gefunden:
Compile smm:
If on a 32-bit system:
$ make
(Above will execute gcc -g -O2 -Wall -I. -o smm smm.c.)
If on a 64-bit system:
$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c Vielleicht habe ich den falschen Compiler erwischt. Den gcc habe ich selbst installiert. Ein Blick in die Paketverwaltung zeigt, dass 'gcc-9-base' und 'gcc-10-base" vorinstalliert sind. Es gibt auch speziell für 20.04 einen Compiler 'gcc-10'. Aber damit muss ich mich erst einmal beschäftigen, insbesondere, ob das Paket 'multilib' mit installiert werden muss. Die Pakete 'gcc-10' und 'gcc-10-multilib' sind nun nach weiteren Recherchen auch installiert. Die Terminaleingabe 'gcc -g -O2 -Wall -I. -o smm -m32 smm.c' bringt jetzt die Ausgabe:
klasie@klasie-Latitude-E6430:~$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
gcc: error: smm.c: Datei oder Verzeichnis nicht gefunden
gcc: fatal error: no input files
compilation terminated. (Selbiges auch ohne '-m32' sowie auch mit 'gcc-10'). Was mache ich falsch? Bin dankbar für jeden klärenden Hinweis.
|
wmf40
Anmeldungsdatum: 28. Juni 2020
Beiträge: 165
|
Warst du in dem Verzeichnis, in dem smm.c liegt, als du den Befehl ausgeführt hast?
|
klasie
(Themenstarter)
Anmeldungsdatum: 7. August 2018
Beiträge: 523
Wohnort: BY
|
Nein, war ich nicht (hab auch gerade daran gedacht). Die Angelegenheit sieht jetzt folgendermaßen aus:
klasie@klasie-Latitude-E6430:~$ cd ~/i8kutils-1.43
klasie@klasie-Latitude-E6430:~/i8kutils-1.43$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
klasie@klasie-Latitude-E6430:~/i8kutils-1.43$ sudo ./smm 30a3
[sudo] Passwort für klasie:
Error on ioctl
: Inappropriate ioctl for device
Err no. -1
klasie@klasie-Latitude-E6430:~/i8kutils-1.4 (Auf 'bugs.launchpad.net/i8kutils' ist zu lesen:
"sudo ./smm 30a3" is the command to try to disable BIOS from controlling fan. If it does not work, there is no other command to try).
|
wmf40
Anmeldungsdatum: 28. Juni 2020
Beiträge: 165
|
Hm, die Meldung sagt mir so leider nichts. Du hattest die i8kutils zuvor bereits auf "normalem" Wege installiert und eingebunden, korrekt? Hast du sie vor dem Versuch, eine eigene Version zu nutzen, entfernt?
|
klasie
(Themenstarter)
Anmeldungsdatum: 7. August 2018
Beiträge: 523
Wohnort: BY
|
Ja, die habe ich im Zusammenhang mit "dell-bios-fan-control" installiert. Insbesondere eine neue i8kutils.conf wurde durch die Kompilation angelegt. Ich glaube nicht, dass sich beide im Wege stehen. Oder doch?
|