LM-Sensors
Aus Gentoo Linux Wiki
| 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
- LM-Sensors Homepage
- Motherboard List
- Torsmo Konfiguration
- Conky , ein Nachfolger von Torsmo
--Misterjack 09:28, 2. Mär 2005 (GMT)
