Unterabschnitte

1.1 LMSENSORS - Hardware-Sensoren auslesen

OPT_LMSENSORS erweitert fli4l um die Möglichkeit, Hardware-Sensoren des Mainboards oder anderer externer Sensoren (Parallelport-Adapter, ISA-Adapter) auszulesen, z.B. CPU-Temperatur, Mainboard Spannung oder Lüfterdrehzahlen.

Die Daten können über folgende Möglichkeiten angezeigt werden:

Das Paket basiert auf dem Linux Projekt lm_sensors Version 2.9.2 sowie i2c Version 2.9.2.
Von dessen Autor Jean Delvare wurden, freundlicherweise, notwendige Anpassungen an die uclibc vorgenommen und in die Entwicklerversion übernommen.

Als Vorlage für dieses Paket diente das OPT_SENSORS für fli4l 2.0.8 von Gero Kuhlmann.

Disclaimer:

Der Autor gibt weder eine Garantie auf die Funktionsfähigkeit des OPT_LMSENSORS, noch haftet er für Schäden, z.B. Datenverlust, die durch den Einsatz von OPT_LMSENSORS entstehen.


1.1.1 Basiskonfiguration des OPT_LMSENSORS

Die Konfiguration erfolgt, wie bei allen fli4l Opts, durch Anpassung der Datei 'fli4l-2.x.z/<config>/lmsensors.txt' an die eigenen Anforderungen.

Die Einbindung eines Sensors erfolgt mit bis zu 3 Kernel Komponenten, die beim Starten geladen werden:

Welche Module für Ihr Mainboard, bzw. Ihren Adapter benötigt werden, entnehmen Sie bitte den Dokumentations-Seiten des lm_sensors Projektes. Dort gibt es auch eine Übersicht über die unterstützten Sensoren, sowie eine Anleitung wie unbekannte Sensoren identifiziert werden können. Allerdings ist das dort genannte Script 'sensors-detect' zur automatischen Erkennung der sensoren unter fli4l nicht lauffähig.
Darüber hinaus empfiehlt es sich auf den Internet Seiten des jeweiligen Hardware Herstellers nach entsprechenden Angaben zu suchen. Im Internet finden sich auch viele Hinweise bei einer Suche z.B. mit den Sichworten 'lm_sensors', 'Mainbord-Bezeichnung', etc.

Das Basissytem von OPT_LMSENSORS lässt sich über folgende Variablen konfigurieren:

OPT_LMSENSORS

Standard-Wert: OPT_LMSENSORS='no'

Die Einstellung 'no' deaktiviert das OPT_LMSENSORS Paket vollständig. Es werden keine Änderungen an der fli4l Bootdiskette bzw. dem Archiv opt_tar.bz2 vorgenommen.
Die Einstellung 'yes' aktiviert das OPT_LMSENSORS Paket.

OPT_LMSENSORS überschreibt grundsätzlich keine anderen Teile der fli4l Installation.

LMSENSORS_ALGO

Standard-Wert: LMSENSORS_ALGO=''

Einige Adapter (Bsp. Parallelport-Adapter, ISA-Adapter) benötigen zum Betrieb ein Algorithmus-Modul.
Mögliche Werte entnehmen Sie der Tabelle 1.1.

Tabelle 1.1: Mögliche Werte für LMSENSORS_ALGO
Wert Bedeutung
'leer' Default for most onboard adapter
algo-bit A bit-banging algorithm (ex. parallel-port adapter)
algo-pcf A PCF 8584 style algorithm

Weiterführende Hinweise entnehmen Sie bitte der lm_sensors-Dokumentation.

LMSENSORS_BUS

Standard-Wert: LMSENSORS_BUS=''

Treiber für das Bus-Interface bzw. den I2C-Adapter. Es muß genau ein Treiber ausgewählt werden.
Mögliche Werte entnehmen Sie der Tabelle 1.2.

Tabelle 1.2: Mögliche Werte für LMSENSORS_BUS
Wert Bedeutung
I2C-Adapter:
elektor Elektor ISA card (uses i2c-algo-pcf)
elv ELV parallel port adapter (uses i2c-algo-bit)
pcf-epp PCF8584 on a EPP parallel port (uses i2c-algo-pcf)
philips-par Philips style parallel port adapter (uses i2c-algo-bit)
pport Primitive parallel port adapter (uses i2c-algo-bit)
velleman Velleman K8000 parallel port adapter (uses i2c-algo-bit)
Bus Interface:
ali1535 -
ali15x3 -
amd756 -
amd8111 -
hydra -
ipmb -
ipmi -
i801 -
i810 -
piix4 -
savage4 -
sis5595 -
sis630 -
sis645 -
tsunami -
via -
viapro -
voodoo3 -

