# Temperatursensoren/Lüftersteuerung mit Kernel 2.6

## Master_Of_Disaster

Cool! Subforen! Gleich mal einweihen....

Deutsche Übersetzung von How to use your hardware sensors with Kernel 2.6

Letztes Update am 10. 11. 2005

Dieses HowTo findet sich (auf Englisch) auch unter http://gentoo-wiki.com/HARDWARE_Sensors.

Bitte beachten!

 Für alle Shuttle XPC Besitzer:

Das Problem mit den mit Vollgas drehenden Lüftern sollte mit 2.6.5-rc2-mm4 erledigt sein, it87.c hat nun einen Parameter reset mit dem sich das abstellen lässt.

Ich habe kürzlich im Forum diesen Thread über fancontrol gefunden, mit dem sich temperaturabhängige Lüftersteuerung einstellen lässt: Ich benutze diese Konfigurationsdatei für fancontrol (/etc/fancontrol) (FAN 1 ist der CPU-Lüfter, FAN 2 ist ein Gehäuselüfter, der neben dem offenen Gehäuse steht)

```
INTERVAL=5

FCTEMPS=0-0290/pwm2=0-0290/temp1_input 0-0290/pwm1=0-0290/temp2_input

FCFANS=0-0290/pwm2=0-0290/fan2_input 0-0290/pwm1=0-0290/fan1_input

MINTEMP=0-0290/pwm2=50 0-0290/pwm1=30

MAXTEMP=0-0290/pwm2=60 0-0290/pwm1=50

MINSTART=0-0290/pwm2=150 0-0290/pwm1=150

MINSTOP=0-0290/pwm2=0 0-0290/pwm1=0
```

Mit dem Tool 'pwmconfig' könnt ihr /etc/fancontrol erstellen lassen - seid aber vorsichtig damit...

 Die Module i2c_viapro und VIA686A sollte man nicht gleichzeitig laden, sie haben Probleme miteinander und keins von beiden wird dann funktionieren. (Vielen Dank an Kow)

/Bitte Beachten

1. Einführung

Viele Pakete wurden in die Kernelquellen integriert - eins davon ist lm_sensors.  Dieses Paket besteht aus zwei Komponenten: den Kernelmodulen und den Userspace Anwendungen wie sensors-detect und fancontrol. Mit lm_sensors kann man die Temperatursensoren auf der Mutterplatine auslesen und die Lüftergeschwindigkeit nicht nur messen, sondern auch regeln. Darüberhinaus lassen sich auch Alarme für diese Werte definieren. Bevor ihr dieses Howto ausprobiert, bedenkt dass (immer) noch nicht alle Module auf den 2.6er Kernel portiert wurden. Weitere Informationen über den Portierungsstatus von bestimmten Modulen und über die Portierung von lm_sensors von 2.4 auf 2.6 findet ihr hier, hier und hier.

2. Wie geht's nun?

 Lest euch als erstes diese Seite durch, die lm-sensors Leute erzählen euch hier was man machen kann wenn der Chip nicht erkannt wird, welche speziellen Modulparameter notwendig sind für bestimmte Hardware und, was am wichtigsten ist, ob eure Hardware mit 2.6.x überhaupt unterstützt wird.

 /sys anlegen wenns noch nicht esistiert, und nachschauen ob es auch eingebunden wird.

```
mkdir /sys

**reboot

$ mount | grep sys

sysfs on /sys type sysfs (rw)

```

Wenn es nicht automatisch eingebunden wird:

```
echo "sysfs /sys sysfs defaults 0 0" >> /etc/fstab ; mount /sys
```

 Veraltete Pakete entfernen

```
emerge -C i2c gkrellm-sensors lm_sensors
```

I²C wurde in die Kernelquellen verlagert, gkrellm-sensors ist veraltet, weil gkrellm2 mit sysfs auch so funktioniert.

 Her mit den Kernelquellen

```
emerge vanilla-sources ODER emerge mm-sources ODER emerge gentoo-sources
```

Ich würde mm-sources empfehlen, da hier immer die neuesten lm-sensors Quellen eingebunden werden

 /usr/src/linux Symlink umsetzen auf die neuen Kernelquellen.

 I²C als Modul und die entsprechenden Module für eure Hardware selektieren.

```
Device Drivers --->

 I2C support  --->

  <M> I2C support

  <M> I2C device interface

  I2C Hardware Bus support  --->

    <M> Choose the appropriate module for your hardware here

  I2C Hardware Sensors Chip support  --->

    <M> Choose the appropriate module for your sensors here
```

 Kernel mit 

```
make && make modules_install
```

 kompilieren und in /boot kopieren

 Reboot!

 lm_sensors Userspace Anwendungen installieren

```
emerge >lm-sensors-2.8.4
```

 Mit udev sollte mit 

```
modprobe i2c-dev
```

 eine Gerätedatei in /dev angelegt werden.

 sensors-detect ausführen, mit sensors Sensordaten anzeigen lassen.

 Mit 

```
rc-update add lm_sensors default
```

 könnt ihr beim Systemstart die von sensors-detect gefundenen Module laden lassen.

 (Neu-)Installieren von gkrellm und die Sensordaten anzeigen lassen  :Wink: 

gkrellm laden. "properties" aufmachen und das "sensors" item anklicken. Ihr solltet nun eure Sensoren/Lüfter/etc. angezeigt sehen.

3. Troubleshooting

Wenn alles gutgegangen ist, solltet ihr sowas haben:

