Sarà capitato a tutti di avere la necessità di monitorare lo “status” della propria componentistica hw. Temperature, voltaggi e velocità delle ventole se tenuti sotto controllo, possono evitare situazioni spiacevoli. Con questo piccolo HOW-TO cercherò di illustrare l’installazione e la configurazione di lm_sensors, una serie di driver ed utilità che si interfacciano con i driver i²c integrati nel kernel (a partire dalla versione 2.6) per il monitoring dell’hardware.
Let’s start.
Iniziamo con scaricare i sorgenti di lm_sensors da qui e decomprimiamoli.
# cd /tmp
# tar zxvf /path/to/lm_sensors-2.9.2.tar.gz
# cd lm_sensors-2.9.2
Cominciamo a creare i charcter devices nella directory /dev. C’è un semplice script in prog/mkdev che si occupa di tutto.
# cd prog/mkdev
# sh mkdev.sh
Ora portiamoci nella directory prog/detect, dove troveremo lo script sensors-detect che ci permette di rilevare i sensori presenti sulla mobo.
# cd prog/detect
# sh sensors-detect
Premete ENTER a tutte le domande (modificate le risposte solo se sapete ciò che state facendo). Vi ritroverete alla fine dello script, con qualcosa del genere.
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
#—-cut here—-To load everything that is needed, add this to some /etc/rc* file:
#—-cut here—-
# I2C adapter drivers
modprobe i2c-isa
# I2C chip drivers
modprobe it87
# sleep 2 # optional
/usr/local/bin/sensors -s # recommended
#—-cut here—-
E’ lo script stesso ad illustrarci ciò che dobbiamo fare, quindi modichiamo /etc/modules.conf
# echo “alias char-major-89 i2c-dev” >> /etc/modules.conf
e successivamente aggiungiamo al nostro script di avvio ausiliario (/etc/rc.local su Slack e distro simili, /etc/conf.d/local.start su Gentoo, su Debian/Ubuntu bisogna crearlo con le istruzioni contenute qui) le istruzioni elencate sopra.
# echo ‘modprobe i2c-isa
> modprobe it87
> sleep 2
> /usr/local/bin/sensors -s’ >> /etc/conf.d/local.start
Verifichiamo di avere i moduli richiesti con le istruzioni qui sopra..
# modprobe i2c-isa
# modprobe it87
Se appare qualche messaggio d’errore, dovrete ricompilare il kernel ed includere il supporto ai sensori sopracitati. Esempio..
Device Drivers -> I2C support ->
I2C support
I2C device interface
I2C Hardware Bus support ->
Nvidia nForce2, nForce3 and nForce4 # nel mio caso
I2C/SMBus Test Stub # nel mio caso
Miscellaneous I2C Chip support ->
EEPROM readerDevice Drivers -> Hardware Monitoring support ->
< *>Hardware Monitoring support
ITE IT87xx and compatibles # nel mio caso
Compiliamo il software assicurandoci di avere i sorgenti del kernel in /usr/src/linux.
# cd /tmp/lm_sensors-2.9.2
# make
# make install
# source /etc/profile
Proviamo il nostro software…
# sensors
it8712-isa-0290
Adapter: ISA adapter
[…cut…]
Stdby: +5.00 V (min = +4.76 V, max = +5.24 V)
VBat: +3.12 V
fan1: 1288 RPM (min = 0 RPM, div = 8 )
fan2: 0 RPM (min = 3013 RPM, div = 8 )
fan3: 5273 RPM (min = 3013 RPM, div = 8 )
M/B Temp: +36°C (low = +15°C, high = +40°C) sensor = thermistor
CPU Temp: +34°C (low = +15°C, high = +45°C) sensor = thermistor
Temp3: +25°C (low = +15°C, high = +45°C) sensor = thermistor
Funziona, quindi possiamo tranquillamente eliminare la directory con i sorgenti
# cd
# rm -fr /tmp/lm_sensors-2.9.2
Buon monitoring a tutti!
Per ogni chiarimento, critica, suggerimento scrivetemi ( phoenix AT vralfieri DOT net ). La versione aggiornata della pagina è sempre disponibile a questo indirizzo.