Linux Lüfter dreht hoch und Runter... | T420s

Linux Betriebssystem

eyesking

New member
Themenstarter
Registriert
9 Feb. 2025
Beiträge
18
Hallo!

Ich bin neu hier im Forum und wollte meine erste Frage stellen.
Ich habe letztens von meinem T420s den Lüfter gewechselt, da der alte kaputt war. Seitdem dreht der Lüfter ständig hoch um auf eine Temperatur zu kommen und dann wieder runter wenn er sie erreicht hat, usw......
Ich habe schon Thinkfan dafür ausprobiert, den Lüfter zu regulieren und richtig einzustellen - das hat nichts gebracht da ein Fehler nach dem nächsten kam. Nun suche ich eine einfache und am besten grafische Alternative. Kann mir da irgendwer helfen, entweder im BIOS eine Einstellung zu suchen, eine Software mit der man das einstellen kann oder ein Bash Befehl.

Wichtig noch - der Laptop hat Linux Mint 22.1 mit dem 6.8 Kernel installiert, das UEFI ist aus 6/2011.

Vielen dank für das Antworten im Voraus!

Liebe Grüße:)
 
Lösung
Der Lüfter folgt einer Hysteresekurve. [1]
Die Standardkonfiguration von thinkfan sorgt dafür, dass er an geht, wenn die CPU-Temperatur 55°C überschreitet, und wieder aus, wenn sie 48°C unterschreitet (alte thnkfan.conf-Syntax):
Code:
(0,    0,    55)
(1,    48,    60)
(2,    50,    61)
(3,    52,    63)
(4,    56,    65)
(5,    59,    66)
(7,    63,    32767)
Die Stufen 0-7 liegen mit teils nur 1-2K Unterschied recht eng beieinander, was für das nervende Heulen sorgt, wenn die CPU-Temperatur sich genau in diesem Bereich bewegt und der Lüfter ständig hoch- und runterdreht.

Dagegen kann man prinzipiell zwei Dinge tun:
1. Versuchen, die Hysteresekurve aus dem kritischen Temperaturbereich herauszubewegen.
2. Die Kurve verbreitern...
Mann, mit den Fans ist es immer wild! Ich weiß, wie du dich fühlst. Thinkfan soll gut sein, aber es ist hart, wenn es nicht geht. Im BIOS kann man nicht viel machen, da ist es recht simpel. Über eine andere Option, ich kenne ein Programm, das „Fan Control“ heißt, bin aber nicht sicher, ob es mit Linux geht. Schau mal im Netz. Und wenn das nichts ist, guck im Paketmanager. Vielleicht ist da was. :)
 
wenn du Alternativen suchst, dann guck hier mal
Aber wenn du unter Thinkpads guckst, wird auch da thinkfan empfohlen. Irgendwie logisch wenn man sich das think in thinkfan genauer anschaut
 
Tut mir leid das ich nicht geantwortet habe. Ich liege gerade mit einer Grippe flach.
 
fancontrol funktioniert auf einigen Acer- und Asus-Geräten. Es könnte sein, dass es vielleicht auch auf einigen Lenovogeräten funktioniert, die kein thinkfan unterstützen. Die Thinkpad-T-Serien gehören aber nicht dazu.
Das Dell-Pendant heißt i8kutils bzw. i8kfan.
 
user@T420S:~$ thinkfan -n
ERROR: Writing to /run/thinkfan.pid: Permission denied

Wie löse ich das? sudo su?


Soooo, komme so langsam aus der Grippe raus. Muss ich denn son YAML COde jetzt in die .conf schreiben oder als .yaml? Muss ich sonst noch was beachten?
Beitrag automatisch zusammengeführt:

user@T420S:~$ sudo su
root@T420S:/home/user# thinkfan -n
ERROR: /etc/thinkfan.conf:56:
- chip: thinkpad-isa-0000
^
Invalid sensor entry.
root@T420S:/home/user#
 
Moin,

kannst Du einmal den gesamten Inhalt Deiner /etc/thinkfan.conf hier zeigen?
"Invalid sensor entry." ist bereits recht eindeutig: Falscher Sensor erwischt. Zeig doch bitte einmal.
Beitrag automatisch zusammengeführt:

Bitte zeig auch gleich noch das Ergebnis von
Code:
find /sys/devices -type f -name "temp*_input"

