<< Torna a gsensor Project <<

-= GSENSOR =-

Installazione guidata

di Paolo Bongiorno



Gsensor è un programma che ci consente di rappresentare graficamente la temperatura della cpu e la velocità delle ventole, per svolgere questo compito si avvale di una collezione di moduli per monitorare l'hardware denominati “lm_sensors” e di una serie di drivers per l'accesso al bus chiamati “i2c”.

Prima di parlare dunque dell'installazione di Gsensor, vediamo di capire qual'è la via più breve per installare questi elementi e configurare il nostro sistema.



I2C :

Questi drivers in genere sono forniti insieme agli lm_sensors ma possono essere scaricati separatamente, la documentazione allegata ci dice che l'implementazione di i2c è già inclusa nei kernel della serie 2.4.x, tuttavia con grande sorpresa, ne ho riscontrato la presenza anche su RedHat 7.0 con kernel 2.2.16, sul volume due della stessa distribuzione è possibile poi trovare il pacchetto “lm_sensors-2.5.2-3.i386.rpm”.

Ecco passo passo le operazioni da eseguire per le distribuzioni prive di questi pacchetti:

  • tar xvfz i2c-2.5.5.tgz

  • cd i2c-2.5.5

a questo punto potremmo pensare di fare un

  • make

e come root per concludere l'installazione

  • make install

Per coloro i quali hanno ricompilato (se non sapete cosa significa saltate) il kernel debbono assicurarsi che il kernel sia in grado di fare il load dei moduli:

  • cd /usr/src/linux

  • make menuconfig”

scegliamo “Lodable Module Support”, controlliamo che tutte e tre le voci siano spillate, usciamo e salviamo e procediamo alla compilazioen del kernel e alla sua installazione





LM_SENSORS:




LM, è la sigla di una serie di microprocessori (lm.xx) che offrono alcune funzioni come il controllo di:

  • Temperature

  • Voltaggio

  • Velocità delle ventole

  • ISA e SMBUS ( System Management Bus ).

I moduli “lm_sensors” consentono di accedere a queste informazioni

Premesso che per i kernel della serie 2.2.x va scelta la versione 2.5.x di questo pacchetto e per quelli precedenti la versione 2.4.5, diciamo che la via più breve per ottenere il risultato desiderato è quella di generare un set di moduli da inserire e rimuovere a nostro piacimento.

  • tar xvfz lm_sensors-2.5.5.tgz

  • cd lm_sensors-2.5.5

  • make

  • make install

Ci spostiamo nella direttrice

  • cd ./prog/mkdev”

ed eseguiamo

  • ./mkdev.sh

per creare in /dev tutte le devices necessarie all'accesso hardware

  • cd /usr/local/sbin

  • ./sensors-detect

Come detto sulla RH7.0 troviamo già quello che ci serve, quindi possiamo spostarci direttamente in “/usr/sbin” e lanciare il comando “sensors-detect” che ci aiuterà a determinare quali moduli “i2c” sono necessari e a caricarli per un uso immediato.

Di seguito l'output del programma e alcune relative risposte, la ricerca dei drives già inclusi nel kernel può essere saltata:



We can start with probing for (PCI) I2C or SMBus adapters.

You do not need any special privileges for this.

Do you want to probe now? (YES/no): YES


Use driver `i2c-viapro' for device 00:07.3: VIA Technologies VT 82C596 Apollo ACPI


Do you now want to be prompted for non-detectable adapters? (yes/NO):no

To continue, we need module `i2c-dev' to be loaded.

If it is built-in into your kernel, you can safely skip this.

i2c-dev is not loaded. Do you want to load it now? (YES/no): YES


Next adapter: SMBus vt82c596 adapter at 5000 (Non-I2C SMBus adapter)

Do you want to scan it? (YES/no/selectively): YES


Client at address 0x50 can not be probed - unload all client drivers first!

Client at address 0x51 can not be probed - unload all client drivers first!

Client found at address 0x69


Some chips are also accessible through the ISA bus. ISA probes are

typically a bit more dangerous, as we have to write to I/O ports to do

this. Do you want to scan the ISA bus? hould be inserted): (YES/no): yes


Detects correctly:

* ISA bus address 0x0290 (Busdriver `i2c-isa')

Chip `Winbond W83782D' (confidence: 8)


I will now generate the commands needed to load the I2C modules.

Sometimes, a chip is available both through the ISA bus and an I2C bus.

ISA bus access is faster, but you need to load an additional driver module

for it. If you have the choice, do you want to use the ISA bus or the

I2C/SMBus (ISA/smbus)? ISA


#----cut here----

# I2C adapter drivers

modprobe i2c-isa

# I2C chip drivers

modprobe w83781d

#----cut here----


To make the sensors modules behave correctly, add these lines to either

/etc/modules.conf or /etc/conf.modules:


#----cut here----

# I2C module options

alias char-major-89 i2c-dev

#----cut here----



In questo caso, metteremo in "/etc/rc.d/rc.local" un:

modprobe i2c-isa

modprobe w83781d

Volendo nascondere l'output del caricamento dei moduli, possiamo mandare lo standard output sullo standard error e questo su /dev/null

modprobe i2c-isa 2>&1 >/dev/null

Infine faremo in modo che il modulo "i2c-dev" venga caricato in automatico quando in /dev viene cercata una device di tipo char con major number 89, quindi aggiungiamo questa riga in /etc/conf.modules

alias char-major-89 i2c-dev

e successivamente diamo i seguenti comandi

depmod -a

sensors -s



GSENSOR:

Adesso tutto è pronto per ospitare "gsensor", ecco le fasi successive:

  • tar xvfz gsensor-src-0.0.9.tgz

  • cd gsensor-0.0.9

  • ./autogen.sh

  • make

  • make install

  • cp ./lmsens.sh /usr/local/bin

mettiamo nel path "/usr/local/bin" e "/usr/local/sbin"

Lo script "lmsens.sh" formatta l'output del comando sensors, tuttavia se chiamiamo "sensors" senza aver prima caricato correttamente "i2c-dev" vediamo questo messaggio:

Can' t open /proc

In questo caso infatti viene negato l'accesso ai files "i2c" che vengono generati in "/proc/bus".Tutte le applicazioni linkate con "libsensors" usano i parametri di configurazione memorizzati in "/etc/sensors.conf".

Questo è tutto, dunque possiamo lanciare gsensor e monitorare il nostro hardware con un solo clic.



<< Torna a gsensor Project <<