Weiterführende Hinweise entnehmen Sie bitte der lm_sensors-Dokumentation.

LMSENSORS_N LMSENSORS_x

Standard-Wert: LMSENSORS_N='1'

Mit LMSENSORS_N geben Sie die Anzahl, der in Ihrem System vorhandenen Sensor-Chips an, die ausgewertet werden sollen.

Für jeden Sensor-Chip geben Sie den Typ des jeweligen Moduls an, das geladen werden soll.
Mögliche Werte entnehmen Sie der Tabelle 1.3.

Tabelle 1.3: Mögliche Werte für LMSENSORS_x
Wert Bedeutung
Driver Chips #temp #vin #fanin pwm/dac I2C ISA
adm1021 adm1021 2 - - - yes no
adm1021a 2 - - - yes no
adm1023 2 - - - yes no
gl523sm 2 - - - yes no
lm84 2 - - - yes no
max1617 2 - - - yes no
max1617a 2 - - - yes no
tc1068 2 - - - yes no
tcm1617 2 - - - yes no
thmc10 2 - - - yes no
mc1066 2 - - - yes no
xeon 1 - - - yes no
ne1617 2 - - - yes no
ne1617a 2 - - - yes no
adm1024 adm1024 3 6 - 1 dac yes no
adm1025 adm1025 2 6 - - yes no
ne1619 2 6 - - yes no
adm1026 adm1026 3 17 8 2 pwm+dac yes no
adm1031 adm1030 2 - 1 1 pwm yes no
adm1031 3 - 2 2 pwm yes no
adm9240 adm9240 1 6 2 1 dac yes no
ds1780 1 6 2 1 dac yes no
lm81 1 6 2 1 dac yes no
asb100 asb100 4 7 3 1 yes no
bmcsensors bmcsensors ? ? ? - no no
ds1621 ds1621 1 - - - yes no
ds1625 1 - - - yes no
fscher fscher 3 3 3 - yes no
fscpos fscpos 3 3 3 - yes no
fscscy fscscy 4 3 6 - yes no
gl518sm gl518sm (r00) 1 1-4 2 - yes no
gl518sm (r80) 1 4 2 - yes no
gl520sm gl520sm 1-2 4-5 2 - yes no
it87 it8712 3 8 3 3 pwm yes yes
it8705 3 8 3 3 pwm yes yes
sis950 3 8 3 3 pwm yes yes
lm63 lm63 2 - 1 1 pwm yes no
lm75 lm75 1 - - - yes no
ds75 1 - - - yes no
ds1775 1 - - - yes no
max6625 1 - - - yes no
max6626 1 - - - yes no
tcn75 1 - - - yes no
lm78 lm78 1 7 3 - yes yes
lm78-j 1 7 3 - yes yes
lm79 1 7 3 - yes yes
lm80 lm80 1 7 2 - yes no
lm83 lm83 4 - - - yes no
lm85 lm85 3 5 4 3 pwm yes no
adm1027 3 5 4 3 pwm yes no
adt7463 3 5 4 3 pwm yes no
lm87 lm87 2-3 6-8 0-2 1 pwm yes no
lm90 lm90 2 - - - yes no
lm99 2 - - - yes no
lm86 2 - - - yes no
adm1032 2 - - - yes no
max6657 2 - - - yes no
lm89 2 - - - yes no
max6658 2 - - - yes no
max6659 2 - - - yes no
adt7461 2 - - - yes no
lm92 lm92 1 - - - yes no
max6633 1 - - - yes no
max6634 1 - - - yes no
max6635 1 - - - yes no
lm76 1 - - - yes no
max1619 max1619 2 - - - yes no
max6650 max6650 - - 1 1 pwm yes no
max6651 - - 4 1 pwm yes no
maxilife maxilife-as 5 4 3 - yes no
maxilife-co 5 4 3 - yes no
maxilife-cg 5 4 3 - yes no
mtp008 mtp008 3 7 3 3 pwm yes no
pc87360 pc87360 - - 2 2 pwm no yes (LPC)
pc87363 - - 2 2 pwm no yes (LPC)
pc87364 - - 3 3 pwm no yes (LPC)
pc87365 2 11 3 3 pwm no yes (LPC)
pc87366 3-4 11 3 3 pwm no yes (LPC)
sis5595 sis5595 0-1 4-5 2 - no yes
smartbatt smartbatt 1 1 - - yes no
smsc47m1 smsc47b27x - - 2 2 no yes (LPC)
smsc47m10x - - 2 2 no yes (LPC)
smsc47m13x - - 2 2 no yes (LPC)
smsc47m14x - - 2 2 no yes (LPC)
smsc47m15x - - 2 2 no yes (LPC)
smsc47m192 - - 2 2 no yes (LPC)
thmc50 adm1022 3 2 - 1 dac yes no
thmc50 3 2 - 1 dac yes no
via686a via686a 3 5 2 - no yes
vt8231 3 5 2 - no yes
vt1211 vt1211 2-7 2-7 2 2 no yes (LPC)
vt8231 vt8231 2-7 2-7 2 2 no yes
w83627hf w83627hf 3 9 3 2 pwm no yes (LPC)
w83627thf 3 7 3 3 pwm no yes (LPC)
w83637hf 3 7 2 3 pwm no yes (LPC)
w83697hf 2 8 2 2 pwm no yes (LPC)
w83781d as99127f 3 7 3 - yes no
w83781d 3 7 3 - yes yes
w83782d 3 9 3 2-4 pwm yes yes
w83783s 1-2 5-6 3 2 pwm yes no
w83791d 3 10 5 5 pwm yes no
w83627hf 3 9 3 2 pwm yes yes (LPC)
w83697hf 2 6 2 2 pwm no yes
w83l785ts w83l785ts 1 - - - yes no
w83792d w83792d 3 9 7 3 pwm yes no
xeontemp xeontemp 1 - - - yes no
Supportet non-sensor chips
bmcsensors An interface to an IPMI BMC (Baseboard management controller)
bt869 bt869 video modulator chip
ddcmon DDC-compliant monitor integrated eeproms - reads locations only
ds1307 real-time clock
eeprom Memory SPD (serial presence detect) eeproms - reads locations only
Xeon scratch eeproms - reads locations only
icspll supported clock chips - reads registers only
ltc1710 ltc1710 two switches only
matorb Matrix Orbital LCD displays
pca9540 2-channel I2C multiplexer
pcf8574 Simple eight-bit parallel I/O
pcf8574a Simple eight-bit parallel I/O
pcf8591 Quad A/D + one D/A
saa1064 4-digit LED-driver
smbus-arp An SMBus 2.0 ARP client