Zur Sicherheit auch von
Code:
sensors
 
Zuletzt bearbeitet:
Das hatte ich da gerade drinne:unsure:wahr wohl noch nicht ganz fertig, ne...
##############################################################################
# thinkfan Example Config File
# ============================
#
# Please read the config manpage thinkfan.conf(5) before playing around with
# this.
#
# This is NOT a working config file that can just be copied. It is only meant
# to give a rough idea what can be done. In particular, don't copy & paste the
# fan speed config! Think about what you're doing.
#
# If you don't know what temperatures are right for your system, you should
# not be using thinkfan!
##############################################################################


##############################################################################
# Sensor Drivers and Temperature Inputs
# =====================================
#
# ATTENTION: The order in which sensors are specified here is significant when
# specifying the fan speeds further below!
#
# There are multiple ways in which a temperature input can be specified. An
# example for each is given below.
#
# The "correction:" and "optional:" keywords may be specified on any type of
# sensor.

sensors:
# LM Sensors
# ==========
# Temperatures can be read directly from Linux drivers through the LM sensors.
#
# To configure this, install "lm-sensors" and "libsensors", then
# run "sensors-detect", then run "sensors".
# To build thinkfan from sources, you'll also need to install "libsensors-dev"
# or equivalent package for your distribution.
#
# For example, the following output of "sensors":
# ...
# thinkpad-isa-0000
# Adapter: ISA adapter
# fan1: 2618 RPM
# fan2: 2553 RPM
# CPU: +63.0 C
# GPU 1: +55.0 C
# temp3: +68.0 C
# temp4: +0.0 C
# temp5: +60.0 C
# temp6: +64.0 C
# temp7: +67.0 C
# temp8: +0.0 C
# ...
# would result in the following configuration:
- chip: thinkpad-isa-0000
ids: [ CPU, "GPU 1", temp3, temp4, temp5, temp6, temp7, temp8 ]

# hwmon: Full path to a temperature file (single sensor).
# =======================================================
# Disadvantage is that the index in "hwmon0" depends on the load order of
# the driver modules, which may change across bootups on some systems.
- hwmon: /sys/class/hwmon/hwmon0/temp1_input

# hwmon: Path to a complete driver folder
# =======================================
# Individual sensors need to be picked out with the "indices:" keyword.
# This can be used with a stable path that does not depend on driver load
# order. However certain drivers may not appear under such a stable path.
- hwmon: /sys/devices/pci0000:00/0000:00:03.1/0000:27:00.0/hwmon
indices: [1, 2, 5, 6] # adds 4 temperature sensors
correction: [0, 0, 0, -5] # add -5 °C to temp6_input

# hwmon: Base path with name-based search
# =======================================
# Thinkfan will search under the given path for a hwmon driver that has a
# file called "name" which contains the given name. This method should work
# with all hwmon drivers and is robust against driver load order.
- hwmon: /sys/class/hwmon
name: k10temp
indices: [1]

# Sensors can also be optional, e.g. in case of removable hardware
- hwmon: /sys/class/block/sdc/device/hwmon
indices: [1]
optional: true # don't exit if the sensor can't be read

# atasmart: Read the temperature from a hard disk via S.M.A.R.T
# =============================================================
# Note that this is unreasonably CPU-intensive. Since Linux 5.6, the kernel
# can report the temperatures of hard disks via the hwmon interface (see the
# example above), which should be preferred if available.
#
# This is only available if thinkfan was compiled with USE_ATASMART enabled.
- atasmart: /dev/sda

# tpacpi: Legacy interface to the thinkpad_acpi driver
# ====================================================
# Particularly on older Thinkpad laptops, this interface may give access to
# 8-16 temperature sensors, but it may be hard to tell where/what exactly
# they measure.
# Some documentation for older models may be found at the thinkpad wiki:
# https://www.thinkwiki.org/wiki/Thermal_Sensors
#
# Note that the hwmon interface is to be preferred nowadays.
- tpacpi: /proc/acpi/ibm/thermal
# Some of the temperature entries in /proc/acpi/ibm/thermal may be
# irrelevant or unused, so individual ones can be selected:
indices: [1, 2, 3, 4]

