lm-sensors
Achtung outdated! Mit Kernel 2.6 ist die Sensorlogik in den Kernel gewandert und komplett umgestrickt worden. Aktuelle Distributionen sollten das problemlos unterstuetzen. Diese Seite existiert nur noch aus historischen Gruenden.
Alle Jahre wieder ... Ein neuer Kernel killt einem die schönen selbstgebauten Kernelmodule (sensors, lirc, dvb ...) Hier meine quick + dirty Methode zum Bauen der lm-sensors:
Installation
Ihr braucht natürlich zumindest die Kernelheader Eures laufenden Kernels, sowie gcc und Konsorten. Aktuelle i2c und lm-sensors Source saugen:
http://www2.lm-sensors.nu/~lm78/download.html
In /usr/src entpacken, kompilieren und installieren:
cd /usr/src
tar xzvf i2c-2.7.0.tar.gz
tar xzvf lm-sensors-2.7.0.tar.gz
cd /usr/src/i2c-2.7.0/
make
make install
cd kernel
mkdir /lib/modules/"kernel-version"/kernel/busses
cp *.o /lib/modules/"kernel-version"/kernel/busses/
cd /usr/src/lm_sensors-2.7.0
make
make install
cd kernel/busses
cp *.o /lib/modules/"kenrel-vers"/kernel/busses/
cd ..
cd chips
mkdir /lib/modules/"kernel-vers"/kernel/chips
cp *.o /lib/modules/"kernel-vers"/kernel/chips/
depmod -a
update-modules
sensors-detect
sensors spuckt nette Zahlen über die Prozessortemperatur und je nach Board auch über alle möglichen anderen Sensoren aus:
temp2: +52.0°C
Anschließend noch die Ausgaben von sensors-detect in die Dateien /etc/modules und /etc/modutils/aliases eintragen, bei mir sieht das etwa so aus:
/etc/modules
# I2C adapter drivers
modprobe i2c-viapro
modprobe i2c-isa
# I2C chip drivers
modprobe adm1021
modprobe eeprom
modprobe w83781d
/etc/modutils/aliases
# I2C module options
alias char-major-89 i2c-dev
options adm1021 ignore=0,0x2b
Beim ersten Versuch müssen die Module per Hand geladen werden.
Sollte sensors-detect folgende Fehlermeldungen geben:
Can't open /dev/i2c[-/]0
dann muß noch das Skript ausgeführt werden, das die benötigeten Devices erstellt:
/usr/src/lm_sensors-2.6.5/prog/mkdev/mkdev.sh
Mögliche Probleme:
Unter Debian kann die letzte Frage von sensors-detect "Do you want to generate /etc/sysconfig/lm_sensors? (YES/no):" beruhigt mit "no" beantwortet werden.
Wenn der Aufruf von sensors mit
sensors: error while loading shared libraries: libsensors.so.1: cannot open shared object file: No such file or directory
abbricht, so ist noch /usr/local/lib in die /etc/ld.so.conf hinzuzufügen. Anschließend ldconfig aufrufen!
Wichtig: Wie bei allen Kernelmodulen _müssen_ die gcc-Version, mit denen Kernel und Module kompiliert werden zusammenpassen! Das kann sonst ziemlich amüsante Probleme geben. Mit einem Vergleich der Ausgabe von
ls -l /usr/bin/gcc
cat /proc/version
läßt sich das überprüfen. Da gcc nur ein Link auf das Binary ist, läßt sich durch Umbiegen des Links ganz einfach eine andere gcc-Version herbeizaubern, sofern die denn dann installiert ist.
Solltet Ihr gerade die Chrom-, Lack- und Lederversion eines neuen Boards käuflich erworben haben, so überprüft mal, ob das Board / der Chipsatz / Sensor bereits von lm-sensors unterstützt wird.
Having fun with it:
cpuburn ist ein Tool, daß dem Prozessor mal so richtig einheizt. Einfach per apt-get auf die Platte bannen und das prozessorspezifische Binary aufrufen (burnK7, burnP6 ...).
Das Programm gkrellm kann auch auf die sensors zugreifen und beliebige Sensorendaten anzeigen. Wenn die Sensoren funktionieren reicht ein Neustart von gkrellm und ein weiterer Eintrag sollte im Konfigurationsmenü erscheinen. gkrellm ist übrigens ein witziges Tool mit dem ich meinen Spaß hab.
Daher an dieser Stelle anbei Flynn (bekannt aus Doom), der in gkrellm auf seine eigene Art den Zustand des Systems beurteilt. Vielen Dank an den Autor Henryk Richter, das Plugin macht mir schon lange Spaß. Flynn kompiliert problemlos für gkrellm 1 & 2, sofern gtk- und gkrellm-devel Pakete installiert sind.
