LM-Sensors

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Teil ist Artikel der Hardware Serie.
Laptops Motherboards Servers Eingabegeräte RAID Controller TV Karten Wireless Andere Hardware Andere Architekturen alphabetischer Hardware Index


Inhaltsverzeichnis

[Bearbeiten] Vorwort

LM-Sensors dient zum Auslesen von CPU und Mainboard Temperatur, Lüfterdrehzahlen und Netzteilspannungen. Um überhaupt zu wissen, ob das eigene Mainboard diese Funktion unterstützt, sollte man sich auf der Motherboard List von MBM oder auf der Supported Device List von der lm_sensors Seite kundig machen. Diese Liste braucht man auch zum Konfigurieren des Kernels. Verschiedene Tools wie Gdesklets, Gkrellm2 und Torsmo z.b. sind in der Lage die von LM-Sensors ausgelesenen Werte auf dem Desktop anzuzeigen. Die hier gezeigten Kerneloptionen funktionieren mit einem MSI KT880 Mainboard.

[Bearbeiten] Kernel konfigurieren

Wie man einen Kernel manuel konfiguriert und kompiliert, steht im Kernel Howto.

[Bearbeiten] ISA/SMBus

Für gewöhnlich werden die Sensoren über den ISA-Bus oder den SMBus angesprochen. Für ISA muss man folgendes setzen:

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  ---> 
 [*] ISA support

TODO: Hier hat es gereicht unter "I2C Hardware Bus support" den "ISA Bus support" zu aktivieren (Ich will ja keine ISA-Soundkarte nutzen, etc...)

[Bearbeiten] I²C Support

Es reicht, sämtliche I²C Optionen als Kernelmodul kompilieren zu lassen. Nun braucht man I²C Support:

 Device Drivers  --->
  I2C support  --->
   <M> I2C support
   <M>   I2C device interface
         I2C Algorithms  --->
         I2C Hardware Bus support  --->
         Hardware Sensors Chip support  ---> nur bis Kernel 2.6.13
         Other I2C Chip support  --->
   [ ]   I2C Core debugging messages
   [ ]   I2C Algorithm debugging messages
   [ ]   I2C Bus debugging messages
   [ ]   I2C Chip debugging messages

[Bearbeiten] I²C Algorithms

Hier habe ich bei mir keine Option gesetzt, sollte das Auslesen nicht funktionieren, kann man mit den Einstellungen ein wenig experimentieren.

< > I2C bit-banging interfaces
< > I2C PCF 8584 interfaces
< > I2C PCA 9564 interfaces

[Bearbeiten] I²C Hardware Bus support

Hier muss man betreffend seiner Hardware die richtige Auswahl treffen.

<M> ISA Bus support
<M> I2C/SMBus Test Stub
<M> VIA 82C586B
<M> VIA 82C596/82C686/823x 

[Bearbeiten] Hardware Sensors Chip support

Hier ist die Motherboard List sowie die Supported Device List Anlaufstellen um die richtigen Optionen zu setzen. Bei mir:

<M> Winbond W83627HF, W83627THF, W83637HF, W83697HF

[Bearbeiten] >= Kernel 2.6.14

Ab 2.6.14 befinden sich die Optionen hier:

Device Drivers  --->
 Hardware Monitoring support  --->
  <M> Hardware Monitoring support

Nun hier den richtigen Treiber auswählen

[Bearbeiten] Kernel kompilieren

Wie im Kernel Howto beschrieben noch seinen Kernel kompilieren. In der Zwischenzeit kann man die benötigten Tools aufsetzen

[Bearbeiten] Benötigte Tools

Da wäre das Paket sys-apps/lm_sensors. Ältere Versionen hiervon wollten auch sys-apps/i2c als Abhängigkeit mit installieren. Dies erübrigt sich, da i2c schon im Kernel ist:

emerge -av lm_sensors

i2c wurde in älteren Versionen als Abhängigkeit mit emergt.

[Bearbeiten] Konfiguration

Dazu muss man den PC mit dem neu kompilierten Kernel erstmal neustarten. Nun ruft man als Root folgendes auf:

sensors-detect

Sollte die Ausgabe folgende sein, muss man erst ein Modul laden:

No i2c device files found. Use prog/mkdev/mkdev.sh to create them.

Das i2c-dev Modul muss geladen werden:

modprobe i2c-dev

Nun nochmal sensors-detect, das richtet einen /etc/conf.d/lm-sensors ein, die Konfigurationsdatei des Dienstes. Hier kann man getrost alles mit Y bestätigen, das Tool scannt dadurch nach allen möglichen Sensoren. Wenn man bei der Zeile "Just press ENTER to continue:" drückt man ENTER und nun steht man vor der Auswahl "ISA" oder "smbus". Wenn danach kein Zugriff auf die Sensoren möglich ist, sollte man hier die andere Option probieren, ich hatte ISA gewählt. Dies sollte man auch wählen wenn er bei der ISA Abfrage "Do you want to scan the ISA bus? (YES/no): Y" etwas gefunden hat.