# nvml: The proprietary nVidia driver
# ===================================
# Temperatures can be read directly from nVidia GPUs that run with the
# proprietary driver. The "nvml:" entry must specify the PCI bus ID of the
# GPU (can be found with lspci)
#
# Note that this does not work with the open-source "nouveau" driver. Open
# source drivers should support the hwmon interface instead (see above).
- nvml: 27:00.0

##############################################################################


##############################################################################
# Fan Drivers
# ===========
#
# Currently, thinkfan supports only one fan, but support for multiple fans is
# in development and will be released soon. For the time being, the examples
# given below are mutually exclusive.
#
fans:
# hwmon: Full path to a PWM file
# ==============================
# Also subject to the potential problem with driver load order (see above)
- hwmon: /sys/class/hwmon/hwmon0/pwm1

# hwmon: Path to a complete driver folder
# =======================================
- hwmon: /sys/class/graphics/fb0/device/hwmon
indices: [1] # Use pwm1

# hwmon: Base path with name-based search
# =======================================
- hwmon: /sys/class/hwmon
name: amdgpu
indices: [1]

# tpacpi: Thinkpad-specific fan interface
# =======================================
# Currently, this is the only way to use disengaged and automatic mode on
# thinkpads.
- tpacpi: /proc/acpi/ibm/fan

##############################################################################


##############################################################################
# Fan Speeds (simple mode)
# ========================
#
# In simple mode, each entry is a [FANSPEED, LOWER_LIMIT, UPPER_LIMIT] tuple.
# This is a quick way to configure a small system like a laptop, where the
# temperature ratings for all monitored devices are similar. Only the highest
# temperature found across all sensors will be compared against these limits.
# All other temperatures are ignored.
#
# Correction values on individual sensors (see above) may be used to equalize
# small discrepancies in temperature ratings.
#
# The FANSPEED values in this example are valid for the thinkpad_acpi fan
# driver only (see above)
#
levels:
- [0, 0, 50]
- ["level auto", 45, 75]
- ["level disengaged", 70, 255]

##############################################################################


##############################################################################
# Fan Speeds (detailed mode)
# ==========================
#
# It is generally advisable to configure the temperature limits for each
# sensor individually.
#
# The speed values used here range from 0 to 255, which is valid for the PWM
# control files used by hwmon-based drivers.
#
# The temperatures specified in upper_limit and lower_limit apply to the
# sensors in the same order in which they were specified in the "sensors:"
# section above, and their length must match the total number of sensors that
# have been configured.
#
levels:
- speed: 0
upper_limit: [50, 50, 50]

- speed: 100
lower_limit: [45, 45, 45]
upper_limit: [65, 65, 65]

- speed: 255
lower_limit: [60, 60, 60]

##############################################################################


Hier der erste Output:

user@T420S:~$ find /sys/devices -type f -name "temp*_input"
/sys/devices/platform/coretemp.0/hwmon/hwmon4/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon4/temp2_input
/sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input
user@T420S:~$



user@T420S:~$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +48.0°C (high = +86.0°C, crit = +100.0°C)
Core 0: +48.0°C (high = +86.0°C, crit = +100.0°C)
Core 1: +48.0°C (high = +86.0°C, crit = +100.0°C)

BAT0-acpi-0
Adapter: ACPI interface
in0: 12.23 V

thinkpad-isa-0000
Adapter: ISA adapter
fan1: 3561 RPM

acpitz-acpi-0
Adapter: ACPI interface
temp1: +47.0°C

user@T420S:~$



-------------

Genau, und da ich ein bisschen dumm bin bräuchte ich wirklich ne komplett fertige thinkfan.conf-Datei wo der Lüfter erst bei 65-70 Grad losgeht. Am besten ganz normal ohne yaml mit yaml nur wenn es einfach ist und es mir einer erklärt. :)
 
So viel Text. :D
Ich denke einmal laut:

Also, "sensors" nummeriert die Sensoren durch. Unter
Code:
# CPU: +63.0 C
verbirgt sich ein 'temp1'
Code:
# GPU 1: +55.0 C
ist 'temp2', und so weiter.

Einen passenden Eintrag 'temp1' findet sich meiner Erfahrung nach hier:
Code:
/sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input

Dazu muss noch der Lüfter selber angegeben werden.
Nimm für die 'levels' einmal die einfache Schreibweise, siehe unten.

Daraus ergäbe sich eine mögliche folgende /etc/thinkfan.conf