Weiterführende Hinweise entnehmen Sie bitte der lm_sensors-Dokumentation.

LMSENSORS_PRIVATCONFIGFILE

Standard-Wert: LMSENSORS_PRIVATCONFIGFILE='no'

In der Datei /etc/sensors.conf werden Sensor spezifische Konfigurationen hinterlegt und bei der Ausführung von 'sensors' genutzt. Dazu gehören:

Die detailierte Beschreibung der Einträge und Einstellungen findet sich am Anfang der Datei sensors.conf.

Im Standard wird die default Datei sensors.conf des lm_sensors Projektes genutzt. Je nach Anwendung macht es allerdings Sinn eine angepasste Version der Datei zu nutzen, um z.B. die Bezeichnung der Werte oder die Werte selbst anzupassen.
Wenn Sie eine eigene sensors.conf nutzen möchten, setzen Sie LMSENSORS_PRIVATCONFIGFILE='yes' und legen Sie die angepasste Datei nach <fli4l-dir>/<config-dir>/lmsensors/sensors.conf. Die Datei wird dann automatsich auf den fli4l kopiert. Die angepasste sensors.conf muß nur die Abschnitte der tatsächlich vorhandenen Sensoren enthalten.

LMSENSORS_I2CTOOLS

Standard-Wert: LMSENSORS_I2CTOOLS='no'

Installiert zusätzliche Tools, die im lm_sensors Projekt enthalten sind nach /usr/local/sbin. Die Tools sind in Tabelle 1.4 aufgelistet.

Tabelle 1.4: Installierbare I2C-Tools:
Programm Beschreibung
ic2detect i2cdetect is a userspace program to scan an I2C bus for devices. It outputs a table with the list of detected devices on the specified bus.
ic2dump i2cdump is a small helper program to examine registers visible through the I2C bus.
ic2set i2cset is a small helper program to set registers visible through the I2C bus.
isadump isadump is a small helper program to examine registers visible through the ISA bus. It is intended to probe any chip that lives on the ISA bus.
isaset isaset is a small helper program to set registers visible through the ISA bus.

1.1.2 Konfiguration HTTPD Ausgabe

LMSENSORS_WEBGUI

Standard-Wert: LMSENSORS_WEBGUI='no'