Nun erscheint folgende Ausgabe:

To make the sensors modules behave correctly, add these lines to
/etc/modules.conf:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----end cut here----

WARNING! If you have some things built into your kernel, the list above
will contain too many modules. Skip the appropriate ones! You really should
try these commands right now to make sure everything is working properly.
Monitoring programs won't work until it's done.
To load everything that is needed, execute the commands above...

#----cut here----
# I2C adapter drivers
modprobe i2c-isa
# I2C chip drivers
modprobe w83627hf
# sleep 2 # optional
/usr/bin/sensors -s # recommended

Do you want to overwrite /etc/conf.d/lm_sensors? Enter s to specify other file name?
  (yes/NO/s):

Wie beschrieben sollte man in /etc/modules.conf in diesem Fall alias char-major-89 i2c-dev hinzufügen. Nun noch mit Y bestätigen. Das Hinzufügen geht einfach, bei neueren Versionen (z.B. lm_sensors-2.9.2) ist es nicht mehr nötig, da der lm_sensors-Dämon die Module automatisch lädt.

echo "alias char-major-89 i2c-dev" >> /etc/modules.conf

Nun lädt man noch die laut sensors-detect angegeben Module:

modprobe i2c-isa
modprobe w83627hf

Und führt sensors -s aus:

sensors -s

Um zu überprüfen, ob alles geklappt hat:

sensors

Wenn die Ausgabe wie folgt aussieht, ist lm-sensors einwandfrei konfiguriert:

eeprom-i2c-2-50
Adapter: SMBus Via Pro adapter at 0400
Memory type:            DDR SDRAM DIMM
Memory size (MB):       512

Philips PAL_BG -i2c-1-61
Adapter: bt878 #0 [sw]

eeprom-i2c-1-50
Adapter: bt878 #0 [sw]
Unknown EEPROM type (0) 

w83697hf-isa-0290
Adapter: ISA adapter
VCore:     +1.70 V  (min =  +1.71 V, max =  +1.89 V)       ALARM
+3.3V:     +3.34 V  (min =  +3.14 V, max =  +3.47 V)
+5V:       +5.08 V  (min =  +4.76 V, max =  +5.24 V)
+12V:     +12.16 V  (min = +10.82 V, max = +13.19 V)
-12V:     -12.28 V  (min = -13.18 V, max = -10.80 V)
-5V:       +3.54 V  (min =  -5.25 V, max =  -4.75 V)
V5SB:      +5.59 V  (min =  +4.76 V, max =  +5.24 V)
VBat:      +0.61 V  (min =  +2.40 V, max =  +3.60 V)
fan1:     3571 RPM  (min = 4687 RPM, div = 2)
fan2:        0 RPM  (min = 20454 RPM, div = 2)
temp1:       +33°C  (high =  +104°C, hyst =   +86°C)   sensor = thermistor
temp2:     +40.5°C  (high =   +35°C, hyst =   +35°C)   sensor = thermistor   ALARM
alarms:   Chassis intrusion detection                      ALARM
beep_enable:
         Sound alarm disabled

Nun lädt man den lm-sensors Dämon, damit man Tools wie Gdesklet drauf zugreifen lassen kann:

/etc/init.d/lm_sensors start

Und fügt es bei Bedarf gleich dem Runlevel hinzu:

rc-update -a lm_sensors default

Sollte beim Booten der Start des Dienstes fehlschlagen, so lässt man sich die Module von /etc/init.d/modules laden. Dazu muss man einfach die in /etc/conf.d/lm_sensors angegebenen Module und evtl. i2c-dev in /etc/modules.autoload.d/kernel-2.6 eintragen.

[Bearbeiten] Mainboard-Eigenheiten

Bei manchen Mainboards muss man noch die /etc/sensors.conf bearbeiten oder beim Laden der Module Argumente übergeben.

[Bearbeiten] Desktop-Tools

[Bearbeiten] Gkrellm2

Dazu muss man nur rechte Maustaste und Konfiguration anwählen. Unter Fester Inhalt und Sensoren lässt sich das Prog einrichten.

[Bearbeiten] Gdesklets

Dazu braucht man das lmsensors-gdesklet-0.8.tar.bz2 Paket, erhältlich ist es auf der Gdesklet Homepage. Dann ruft man die Gdesklets Shell auf:

gdesklets shell

Und installiert das Paket bequem unter File -> Install Package. Nun kann man gewohnt die erforderlichen Desklets auf den Desktop ziehen.


[Bearbeiten] Links



--Misterjack 09:28, 2. Mär 2005 (GMT)

'Persönliche Werkzeuge