```
fuero@bmfh fuero $ sensors

it87-isa-0290

Adapter: ISA adapter

Algorithm: ISA algorithm

ERROR: Can't get alarm data!

VCore 1:   +1.48 V  (min =  +1.53 V, max =  +1.87 V)

VCore 2:   +1.47 V  (min =  +2.25 V, max =  +2.75 V)

+3.3V:     +6.64 V  (min =  +2.96 V, max =  +3.60 V)

+5V:       +4.86 V  (min =  +4.50 V, max =  +5.48 V)

+12V:     +11.84 V  (min = +11.36 V, max = +13.80 V)

-12V:     -20.38 V  (min = -15.86 V, max = -13.40 V)

-5V:       -2.38 V  (min = -10.13 V, max =  -9.44 V)

Stdby:     +4.77 V  (min =  +4.50 V, max =  +5.48 V)

VBat:      +4.08 V

fan1:     3770 RPM  (min = 3000 RPM, div = 2)

fan2:        0 RPM  (min = 3000 RPM, div = 2)

fan3:        0 RPM  (min = 3000 RPM, div = 2)

M/B Temp:    +54°C  (low  =   +20°C, high =   +60°C)   sensor = thermistor

CPU Temp:    -22°C  (low  =   +20°C, high =   +60°C)   sensor = invalid

Temp3:       +40°C  (low  =   +20°C, high =   +60°C)   sensor = thermistor

fuero@bmfh fuero $ ls /sys/bus/i2c/devices/

0-0290

fuero@bmfh fuero $ ls /sys/bus/i2c/devices/0-0290/

alarms        fan_div1      fan_min1      in_input3     in_input7     in_max3       in_max7       in_min3       in_min7       pwm1          sensor2       temp_max2

beep_enable   fan_div2      fan_min2      in_input4     in_input8     in_max4       in_max8       in_min4       in_min8       pwm2          temp_input1   temp_min1

beep_mask     fan_input1    in_input0     in_input5     in_max0       in_max5       in_min0       in_min5       name          pwm_enable2   temp_input2   temp_min2

detach_state  fan_input2    in_input2     in_input6     in_max2       in_max6       in_min2       in_min6       power         sensor1       temp_max1
```

Wenn ihr sowas nicht habt, dann probiert's mal mit sensors-detect. (Dazu solltet ihr *alle* Chips/Sensoren bei der Konfiguration des Kernels als Modul kompilieren)

 "Ich seh meine Sensoren nicht!" or "Meine Sensoren werden nicht erkannt!", Was kann ich tun?

RTFM hier, hier und hier, und schaut euch die bug reports hier. Wenn ihr da keine Hilfe findet, kann ich euch auch nicht mehr erzählen - Ihr könnt mit den Modulparametern und den Modulen herumexperimentieren (sollte eigentlich sensors-detect für euch machen), ihr könnt auch den lm_sensors Leuten einen Bugreport schicken.

 "Die Werte, die die Sensoren zeigen müssen um xxx korrigiert werden!", Was kann ich tun?

Wenn ihr lm_sensors installiert habt, und die "richtigen" Ausgaben bei einem Aufruf von 'sensors' haben wollt, editiert /etc/sensors.conf und ändert die Datei nach euren Wünschen.

Bei Problemen mit gkrellm, könnt ihr Werte in die 'Offset' und 'Factor' Felder im 'Properties' Fenster eingeben.

 sensors-detect sagt mir "No i2c device files found. Use prog/mkdev/mkdev.sh to create them"! Was soll ich tun?

```
modprobe i2c-dev ; sensors-detect
```

 sensors-detect findet keine Module! / Warum fehlen diese Module?

Versichert euch, dass ihr die richtigen Optionen im Kernel selektiert habt, und dass ihr 1. gelesen habt...

Viel Glück!

----------

## Perfect_P

Hi Master,

hab mal anhand von deinen Tut versucht die sensoren bei mir einzurichten. Leider ohne erfolge. Bei mir im kernel gibt es den Unterpunkt 

```
Device Drivers --->

 I2C support  --->

  I2C Hardware Sensors Chip support  --->

    <M> Choose the appropriate module for your sensors here
```

 nicht......ich hab ein Asus nforce4 brett. der kernel ist der neue 2.6.14-gentoo-r2 (die mms sources hatten aber das gleiche problem...). Wird mein Brett einfach nciht unterstützt, oder muss ich ncoh was anderes einstellen, damit der unterpunkt angezeigt wird?

mfg und thx

P

----------

## misterjack

http://de.gentoo-wiki.com/LM-Sensors

----------

## Keggy

Hallo

also ich habe auch lm sensor instaliert auf debian server system

leider gibt er mir falsche cpu temp aus wie kann ich das korigiren

via686a-isa-6000

Adapter: ISA adapter

in0:         +1.79 V  (min =  +0.06 V, max =  +3.10 V)

in1:         +2.49 V  (min =  +2.36 V, max =  +2.61 V)

in2:         +3.29 V  (min =  +3.12 V, max =  +3.45 V)

in3:         +5.13 V  (min =  +4.73 V, max =  +5.20 V)

in4:        +12.37 V  (min = +11.35 V, max = +12.48 V)

fan1:          0 RPM  (min =    0 RPM, div = 2)

fan2:       2689 RPM  (min =    0 RPM, div = 2)

temp1:      +146.2Â°C  (high = +146.2Â°C, hyst = -70.9Â°C)

temp2:      +146.2Â°C  (high = +146.2Â°C, hyst = -70.9Â°C)

temp3:       +24.6Â°C  (high = +146.2Â°C, hyst = +146.2Â°C)

habe schon im sensors3.conf geschaut

dan habe ich mal die datei ganz gelöscht und trotzdem kammen die werte hir

also gibt es noch eine andre datei oh es drinn steht

kann mie da einer weitehelfen

MFG Keggy

----------