LMSENSORS_WEBGUI='yes' schaltet die Ausgabe der Hardware- Sensoren im Mini-Web-Server des fli4l ein. Es wird eine Webseite mit der Ausgabe von SENSORS angezeigt, die alle 60 sec. aktualisiert wird.


Wichtig: Benötigt das Paket OPT_HTTPD

1.1.3 Konfiguration RRDTool Ausgabe

Eine RRD Datenbank hat eine konstante Größe und mittelt Werte die in der Vergangenheit liegen. Je länger die Daten zurückliegen desto länger ist der Zeitraum über den gemittelt wird, somit werden die Spitzenwerte immer mehr eliminiert.
LMSENSORS nutzt das OPT_RRDTOOL für fli4l, eine RRD Implementierung von Tobias Oetiker und erzeugt Diagramme die durch das OPT_RRDTOOL vorgegeben bzw. standardisiert sind. Es ist möglich je ein Diagramm für Temperaturen, Spannungen und Drehzahlen darzustellen. Die verschiedenen Sensoren einer Gruppe werden dabei in einem Diagramm durch unterschiedliche Linien dargestellt.

Die für das RRDTOLL benötigten Dateien werden zum boot-Zeitpunkt dynamisch erzeugt und in die Standard-Abläufe von RRDTOLL integriert.


Wichtig: Benötigt das Paket OPT_RRDTOOL von Stefan Krister.

LMSENSORS_RRD

Standard-Wert: LMSENSORS_RRD='no'

LMSENSORS_RRD='yes' ergänzt das aktivierte OPT_RRDTOOL um die Diagramme der LMSENSORS Daten.

LMSENSORS_RRD_CREATEDB

Standard-Wert: LMSENSORS_RRD_CREATEDB='no'

LMSENSORS_RRD_CREATEDB='yes' erstellt die zum OPT_LMSENSORS gehörenden RRD Datenbanken neu. Nach einem einmaligen Aufruf mit dem Wert 'yes' sollte der Wert wieder auf 'no' gestellt werden, da sonst die Datenbanken bei jedem fli4l start neu erstellt werden und damit die alten Werte verloren gehen.


Wichtig: Bei jeder Änderung eines RRD Parameters müssen die Datenbanken einmalig neu generiert, oder händisch gelöscht werden. Dabei gehen alle bisherigen Daten verloren.

LMSENSORS_RRD_VALUE_INTERVAL

Standard-Wert: LMSENSORS_RRD_VALUE_INTERVAL='1'

Anzahl der Minuten, nach denen die Sensor-Daten aktualisiert werden.

LMSENSORS_RRD_GRAPH_INTERVAL

Standard-Wert: LMSENSORS_RRD_GRAPH_INTERVAL='5'

Anzahl der Minuten, nach denen die Sensor-Grafiken neu erstellt werden.

LMSENSORS_RRD_GRAPH_PATH

Standard-Wert: LMSENSORS_RRD_GRAPH_PATH='/boot/data/rrdtool/sensors'

Verzeichnis, in dem die erzeugten Grafik-Dateien abgelegt werden. Das Verzeichnis sollte sich an der Einstellung im OPT_RRDTOOL orientieren.

LMSENSORS_RRD_TEMP_N

Gibt die Anzahl der Werte in der Temperatur-Grafik an. LMSENSORS_RRD_TEMP_N='0' deaktiviert die Grafik.

LMSENSORS_RRD_TEMP_x_LABEL

Gibt den SENSOR-Namen des jeweilgen Temperatur-Wertes an, der gelesen werden soll. Der Name entspricht der Anzeige der sensors Ausgabe. Sie können den Wert folgendermaßen ermitteln:

Bei mehreren Sensoren in dem System muß sichgerstellt sein, dass die Werte sensorübergreifend eindeutig benamt sind. Dies wird durch entsprechende label-Einträge in der Datei sensors.conf erreicht (siehe LMSENSORS_PRIVATCONFIGFILE).

LMSENSORS_RRD_VOLT_N

Gibt die Anzahl der Werte in der Spannungs-Grafik an. LMSENSORS_RRD_VOLT_N='0' deaktiviert die Grafik.

LMSENSORS_RRD_VOLT_x_LABEL

Gibt den SENSOR-Namen des jeweilgen Spannungs-Wertes an, der gelesen werden soll. Der Name entspricht der Anzeige der sensors Ausgabe.

Weitere Hinweise können Sie dem Anschnitt LMSENSORS_RRD_TEMP_x_LABEL entnehmen.

