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)
Mit dem Tool 'pwmconfig' könnt ihr /etc/fancontrol erstellen lassen - seid aber vorsichtig damit...Code: Select all
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 - 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)
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.
Wenn es nicht automatisch eingebunden wird:
Code: Select all
mkdir /sys **reboot $ mount | grep sys sysfs on /sys type sysfs (rw)Code: Select all
echo "sysfs /sys sysfs defaults 0 0" >> /etc/fstab ; mount /sys - Veraltete Pakete entfernen
I²C wurde in die Kernelquellen verlagert, gkrellm-sensors ist veraltet, weil gkrellm2 mit sysfs auch so funktioniert.
Code: Select all
emerge -C i2c gkrellm-sensors lm_sensors - Her mit den Kernelquellen
Ich würde mm-sources empfehlen, da hier immer die neuesten lm-sensors Quellen eingebunden werden
Code: Select all
emerge vanilla-sources ODER emerge mm-sources ODER emerge gentoo-sources - /usr/src/linux Symlink umsetzen auf die neuen Kernelquellen.
- I²C als Modul und die entsprechenden Module für eure Hardware selektieren.
Code: Select all
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 kompilieren und in /boot kopieren
Code: Select all
make && make modules_install - Reboot!
- lm_sensors Userspace Anwendungen installieren
Code: Select all
emerge >lm-sensors-2.8.4 - Mit udev sollte mit eine Gerätedatei in /dev angelegt werden.
Code: Select all
modprobe i2c-dev - sensors-detect ausführen, mit sensors Sensordaten anzeigen lassen.
- Mit könnt ihr beim Systemstart die von sensors-detect gefundenen Module laden lassen.
Code: Select all
rc-update add lm_sensors default - (Neu-)Installieren von gkrellm und die Sensordaten anzeigen lassen

gkrellm laden. "properties" aufmachen und das "sensors" item anklicken. Ihr solltet nun eure Sensoren/Lüfter/etc. angezeigt sehen.
Wenn alles gutgegangen ist, solltet ihr sowas haben:
Code: Select all
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- "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?
Code: Select all
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...