Code:
tp_fan /proc/acpi/ibm/fan
#tp_thermal /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

hwmon /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input

(0,     0,      60)
(1,     52,     67)
(2,     66,     69)
(3,     68,     71)
(4,     70,     73)
(5,     72,     75)
(6,     74,     79)
(7,     78,     90)
(127,   80,     32767)

Die Temperaturschwellen kannst Du ggf. noch verändern. Ich beobachte jedes Gerät anhand seiner eigenen Charakteristik und erstelle die Werte hiernach. Oben stehen die Schwellwerte für mein T60, an dem ich gerade sitze. :)

Probiere es gerne einmal mit dieser Konfig.
 
Zuletzt bearbeitet:
Herzlichen Dank :D wenn ich aus dem Bett raus bin probiere ich es mal:)
Beitrag automatisch zusammengeführt:

Ich muss aber noch die Kurven etwas weiter auseinander machen, da er deswegen ja so rumheult.
Beitrag automatisch zusammengeführt:

So, habe mir die ein bisschen mit Chstgpt bearbeitet, ist das so gut?

(0, 0, 64) # 0 RPM
(1, 63, 69) # ~2000 RPM
(2, 67, 73) # ~2500 RPM
(3, 71, 77) # ~3000 RPM
(4, 75, 81) # ~3500 RPM
(5, 79, 85) # ~4000 RPM
(6, 83, 91) # ~4500 RPM
(7, 89, 95) # ~5000 RPM
(127, 93, 32767) # ~5500+ RPM (Notfall)
Beitrag automatisch zusammengeführt:

So, es ging aber als Systemdienst nach dem Neustart nicht, das kam:
user@T420S:~$ sudo su
root@T420S:/home/user# systemctl status thinkfan
× thinkfan.service - thinkfan 1.3.1
Loaded: loaded (/usr/lib/systemd/system/thinkfan.service; enabled; prese>
Active: failed (Result: exit-code) since Thu 2025-02-20 11:10:38 CET; 2m>
Docs: man:thinkfan
CPU: 19ms

Feb 20 11:10:38 T420S systemd[1]: Starting thinkfan.service - thinkfan 1.3.1.>
Feb 20 11:10:38 T420S (thinkfan)[1014]: thinkfan.service: Referenced but unse>
Feb 20 11:10:38 T420S thinkfan[1014]: ERROR: ~TpFanDriver: Resetting fan cont>
Feb 20 11:10:38 T420S thinkfan[1014]: ERROR: Module thinkpad_acpi doesn't see>
Feb 20 11:10:38 T420S systemd[1]: thinkfan.service: Control process exited, c>
Feb 20 11:10:38 T420S systemd[1]: thinkfan.service: Failed with result 'exit->
Feb 20 11:10:38 T420S systemd[1]: Failed to start thinkfan.service - thinkfan>
lines 1-13/13 (END)


Und das Modul ist installiert!
Beitrag automatisch zusammengeführt:

Es hat auch funktioniert, er sagt trotzdem es ist nicht installiert.
user@T420S:~$ sudo su
root@T420S:/home/user# systemctl status thinkfan
× thinkfan.service - thinkfan 1.3.1
Loaded: loaded (/usr/lib/systemd/system/thinkfan.service; enabled; prese>
Active: failed (Result: exit-code) since Thu 2025-02-20 11:10:38 CET; 2m>
Docs: man:thinkfan
CPU: 19ms

Feb 20 11:10:38 T420S systemd[1]: Starting thinkfan.service - thinkfan 1.3.1.>
Feb 20 11:10:38 T420S (thinkfan)[1014]: thinkfan.service: Referenced but unse>
Feb 20 11:10:38 T420S thinkfan[1014]: ERROR: ~TpFanDriver: Resetting fan cont>
Feb 20 11:10:38 T420S thinkfan[1014]: ERROR: Module thinkpad_acpi doesn't see>
Feb 20 11:10:38 T420S systemd[1]: thinkfan.service: Control process exited, c>
Feb 20 11:10:38 T420S systemd[1]: thinkfan.service: Failed with result 'exit->
Feb 20 11:10:38 T420S systemd[1]: Failed to start thinkfan.service - thinkfan>
lines 1-13/13 (END)
Beitrag automatisch zusammengeführt:

Habe ich gelöst, und alles klappt!
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben