Thinkfan bei neuen Thinkpads benutzen

Miko

New member
Registriert
8 Apr. 2011
Beiträge
192
Moin moin,

da bei neuen Thinkpads das eh schon veraltete /proc/acpi/ibm/thermal Interface nicht auftaucht verweigert thinkfan den Betrieb. Allerdings unterstützt thinkfan auch das aktuelle sysfs Interface welches sich leicht benutzen lässt.

Im Internet finden sich zahlreiche Beiträge und Wünsche zu einem Patch obwohl das nicht nötig ist.

Mit aktuellem Kernel gibt es allerdings nur 3 Temperaturangabe. Zwei für die CPUs und eine unbekannte Dritte (wahrscheinlich Chipsatz). Um Thinkfan wie gewohnt zu benutzen bedarf es in der Konfiguration (/etc/thinkfan.conf) die Hinterlegung der Sensorwerte:
Code:
sensor /sys/class/hwmon/hwmon0/temp1_input (0)
sensor /sys/class/hwmon/hwmon1/device/temp1_input (0)
sensor /sys/class/hwmon/hwmon2/device/temp1_input (0)

Die Null in Klammern kann durch einen Offset ersetzt werden. Die Zahl wird dann auf den Sensorwert addiert.

Ich selber habe das mit einem X220 getestet. Dort springt der Temperaturwert aber gerne mal ohne Eingriff um 4-6°C. Deswegen sollte man die Bereiche in Thinkfan großzügig definieren, auch weil beim X220 der Kühlkörper recht klein ist und die Hitze deswegen sensibel auf die Prozessorauslastung und die Lüftergeschwindigkeit reagiert. Außerdem müssen die Werte relativ hoch sein wenn man den Lüfter bei geringer Auslastung auf "level 1" laufen lassen will. Das ist nötig damit der Unterschied von Luft zur Temperatur hoch genug ist. Wer sein Thinkpad (X220) bei unter 52 °C Grad betreiben will der muss auf jeden Fall dauerhaft "level 2" wählen. Allerdings sind die neuen Sandy Bridge Prozessoren bis 100 °C spezifiziert. Das heißt erst wenn sie heißer werden könnten sie kaputt gehen. Im Idealfall kann man sie bei maximaler Leistung bis 85°C betreiben. Das heißt man braucht sich bezüglich Temperatur nicht so viele Sorgen zu machen wie bei der Arrandale Architektur. Allerdings verkürzen hohe Temperaturen natürlich die Lebensdauer der Komponenten und erhitzen auch andere Teile im Thinkpad.

Anbei noch meine Konfiguration für das X220:
Code:
sensor /sys/class/hwmon/hwmon0/temp1_input (0)
sensor /sys/class/hwmon/hwmon1/device/temp1_input (0)
sensor /sys/class/hwmon/hwmon2/device/temp1_input (0)
(0,	0,	46)
(1,	42,	62)
(2,	52,	66)
(3,	56,	70)
(4,	58,	74)
(5,	60,	76)
(7,	63,	32767)

Viele Grüße
Miko
 
Zuletzt bearbeitet:
Hallo linrunner,

habe die neuen Artikel noch gar nicht gemerkt. Dann tut mir das Leid für den doppelten Post.

Kannst Du das noch deinen drei Zeilen zuordnen?
Der erste Wert (hwmod0) ist die Unbekannte und hwmon1 die erste und hwmon2 die zweite CPU.
Wobei diese Zuordnung nur auf Grund der geladenen Kernelmodule für die Temperatursensoren zu machen ist.

Viele Grüße
Miko
 
Kannst Du noch folgenden Output zeigen:
Code:
ls -l /sys/class/hwmon
ls -R /sys/class/hwmon/*
 
Hallo linrunner,

Kannst Du noch folgenden Output zeigen:
Code:
ls -l /sys/class/hwmon
ls -R /sys/class/hwmon/*

Code:
ls -l /sys/class/hwmon
insgesamt 0
lrwxrwxrwx 1 root root 0  9. Mai 19:20 hwmon0 -> ../../devices/virtual/hwmon/hwmon0
lrwxrwxrwx 1 root root 0  9. Mai 19:20 hwmon1 -> ../../devices/platform/coretemp.0/hwmon/hwmon1
lrwxrwxrwx 1 root root 0  9. Mai 19:20 hwmon2 -> ../../devices/platform/coretemp.2/hwmon/hwmon2
lrwxrwxrwx 1 root root 0  9. Mai 19:20 hwmon3 -> ../../devices/platform/thinkpad_hwmon/hwmon/hwmon3

ls -R /sys/class/hwmon/*
/sys/class/hwmon/hwmon0:
name  power  subsystem  temp1_crit  temp1_input  uevent

/sys/class/hwmon/hwmon0/power:
async                 runtime_active_kids  runtime_status
autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
control               runtime_enabled      runtime_usage

/sys/class/hwmon/hwmon1:
device  power  subsystem  uevent

/sys/class/hwmon/hwmon1/power:
async                 runtime_active_kids  runtime_status
autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
control               runtime_enabled      runtime_usage

/sys/class/hwmon/hwmon2:
device  power  subsystem  uevent

/sys/class/hwmon/hwmon2/power:
async                 runtime_active_kids  runtime_status
autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
control               runtime_enabled      runtime_usage

/sys/class/hwmon/hwmon3:
device  power  subsystem  uevent

/sys/class/hwmon/hwmon3/power:
async                 runtime_active_kids  runtime_status
autosuspend_delay_ms  runtime_active_time  runtime_suspended_time
control               runtime_enabled      runtime_usage

hoffe das hilft.

Viele Grüße
Miko
 
Hey,
ich würde auch gerne thinkfan benutzen, hab aber ein allgemeines Problem mit den Sensoren: mir wird nur einer angezeigt. Hardware ist ein T420s.
Hab jetzt Fedora, Mint und Ubuntu ausprobiert, überall das Gleiche:

Code:
lm-sensors liefert:
nils@NoelzeN-TP:/etc$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +39.0°C  (crit = +97.0°C)                  

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

Oben steht ja, bei X220 gibt es 3 Sensoren (hwmon0,1 und 2)
Bei meinem rechner habe ich aber nur hwmon0 und 1.
Im Ordner hwmon0 findet sich auch die angegebene Datei temp1_input
In hwmon1/devices gibt es aber nur

Code:
nils@NoelzeN-TP:/sys/class/hwmon/hwmon1/device$ ls -la
total 0
drwxr-xr-x  4 root root    0 2011-05-18 00:19 .
drwxr-xr-x 13 root root    0 2011-05-18 00:19 ..
lrwxrwxrwx  1 root root    0 2011-05-18 00:19 driver -> ../../../bus/platform/drivers/thinkpad_hwmon
-r--r--r--  1 root root 4096 2011-05-18 00:36 fan1_input
drwxr-xr-x  3 root root    0 2011-05-18 00:19 hwmon
-r--r--r--  1 root root 4096 2011-05-18 00:36 modalias
-r--r--r--  1 root root 4096 2011-05-18 00:36 name
drwxr-xr-x  2 root root    0 2011-05-18 00:36 power
-rw-r--r--  1 root root 4096 2011-05-18 00:36 pwm1
-rw-r--r--  1 root root 4096 2011-05-18 00:36 pwm1_enable
lrwxrwxrwx  1 root root    0 2011-05-18 00:19 subsystem -> ../../../bus/platform
-rw-r--r--  1 root root 4096 2011-05-18 00:19 uevent

Hat das T420s echt nur einen Temperatiursensor? Finde das etwas komisch, vorallem weil ja überall steht, man soll auf die HDD aufpassen, aber bei einem Sensor, bei dem ich nicht weiß, wo der sitzt, ist das irgenwie schwer.
Thinkpad_acpi ist als modul geladen. Hat das irgendwer auf einem T420s laufen? Sollte doch eigentlich ein paar leute geben...
Achja, und ich hoffe, das ist okay, dass ich hier rein poste, wollte nicht extra einen neuen thread aufmachen, hängt ja irgendwie hiermit zusammen...
 
Hallo NoelzeN,

die Thinkpads haben in der Regel zig Temperatursensoren. Diese werden aber von lm-sensors derzeit noch nicht unterstützt und/oder es fehlen Kernelmodule.

Hast du vorher sensors-detect ausgeführt und die Werte in die Konfigurationsdatei zurückschreiben lassen? Danach musst du auch einen Neustart machen.

Poste mir bitte noch die Ausgabe von folgenden zwei Kommandos:
Code:
# cat /etc/sensors3.conf
# lsmod

Viele Grüße
Miko
 
ah, danke für den tip mit sensors-detect. jetzt krieg ich auch drei ausgaben.

sensors3.conf sieht so aus:
Code:
nils@NoelzeN-TP:~$ cat /etc/sensors3.conf 
# libsensors configuration file
# -----------------------------
#
# This default configuration file only includes statements which do not
# differ from one mainboard to the next. Only label, compute and set
# statements for internal voltage and temperature sensors are included.
#
# In general, local changes should not be added to this file, but rather
# placed in custom configuration files located in /etc/sensors.d. This
# approach makes further updates much easier.
#
# Such custom configuration files for specific mainboards can be found at
# http://www.lm-sensors.org/wiki/Configurations
#
# It is recommended not to modify this file, but to drop your local
# changes in /etc/sensors.d/. File with names that start with a dot 
# are ignored.

chip "lm78-*" "lm79-*" "lm80-*"

    label temp1 "M/B Temp"


chip "w83792d-*"

    label in0 "VcoreA"
    label in1 "VcoreB"
    label in6 "+5V"
    label in7 "5VSB"
    label in8 "Vbat"

    set in6_min  5.0 * 0.90
    set in6_max  5.0 * 1.10
    set in7_min  5.0 * 0.90
    set in7_max  5.0 * 1.10
    set in8_min  3.0 * 0.90
    set in8_max  3.0 * 1.10


chip "w83793-*"

    label in0 "VcoreA"
    label in1 "VcoreB"
    label in7 "+5V"
    label in8 "5VSB"
    label in9 "Vbat"

    set in7_min  5.0 * 0.90
    set in7_max  5.0 * 1.10
    set in8_min  5.0 * 0.90
    set in8_max  5.0 * 1.10
    set in9_min  3.0 * 0.90
    set in9_max  3.0 * 1.10


chip "via686a-*"

    label in0 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
    set in4_min 12.0 * 0.90
    set in4_max 12.0 * 1.10


chip "adm1025-*" "ne1619-*"

    label in1 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"
    label in5 "VCC"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
    set in5_min  3.3 * 0.90
    set in5_max  3.3 * 1.10
# Depending on how your chip is hardwired, you may or may not have
# +12V readings.
#    set in4_min 12.0 * 0.90
#    set in4_max 12.0 * 1.10

    label temp1 "CPU Temp"
    label temp2 "M/B Temp"


chip "lm87-*" "adm1024-*"

    label in1 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
    set in4_min 12.0 * 0.90
    set in4_max 12.0 * 1.10

    label temp1 "M/B Temp"
    label temp2 "CPU Temp"


chip "it87-*" "it8712-*" "it8716-*" "it8718-*" "it8720-*"

    label in8 "Vbat"


chip "fscpos-*" "fscher-*"
#FSC "Hermes"

    label in0 "+12V"
    label in1 "+5V"
    label in2 "Vbat"

    label temp1 "CPU Temp"
    label temp2 "M/B Temp"
    label temp3 "Aux Temp"


chip "fscscy-*"
#FSC "Scylla"

    label in0 "+12V"
    label in1 "+5V"
    label in2 "+3.3V"

    label temp1 "CPU0 Temp"
    label temp2 "CPU1 Temp"
    label temp3 "M/B Temp"
    label temp4 "Aux Temp"


chip "fschds-*"
# Fujitsu Technology Solutions, "Hades"-Chip

# Temperatures
    label temp1 "CPU Temp"
    label temp2 "Super I/O Temp"
    label temp3 "System Temp"

# Fans
    label fan1 "PSU Fan"
    label fan2 "CPU Fan"
    label fan3 "System FAN2"
    label fan4 "System FAN3"
    label fan5 "System FAN4"

# Voltages
    label in0 "+12V"
    label in1 "+5V"
    label in2 "Vbat"

chip "fscsyl-*"
# Fujitsu Technology Solutions, "Syleus"-Chip

# Temperatures
    label temp1 "CPU Temp"
    label temp4 "Super I/O Temp"
    label temp5 "Northbridge Temp"

# Fans
    label fan1 "CPU Fan"
    label fan2 "System FAN2"
    label fan3 "System FAN3"
    label fan4 "System FAN4"
    label fan7 "PSU Fan"

# Voltages
    label in0 "+12V"
    label in1 "+5V"
    label in2 "Vbat"
    label in3 "+3.3V"
    label in5 "+3.3V-Aux"

chip "vt1211-*"

    label in5 "+3.3V"

    label temp2 "SIO Temp"


chip "vt8231-*"

    label in5 "+3.3V"


chip "smsc47m192-*"

    label in1 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"
    label in5 "VCC"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
    set in4_min 12.0 * 0.90
    set in4_max 12.0 * 1.10
    set in5_min  3.3 * 0.90
    set in5_max  3.3 * 1.10

    label temp1 "SIO Temp"


chip "lm85-*" "lm85b-*" "lm85c-*" "adm1027-*" "adt7463-*" "adt7468-*" "emc6d100-*" "emc6d102-*"

    label in1 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
# Depending on how your chip is hardwired, you may or may not have
# +12V readings.
#    set in4_min 12.0 * 0.90
#    set in4_max 12.0 * 1.10

    label temp2 "M/B Temp"


chip "pc87365-*" "pc87366-*"

# Voltage inputs

    label in7 "3VSB"
    label in8 "VDD"
    label in9 "Vbat"
    label in10 "AVDD"

    compute in7   @*2, @/2
    compute in8   @*2, @/2
    compute in10  @*2, @/2

# These are the operating conditions as recommended by National
# Semiconductor
    set in7_min   3.0
    set in7_max   3.6
    set in8_min   3.0
    set in8_max   3.6
    set in10_min  3.0
    set in10_max  3.6
# Depending on the hardware setup, the battery voltage may or may not
# be monitored.
#    set in9_min   2.4
#    set in9_max   3.6

    label temp3 "SIO Temp"

    set temp3_min    0
    set temp3_max   70
    set temp3_crit  85


chip "adm1030-*" "adm1031-*"

    label temp1 "M/B Temp"


chip "w83627thf-*"

    label in3 "+5V"
    label in7 "5VSB"
    label in8 "Vbat"

    # Internal resistors
    compute in3  @ * (1 + 34/51), @ / (1 + 34/51)
    compute in7  @ * (1 + 34/51), @ / (1 + 34/51)

    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
    set in7_min  5.0 * 0.90
    set in7_max  5.0 * 1.10
# The battery voltage may or may not be monitored.
#    set in8_min  3.0 * 0.90
#    set in8_max  3.0 * 1.10


chip "w83627ehf-*" "w83627dhg-*" "w83667hg-*" "nct6775-*" "nct6776-*"

    label in0 "Vcore"
    label in2 "AVCC"
    label in3 "+3.3V"
    label in7 "3VSB"
    label in8 "Vbat"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  3.3 * 0.90
    set in3_max  3.3 * 1.10
    set in7_min  3.3 * 0.90
    set in7_max  3.3 * 1.10
    set in8_min  3.0 * 0.90
    set in8_max  3.0 * 1.10


chip "f71805f-*"

    label in0 "+3.3V"

    set in0_min  3.3 * 0.90
    set in0_max  3.3 * 1.10


chip "f71872f-*"

    label in0 "+3.3V"
    label in9 "Vbat"
    label in10 "3VSB"

    set in0_min   3.3 * 0.90
    set in0_max   3.3 * 1.10
    set in9_min   3.0 * 0.90
    set in9_max   3.0 * 1.10
    set in10_min  3.3 * 0.90
    set in10_max  3.3 * 1.10


chip "k8temp-*"

    label temp1 "Core0 Temp"
    label temp2 "Core0 Temp"
    label temp3 "Core1 Temp"
    label temp4 "Core1 Temp"


chip "dme1737-*"

    label in0 "5VSB"
    label in1 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"
    label in5 "3VSB"
    label in6 "Vbat"

    label temp2 "SIO Temp"

    set in0_min  5.0 * 0.90
    set in0_max  5.0 * 1.10
    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
    set in4_min 12.0 * 0.90
    set in4_max 12.0 * 1.10
    set in5_min  3.3 * 0.90
    set in5_max  3.3 * 1.10
    set in6_min  3.0 * 0.90
    set in6_max  3.0 * 1.10


chip "sch311x-*"

    label in1 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"
    label in5 "3VSB"
    label in6 "Vbat"

    label temp2 "SIO Temp"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
    set in4_min 12.0 * 0.90
    set in4_max 12.0 * 1.10
    set in5_min  3.3 * 0.90
    set in5_max  3.3 * 1.10
    set in6_min  3.0 * 0.90
    set in6_max  3.0 * 1.10


chip "sch5027-*"

    label in0 "5VSB"
    label in1 "Vcore"
    label in2 "+3.3V"
    label in5 "3VSB"
    label in6 "Vbat"

    label temp2 "SIO Temp"

    set in0_min  5.0 * 0.90
    set in0_max  5.0 * 1.10
    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in5_min  3.3 * 0.90
    set in5_max  3.3 * 1.10
    set in6_min  3.0 * 0.90
    set in6_max  3.0 * 1.10


chip "sch5127-*"

    label in2 "+3.3V"
    label in5 "3VSB"
    label in6 "Vbat"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in5_min  3.3 * 0.90
    set in5_max  3.3 * 1.10
    set in6_min  3.0 * 0.90
    set in6_max  3.0 * 1.10


chip "f71882fg-*"

    label in0 "+3.3V"
    label in7 "3VSB"
    label in8 "Vbat"

    compute in0  @*2, @/2
    compute in7  @*2, @/2
    compute in8  @*2, @/2


chip "f8000-*"

    label in0 "+3.3V"
    label in1 "3VSB"
    label in2 "Vbat"

    compute in0  @*2, @/2
    compute in1  @*2, @/2
    compute in2  @*2, @/2


chip "adt7473-*" "adt7475-*"

    label in2 "+3.3V"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10

    label temp2 "Board Temp"


chip "adt7476-*" "adt7490-*"

    label in1 "Vcore"
    label in2 "+3.3V"
    label in3 "+5V"
    label in4 "+12V"

    set in2_min  3.3 * 0.90
    set in2_max  3.3 * 1.10
    set in3_min  5.0 * 0.90
    set in3_max  5.0 * 1.10
# Depending on how your ADT7476 is hardwired, you may or may not have
# +12V readings.
#    set in4_min 12.0 * 0.90
#    set in4_max 12.0 * 1.10

    label temp2 "M/B Temp"

lsmod so:
Code:
nils@NoelzeN-TP:~$ lsmod
Module                  Size  Used by
aesni_intel            55161  1 
cryptd                 20510  1 aesni_intel
aes_x86_64             17208  1 aesni_intel
aes_generic            38279  2 aesni_intel,aes_x86_64
binfmt_misc            17565  1 
rfcomm                 47694  0 
sco                    18131  0 
bnep                   18308  0 
l2cap                  53570  4 rfcomm,bnep
parport_pc             36959  0 
ppdev                  17113  0 
snd_hda_codec_hdmi     28103  1 
snd_hda_codec_conexant    57511  1 
snd_hda_intel          33211  2 
btusb                  18600  0 
bluetooth              72448  5 rfcomm,sco,bnep,l2cap,btusb
snd_hda_codec         103804  3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel
joydev                 17606  0 
snd_hwdep              13604  1 snd_hda_codec
snd_pcm                96625  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
thinkpad_acpi          81587  0 
snd_seq_midi           13324  0 
lm75                   13257  0 
snd_rawmidi            30486  1 snd_seq_midi
arc4                   12529  2 
coretemp               13490  0 
snd_seq_midi_event     14899  1 snd_seq_midi
snd_seq                61621  2 snd_seq_midi,snd_seq_midi_event
snd_timer              29602  2 snd_pcm,snd_seq
snd_seq_device         14462  3 snd_seq_midi,snd_rawmidi,snd_seq
iwlagn                333500  0 
i915                  514985  3 
iwlcore               167503  1 iwlagn
psmouse                73535  0 
uvcvideo               72195  0 
drm_kms_helper         42136  1 i915
snd                    67382  15 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,thinkpad_acpi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
mac80211              294370  2 iwlagn,iwlcore
serio_raw              13166  0 
nvram                  14419  1 thinkpad_acpi
lp                     17825  0 
drm                   227495  4 i915,drm_kms_helper
tpm_tis                18537  0 
tpm                    22267  1 tpm_tis
i2c_algo_bit           13400  1 i915
videodev               82052  1 uvcvideo
v4l2_compat_ioctl32    17078  1 videodev
cfg80211              178528  3 iwlagn,iwlcore,mac80211
video                  19438  1 i915
soundcore              12680  1 snd
snd_page_alloc         18529  2 snd_hda_intel,snd_pcm
tpm_bios               13684  1 tpm
xhci_hcd               77643  0 
parport                46458  3 parport_pc,ppdev,lp
e1000e                159096  0 
sdhci_pci              13989  0 
ahci                   25951  5 
libahci                26642  1 ahci
sdhci                  27387  1 sdhci_pci

Außerdem sieht /sys/class/hwmon jetzt auch gut aus:

Code:
nils@NoelzeN-TP:/sys/class/hwmon/hwmon2$ ls -la /sys/class/hwmon/
total 0
drwxr-xr-x  2 root root 0 2011-05-18 11:39 .
drwxr-xr-x 48 root root 0 2011-05-18 11:39 ..
lrwxrwxrwx  1 root root 0 2011-05-18 11:39 hwmon0 -> ../../devices/virtual/hwmon/hwmon0
lrwxrwxrwx  1 root root 0 2011-05-18 11:40 hwmon1 -> ../../devices/platform/coretemp.0/hwmon/hwmon1
lrwxrwxrwx  1 root root 0 2011-05-18 11:40 hwmon2 -> ../../devices/platform/coretemp.2/hwmon/hwmon2
lrwxrwxrwx  1 root root 0 2011-05-18 11:40 hwmon3 -> ../../devices/platform/thinkpad_hwmon/hwmon/hwmon3

Damit sogar ein Sensor mehr als bei X220. Dann bastel ich mir jetzt mal ein Script für TPFanControl zusammen.
Hat das zufällig jemand auf einem T420s laufen und will seine Werte teilen?

Vielen Vielen Dank für die Hilfe

EDIT: So, auch thinkfan funktioniert jetzt.
Vielen Dank
 
Zuletzt bearbeitet:
Hallo Zusammen,

mit Kernel 2.6.39-1 ändert sich die sysfs Schnittstelle. Die Sensoren für die CPU-Kerne sind jetzt unter einem anderen Pfad erreichbar:
/sys/devices/platform/coretemp.0/temp1_input
/sys/devices/platform/coretemp.2/temp1_input

Viele Grüße
Miko
 
Danke für die Infos. Für neue TP Nutzer mit Linux als BS ist das Gold wert!
Bei meinem T420s arbeitet ThinkFan mit diesen Einstellungen recht ordentlich:

(0, 0, 62)
(1, 0, 62)
(2, 56, 68)
(3, 62, 70)
(4, 65, 74)
(5, 69, 82)
(7, 75, 32767)
 
Ich habe das Wiki auf Basis des Hinweises von Miko um eine Anleitung zur Ermittlung aller Sensoren erweitert. Wir wollen ja schließlich nicht, daß etwas abraucht ...

Bitte testet mal die erweiterte Lösung und postet den Output des find-Kommandos mit Angabe von EDIT: Modell/Distri/Kernel. Vielen Dank im voraus für Eure Mühe :).
 
Zuletzt bearbeitet:
Besten Dank an Euch, durch die ganzen Tips laeuft's bei mir nun hier auch reibungslos auf dem T420s (Intel Graphics only):
Code:
find /sys/devices -type f -name "temp*_input"
-->
/sys/devices/platform/coretemp.0/temp1_input
/sys/devices/platform/coretemp.2/temp1_input
/sys/devices/virtual/hwmon/hwmon0/temp1_input

Edit: Linux Mint 11 RC 64bit, Kernel 2.6.38-8
 
Zuletzt bearbeitet:
Kernel: 2.6.38-8-generic

Code:
/sys/devices/platform/coretemp.0/temp1_input
/sys/devices/platform/coretemp.2/temp1_input
/sys/devices/virtual/hwmon/hwmon0/temp1_input

EDIT: Modell: T420s Intel Only
OS: Ubuntu 11.04
 
Muss das "reibungslos" leider nochmal revidieren. :(
Nun ist wieder das selbe Problem aufgetreten, wegen dem ich thinkfan ganz am Anfang nochmal runtergeschmissen habe:
Einige Zeit funktioniert es ganz gut, dann zeigt der Fan irgendwann (laueft nicht!) 65535 RPM an. Treibt man dann die CPU load und damit die Temperatur in die Hoehe, springt der Fan nicht mehr an.

Einstellungen alle wie im wiki und oben beschrieben, thinkfan laueft auch noch als Prozess und sudo thinkfan -n sagt mir das gleiche.
sudo /etc/init.d/thinkfan stop und wieder start aendert auch nichts, Fan bleibt auf 65535 RPM.
Any ideas? :confused:
 
Hallo Tillerman,

starte mal Thinkfan mit "-n" in der Konsole. Dann läuft das Programm nicht als Deamon und du kannst dir in Echtzeit die Ausgabe anschauen. Vielleicht steht da etwas interessantes drin. Ansonsten lohnt sich immer noch /var/log/syslog anzuschauen.

Viele Grüße
Miko
 
Hallo Miko,

danke, habe ich gemacht, thinkfan -n liefert folgendes:
Code:
Config as read from /etc/thinkfan.conf:
Fan level    Low    High
 0        0    36
 1        32    62
 2        52    66
 3        56    70
 4        58    74
 5        60    76
 7        63    32767

sleeptime=5, temp=45, last_temp=0, biased_temp=45 -> level=1
sleeptime=2, temp=59, last_temp=51, biased_temp=66 -> level=3
sleeptime=4, temp=55, last_temp=56, biased_temp=56 -> level=2
sleeptime=2, temp=65, last_temp=56, biased_temp=81 -> level=7
sleeptime=3, temp=60, last_temp=63, biased_temp=61 -> level=5
sleeptime=2, temp=74, last_temp=67, biased_temp=80 -> level=7
sleeptime=5, temp=63, last_temp=64, biased_temp=63 -> level=5
sleeptime=5, temp=60, last_temp=61, biased_temp=60 -> level=4
sleeptime=5, temp=58, last_temp=59, biased_temp=58 -> level=3
Es arbeitet also wie es soll (die Temperatur fuer Stufe 1 ist absichtlich so gewaehlt, Verhalten mit den Standardtemperaturen ist genauso). Nach dem ersten Setzen auf level=1 zeigt sensors die ominoesen 65535 RPM an und der Luefter will einfach nicht wieder anlaufen, und das obwohl die level ja vom Programm geandert werden, siehe oben. Es ist so, als verliere das Programm die Kontrolle ueber den Luefter, sobald er einmal ausgeschaltet wird...

In /var/log/syslog steht waehrend dem Test nichts interessantes:
Code:
May 23 13:42:15 T420s thinkfan: thinkfan 0.7.1 starting...
May 23 13:48:14 T420s thinkfan: thinkfan 0.7.1 starting...
 
Ich habe ein Thinkpad X220 und verwende Fedora 15 mit Kernel 3.0 bzw. 2.9.40 wie er bei Fedora aktuell heißt.

Jedenfalls funktioniert thinkfan (Version 0.7.2) bei mir nicht. Ohne es zu wissen vermute ich, das die Rückgabewerte der Sensoren falsch sind.

/sys/devices/platform/coretemp.0/temp1_input
/sys/devices/platform/coretemp.0/temp2_input
/sys/devices/platform/coretemp.0/temp3_input
/sys/devices/virtual/hwmon/hwmon0/temp1_input

geben jeweils die tausendfache Temperatur zurück. Anstelle von 55° wird eben 55000 zurück gegeben.

Was geben die obigen sysfs Dateien bei euch zurück? Ebenfalls die Temperatur * 1000 oder den richtigen Wert? Funktioniert thinkfan bei euch?

MfG
 
Das mit den 1000ern ist normal und thinkfan kommt auch damit klar. Dein Problem wird an was anderem liegen. Schau mal in das system log /var/log/syslog bzw. starte thinkfan mal in einer Konsole mit -n als Parameter.
 
  • ok1.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen
Zurück
Oben