LMSENSORS_RRD_FAN_N

Gibt die Anzahl der Werte in der Drehzahl-Grafik an. LMSENSORS_RRD_FAN_N='0' deaktiviert die Grafik.

LMSENSORS_RRD_FAN_x_LABEL

Gibt den SENSOR-Namen des jeweilgen Drehzahl-Wertes an, der gelesen werden soll. Der Name entspricht der Anzeige der sensors Ausgabe.

Weitere Hinweise können Sie dem Anschnitt LMSENSORS_RRD_TEMP_x_LABEL entnehmen.

1.1.4 Konfiguration LCD Ausgabe

Das OPT_LCD ermöglicht die Darstellung benutzerdefinierter Daten auf dem LCD Display. Es handelt sich dabei um die LCD-Datentypen 40 - 43. Die anzuzeigenden lmsensors-Werte werden in die entsprechenden Textdateien geschrieben. Die Aktualisierung der Daten erfolgt alle 1 Sekunde per cron - Job.


Wichtig: Benötigt die Pakete OPT_LCD und OPT_EASYCRON.

LMSENSORS_LCD

Standard-Wert: LMSENSORS_LCD='no'

LMSENSORS_LCD='yes' schaltet die Ausgabe der Hardwaresensor- Werte in die benutzerspezifischen Daten des OPT_LCD ein.


Wichtig: Benötigt die Pakete OPT_LCD und OPT_EASYCRON

LMSENSORS_LCD_1_LABEL

Standard-Wert: LMSENSORS_LCD_1_LABEL=''

Legt den Wert für den LCD-Datentyp 40 fest und speichert diesen nach /etc/lcd_text1.txt. Soll dieser Datentyp durch lmsensors nicht genutzt werden, so muß der Wert leer bleiben LMSENSORS_LCD_1_LABEL=''. Ansonsten muß der SENSOR-Namen des jeweilgen Wertes angegeben werden, der für die LCD-Anzeige gelesen werden soll. Der Name entspricht der Anzeige der sensors Ausgabe. Sie können den Wert folgendermaßen ermitteln:

Bei mehreren Sensoren in dem System muß sichgerstellt sein, dass die Werte sensorübergreifend eindeutig benamt sind. Dies wird durch entsprechende label-Einträge in der Datei sensors.conf erreicht (siehe LMSENSORS_PRIVATCONFIGFILE).

LMSENSORS_LCD_2_LABEL

Standard-Wert: LMSENSORS_LCD_2_LABEL=''

Legt den Wert für den LCD-Datentyp 41 fest und speichert diesen nach /etc/lcd_text2.txt. Soll dieser Datentyp durch lmsensors nicht genutzt werden, so muß der Wert leer bleiben LMSENSORS_LCD_2_LABEL=''. Ansonsten muß der SENSOR-Namen des jeweilgen Wertes angegeben werden, der für die LCD-Anzeige gelesen werden soll. Der Name entspricht der Anzeige der sensors Ausgabe.

Weitere Hinweise können Sie dem Anschnitt LMSENSORS_LCD_1_LABEL entnehmen.

LMSENSORS_LCD_3_LABEL

Standard-Wert: LMSENSORS_LCD_3_LABEL=''

Legt den Wert für den LCD-Datentyp 42 fest und speichert diesen nach /etc/lcd_text3.txt. Soll dieser Datentyp durch lmsensors nicht genutzt werden, so muß der Wert leer bleiben LMSENSORS_LCD_3_LABEL=''. Ansonsten muß der SENSOR-Namen des jeweilgen Wertes angegeben werden, der für die LCD-Anzeige gelesen werden soll. Der Name entspricht der Anzeige der sensors Ausgabe.

Weitere Hinweise können Sie dem Anschnitt LMSENSORS_LCD_1_LABEL entnehmen.

LMSENSORS_LCD_4_LABEL

Standard-Wert: LMSENSORS_LCD_4_LABEL=''

Legt den Wert für den LCD-Datentyp 43 fest und speichert diesen nach /etc/lcd_text4.txt. Soll dieser Datentyp durch lmsensors nicht genutzt werden, so muß der Wert leer bleiben LMSENSORS_LCD_4_LABEL=''. Ansonsten muß der SENSOR-Namen des jeweilgen Wertes angegeben werden, der für die LCD-Anzeige gelesen werden soll. Der Name entspricht der Anzeige der sensors Ausgabe.

Weitere Hinweise können Sie dem Anschnitt LMSENSORS_LCD_1_LABEL entnehmen.

Das Fli4l-Team
29. November 2005