Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Hardware/Periferiche/Temperature"
Differenze tra le versioni 10 e 11
Versione 10 del 14/12/2006 12.42.50
Dimensione: 19927
Commento: aggiunto metodo controllo ventole
Versione 11 del 15/12/2006 00.12.10
Dimensione: 19926
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 5: Linea 5:
= Installazione del programma =  = Installazione del programma =

[http://www.lm-sensors.org/ Lm-sensors] è un'utility che ci permette di conoscere i voltaggi e le temperature dei componenti interni del nostro pc, oltre alla velocità ed alla regolazione della velocità delle ventole. Queste informazioni, oltre che utili per conoscere lo stato di salute del nostro sistema, sono fondamentali quando si fa uso di overclocking (potendo monitorare le temperature) e quando si vuole ottenere un pc silenzioso e ben areato (grazie al controllo dell ventole)

Installazione del programma

L'installazione di lm-sensors è molto semplice e non richiede alcun prerequisito se non quello di abilitare i repository universe e multiverse, che daremo per scontato. Dunque per procedere all'installazione dell'engine, ci basterà aprire un terminale e digitare

sudo apt-get install lm-sensors

Creazione delle devices e rilevazione dei sensorsi

I sensori vengono rilevati a partire da devices che saranno create fisicamente (quando mancanti) nella nostra cartella /dev.

Creazione delle devices

Per avere tutti i devices necessari alla ricerca dei sensori dobbiamo creare un file con uno script apposito. Pertanto da terminale digitiamo

gedit creadev.sh

E successivamente incolliamoci questo contenuto

# Here you can set several defaults.
 
# The number of devices to create (max: 256)
NUMBER=32

# The owner and group of the devices
OUSER=root
OGROUP=root
# The mode of the devices
MODE=600

# This script doesn't need to be run if devfs is used
if [ -r /proc/mounts ] ; then
if grep -q "/dev devfs" /proc/mounts ; then
echo "You do not need to run this script as your system uses devfs."
exit;
fi
fi

i=0;

while [ $i -lt $NUMBER ] ; do
echo /dev/i2c-$i
mknod -m $MODE /dev/i2c-$i c 89 $i || exit
chown "$OUSER:$OGROUP" /dev/i2c-$i || exit
i=$[$i + 1]
done
#end of file

Quindi chiudiamo e salviamo il file. Rendiamolo eseguibile

chmod 755 creadev.sh

ed eseguiamolo

sudo ./creadev.sh

NB : se lo script dovesse restituirvi errore, in quanto le devices sono già presenti non preoccupatevi e continuate con la guida!

Trovare i sensori

Lo script di detect dei sensori compreso nel pacchetto sia di Dapper, che di Edgy, che di Feisty (per ora) è obsoleto, e conviene quindi utilizzare lo script più nuovo fornito dal sito ufficiale di lm-sensors. Tuttavia per completezza di informazioni ritengo doveroso citare entrambi i metodi, anche perchè non sempre più nuovo significa migliore

Metodo 1 - Script del pacchetto di ubuntu

Decidendo di affidarci allo script compreso nel pacchetto ci siamo semplificati la vita, allo stesso tempo potremmo avere problemi con devices nuove. Ad ogni modo ci basta aprire un terminale e digitare

sudo sensors-detect

A questo punto lo script stesso ci guiderà nella ricerca dei moduli da caricare per leggere i nostri sensori. Se non avete molta affinità con l'inglese rispondete Yes a tutte le domande. Alla domanda riferita alla scelta ISA/SMBUS, rispondete ISA. Se successivamente vi accorgerete che questa scelta poteva essere errata (ad esempio se i sensori non rilevano nulla o pochi componenti) tornate a questo passo e ripetete il procedimento cambiando solo questa scelta). Terminato lo script, vi restituirà un output simile a questo

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

#----cut here----
# I2C adapter drivers
i2c-viapro
i2c-isa
# I2C chip drivers
eeprom
it87
#----cut here----

che ci servirà per i due passaggi successivi. Prima di tutto caricate questi moduli manualmente, per scoprire se vi sono conflitti (ovvero se il comando che daremo darà esito negativo. Da terminale digitiamo quindi

sudo modprobe modulo

dove, al posto di modulo, apporremmo uno dopo l'altro i nomi che ci sono stati restituiti. Nel nostro esempio avremo

sudo modprobe i2c-viapro
sudo modprobe i2c-isa
sudo modprobe eeprom
sudo modprobe it87

Se per nessuno di questi comandi il terminale ci restituisce output, i moduli sono stati accettati e caricati. Proseguiamo dunque nell'impostare questi moduli per il caricamento automatico. Apriamo il file di testo di configurazione

sudo gedit /etc/modules

ed inseriamoci tutti i moduli che prima abbiamo caricato manualmente. Salviamo e chiudiamo il file. La guida prosegue al paragrafo [#avviare avviare i sensori]

Metodo 2 - script dal sito ufficiale

Mediante questo script riusciremo a 'vedere' anche i sensori più nuovi supportati da lm-sensors. Ricordiamoci che questo non significa poter anche vedere i valori di questi sensori, poichè avremo anche bisogno di un kernel molto recente. Ad esempio per le nuove schede madri Asus con chipset nforce 560 e supporto per dual core, c'è bisogno del modulo k8temp, che è presente solo dal kernel 2.6.18 .

Lo script è disponibile sul sito ufficiale. Scarichiamolo direttamente da [http://www.lm-sensors.org/browser/lm-sensors/trunk/prog/detect/sensors-detect?format=txt qui] facendo click con il tasto destro, poi 'salva con nome' ed infine salvandolo nella nostra home (è preferibile rispetto al desktop giusto per un fatto di ordine) con il nome 'ricerca_sensori'. A questo punto ci basta renderlo eseguibile

chmod 755 ricerca_sensorihttp://ubuntuguide.org/wiki/Ubuntu_Edgy#How_to_control_fan_speed_.28lm-sensors.29

e lanciarlo

sudo ./ricerca_sensori

Seguite anche in questo caso ciò che vi viene richiesto e se non conoscete l'inglese rispondete Yes a tutte le domande. Alla domanda riferita alla scelta ISA/SMBUS, rispondete ISA. Se successivamente vi accorgerete che questa scelta poteva essere errata (ad esempio se i sensori non rilevano nulla o pochi componenti) tornate a questo passo e ripetete il procedimento cambiando solo questa scelta). Terminato lo script, vi chiederà di poter modificare automaticamente i vostri file per modificare il vostro file di configurazione. Rispondete di si e andiamo avanti. Supponendo di aver ricevuto sempre il medesimo output

#----cut here----
# I2C adapter drivers
i2c-viapro
i2c-isa
# I2C chip drivers
eeprom
it87
#----cut here----

Come per l'altro script date il comando

sudo modprobe modulo

dove al posto di modulo sostituite i moduli che vi restituisce. Ad esempio

sudo modprobe i2c-viapro
sudo modprobe i2c-isa
sudo modprobe eeprom
sudo modprobe it87

Se per nessuno di questi comandi il terminale ci restituisce output, i moduli sono stati accettati e caricati. Proseguiamo dunque nell'impostare questi moduli per il caricamento automatico. Apriamo il file di testo di configurazione

sudo gedit /etc/modules

ed inseriamoci tutti i moduli che prima abbiamo caricato manualmente. Salviamo e chiudiamo il file.

Anchor(avviare)

Avviare e leggere i Sensori

Il procedimento da ora in poi sarà indifferente dal metodo che abbiamo seguito precedentemente.

Per avere un'idea di cosa abbiamo impostato diamo i seguenti comandi per aggiornare i moduli appena caricati

sudo depmod -a 
sudo update-modules

Ora vediamo se tutto funziona digitando

sensors

Dovremmo ottenere qualcosa tipo

k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:
             +23°C
Core1 Temp:
             +19°C

it8716-isa-0290
Adapter: ISA adapter
VCore:     +1.18 V  (min =  +0.00 V, max =  +4.08 V)   
VDDR:      +3.25 V  (min =  +0.00 V, max =  +4.08 V)   
+3.3V:     +0.00 V  (min =  +0.00 V, max =  +4.08 V)   ALARM
+5V:       +4.81 V  (min =  +0.00 V, max =  +6.85 V)   
+12V:     +11.58 V  (min =  +0.00 V, max = +16.32 V)   
in5:       +0.00 V  (min =  +0.00 V, max =  +4.08 V)   ALARM
in6:       +0.00 V  (min =  +0.00 V, max =  +4.08 V)   ALARM
5VSB:      +4.84 V  (min =  +0.00 V, max =  +6.85 V)   
VBat:      +2.94 V
fan1:        0 RPM  (min =    0 RPM)                   
fan2:        0 RPM  (min =    0 RPM)                   
fan3:        0 RPM  (min =    0 RPM)                   
temp1:       +30°C  (low  =    -1°C, high =  +127°C)   sensor = diode   
temp2:       +30°C  (low  =    -1°C, high =  +127°C)   sensor = thermistor   
temp3:        -7°C  (low  =    -1°C, high =  +127°C)   sensor = thermistor   
vid:      +1.300 V

Se non ottenete risposta od ottenete errori fate riferimento al capitolo [#errori errori] di questa pagina.

Applicazioni Grafiche

Ovviamente un output come quello ricevuto precedentemente non è comodo per quanto completo, poiché sarebbe molto più utile avere sempre sotto controllo mediante utility grafica i nostri valori. Ebbene ci sono varie utility che permettono di fare ciò. Farò riferimento solo a quelle presenti nei repository di ubuntu

Sensors-applet

Personalmente è la scelta su cui ricado quasi sempre poichè permette ai sensori di rimanere sempre visibili sul pannello di gnome, permettendo il controllo anche mentre si eseguono altre operazioni. Per installare usiamo apt

sudo apt-get install sensors-applet

http://ubuntuguide.org/wiki/Ubuntu_Edgy#How_to_control_fan_speed_.28lm-sensors.29Mentre per avviarla clicchiamo con il tasto destro su uno dei pannelli, selezioniamo 'aggiungi al pannello' scendiamo sino alla sezione 'sistema e hardware' e selezioniamo la voce 'Hardware sensors monitor'.

Cliccando poi con il destro sulle icone appena apparse e selezionando proprietà possiamo impostare sia impostazioni generali di visualizzazione (nella prima scheda) sia quali sensori visualizzare (nella seconda) escludendo ovviamente i sensori che non ci restituiscono output ed inserendo quelli per noi maggiormente interessanti

Ksensors

E' l'equivalente di sensors-applet per il cugino KDE. Per installarlo usiamo sempre apt

sudo apt-get install ksensors

Mentre per avviarlo troveremo la sua voce nel menu KDE.

Xsensors

E' il riscontro grafico diretto dell'output da terminale ed ha la comodità di essere un'applet a se, che dunque non dipende dal desktop enviroment che utilizziamo. E' anche molto leggero ed adatto a mio avviso a sistemi basati su Blackbox, e17 ecc.

Potete installarlo sempre da apt

sudo apt-get install xsensors

e lanciarlo dal vostro menu oppure dal terminale digitando

xsensors

Altre applet

Nei repository vi sono altre due applet entrambe installabili con apt o synaptic e ben integrate con il loro Desktop enviroment di riferimento. Sono wmsensors e xfce4-sensors-plugin

Controllare le Ventole

Questa parte di guida è stata tradotta da [http://ubuntuguide.org/wiki/Ubuntu_Edgy#How_to_control_fan_speed_.28lm-sensors.29 ubuntuguide]

Per controllare se le vostre ventole e la vostra scheda madre supportano il controllo, aprite un terminale e digitate

pwmconfig

Controllerà le vostre ventole e vi chiedere di osservare se si fermano o meno. Nel caso in cui si fermassero, ovvero nel caso in cui abbiate il controllo delle ventole, potete creare un semplice script da lanciare all'avvio per un'ottimizzazione delle stesse Create un file fancontrol nella cartella /etc/init.d/

sudo gedit /etc/init.d/fancontrolhttp://ubuntuguide.org/wiki/Ubuntu_Edgy#How_to_control_fan_speed_.28lm-sensors.29

e incollateci il seguente testo

#
# Fancontrol start script.
#

set -e

# Defaults
DAEMON=/usr/sbin/fancontrol
PIDFILE=/var/run/fancontrol-pid
PATH=/sbin:/bin:/usr/sbin:/usr/bin

test -f $DAEMON || exit 0

. /lib/lsb/init-functions


case "$1" in
       start)
               log_begin_msg "Starting fancontrol daemon..."
               start-stop-daemon --start -o -q -m -b -p $PIDFILE -x $DAEMON
               log_end_msg $?
               ;;
       stop)
               log_begin_msg "Stopping fancontrol daemon..."
               start-stop-daemon --stop -o -q -p $PIDFILE
               log_end_msg $?
               ;;
       force-reload|restart)
               sh $0 stop
               sh $0 start
               ;;
       *)
               log_success_msg "Usage: /etc/init.d/fancontrol {start|stop|restart|force-reload}"
               log_success_msg "  start - starts system-wide fancontrol service"
               log_success_msg "  stop  - stops system-wide fancontrol service"
               log_success_msg "  restart, force-reload - starts a new system-wide fancontrol service"
               exit 1
               ;;
esac

exit 0

Rendetelo eseguibile

sudo chmod +x /etc/init.d/fancontrol

Provatelo

/etc/init.d/fancontrol start

e

/etc/init.d/fancontrol stop

E se l'output è favorevole caricatelo all'avvio per farlo partire assieme al pc, aprendo il file /etc/rc.local

sudo gedit /etc/rc.local

e inserendo prima della scritta exit 0 il controllo

/etc/init.d/fancontrol start

Anchor(errori)

Errori e problematiche Comuni

Nel caso in cui non riceviate output oppure sensors-detect sia molto lento (anche ore) e alla fine non rilevi le vostre devices, vi consiglio di guardare [http://www.lm-sensors.org/wiki/Devices qui] per cercare il vostro hw, il vostro chipset e i vostri drivers, così da controllare la compatibilità degli script con i vostri componenti. Inoltre fate attenzione alle versioni dei kernel e , se necessario, compilatevi il più nuovo disponibile in modo da avere tutti i moduli necessari

Versione precedente della guida

attachment:Icone/Piccole/warning.png Questa pagina è l'aggiornamento di una scritta per una versione precedente di Ubuntu. 
##  by Fabio Marzocca modificato da Aldo Maggi 
'''ATTENZIONE''': ''Non installare lm-sensors su un IBM-Thinkpad o qualunque notebook IBM. Il probing potrebbe danneggiare il computer.'', questo avvertimento è tuttora valido (controllato sul sito www.lm-sensors.org)

  * Installare lm-sensors usando Synaptic oppure da terminale digitare: '''sudo apt-get install lm-sensors'''
  * Lanciare: '''sudo /usr/sbin/sensors-detect''' (è buona norma leggersi, o almeno dare un'occhiata, a '''man sensors-detect''')
    il programma effettuerà un controllo di tutti i possibili strumenti di cui la scheda madre è dotata per rilevare temperature,
    velocità dei fan e voltaggi. 
    Rispondere sempre "Yes" alle domande relative a tali controlli a meno, ovviamente, che non appaiano errori che indichino che
    il proseguire sia potenzialmente pericoloso per la scheda madre, solo alla domanda: "ISA/SMBus?" rispondere ISA.
    Una volta terminato apparirà una schermata in cui saranno indicati i moduli del kernel che dovranno essere caricati per far
    funzionare il rilevamento dei dati che ci interessano, si potrà fare copia incolla della lista dei moduli nel file '''/etc/modules'''
    (con '''sudo gedit /etc/modules''' , ovviamente non è obbligatorio utilizzare gedit, può essere utilizzato il programma di editing
    preferito) oppure accettare l'opzione che viene proposta di effettuare in modo automatico questa operazione.
  * Far ripartire il computer bloccandolo immediatamente (in genere con il tasto Canc) in modo da accedere alla schermata del Bios, 
    cercare nelle diverse pagine e trovare dove appaiano le Temperature, le velocità dei Fan e i voltaggi e trascriverli su di un    
    foglio di carta, quindi chiudere la schermata del Bios senza salvare. 
    A questo punto far ripartire normalmente il computer, non appena la sequenza di boot sarà terminata aprite un terminale e 
    digitate: '''sensors'''
    Se tutto è andato bene nella precedente configurazione mediante sensors-detect, apparirà una lista contenente Voltaggi, Velocità
    dei fan e Temperature.  Confrontare i dati con quanto trascritto dalle pagine del Bios (che sicuramente ha ragione!), se 
    ci fossero delle differenze (sempre possibili in quanto pur in presenza dello stesso chip e dello stesso bus i fabbricanti delle
    schede madri non seguono uno standard e quindi lm-sensors nel ricavare i dati può essere indotto in errore) va modificato il
    file '''/etc/sensors.conf''' (ovviamente con '''sudo''' e con il vostro editor preferito) apportando le correzioni necessarie per ottenere
    i dati corretti (il file è molto ben commentato e comunque c'è sempre '''man sensors.conf''').

Qui di seguito c'è la procedura indicata precedentemente e tuttora valida qualora, per qualche strano motivo a me ignoto, sia stato  
disattivato o disinstallato udev (se non si sa di che programma si tratti si può stare tranquilli che udev c'è e sta facendo il
suo lavoro):

  * Installare lm-sensors usando Synaptic oppure da terminale digitare: {{{sudo apt-get install lm-sensors
  • Copiare il seguente script e salvarlo nella home con il nome mkdev.sh:
  • #!/bin/bash

# Here you can set several defaults.

# The number of devices to create (max: 256)

NUMBER=32

# The owner and group of the devices

OUSER=root

OGROUP=root

# The mode of the devices

MODE=600

# This script doesn't need to be run if devfs is used

if [ -r /proc/mounts ] ; then

  • if grep -q "/dev devfs" /proc/mounts ; then
    • echo "You do not need to run this script as your system uses devfs." exit;
    fi

fi

i=0;

while [ $i -lt $NUMBER ] ; do

  • echo /dev/i2c-$i

    mknod -m $MODE /dev/i2c-$i c 89 $i || exit

    chown "$OUSER:$OGROUP" /dev/i2c-$i || exit i=$[$i +1]

done

#end of file

Per i curiosi: Questo script crea nel filesystem il device dal quale verranno lette le informazioni sui sensori

  • Rendere lo script eseguibile:  sudo chmod 755 mkdev.sh 

  • Lanciare lo script:  sudo ./mkdev.sh 

  • Ora eseguire  sudo sensors-detect  rispondendo YES a tutte le domande. Alla domanda che chiede ISA/SMBus? rispondere ISA.

  • Alla fine della fase di rilevamento saranno elencati i moduli che verranno aggiunti al file /etc/modules. Farli aggiungere automaticamente, ma prenderne comunque nota.
  • Eseguire  sudo /etc/init.d/module-init-tools 

  • Caricare manualmente tutti i moduli della lista di cui abbiamo preso nota (es:)
  • sudo modprobe i2c-sensor

sudo modprobe lm85

  • A questo punto l'installazione è terminata. Eseguire  sensors  Si otterrà una lista simile a questa:

  • eeprom-i2c-0-52

Adapter: SMBus I801 adapter at fc00

Memory type: DDR SDRAM DIMM

Memory size (MB): 128

eeprom-i2c-0-50

Adapter: SMBus I801 adapter at fc00

Memory type: DDR SDRAM DIMM

Memory size (MB): 128

adt7463-i2c-0-2e

Adapter: SMBus I801 adapter at fc00

V1.5: +0.000 V (min = +0.00 V, max = +3.32 V) ALARM

VCore: +1.500 V (min = +0.00 V, max = +2.99 V)

V3.3: +3.317 V (min = +0.00 V, max = +4.38 V)

V5: +5.130 V (min = +0.00 V, max = +6.64 V)

V12: +3.313 V (min = +0.00 V, max = +15.94 V)

CPU_Fan: 0 RPM (min = 0 RPM)

fan2: 0 RPM (min = 0 RPM)

fan3: 0 RPM (min = 0 RPM)

fan4: 0 RPM (min = 0 RPM)

CPU: +25.00°C (low = -127°C, high = +127°C)

Board: +28.00°C (low = -127°C, high = +127°C)

Remote: +32.00°C (low = -127°C, high = +127°C)

CPU_PWM: 0

Fan2_PWM: 255

Fan3_PWM: 255

vid: +1.525 V (VRM Version 9.0)

  • Ulteriori personalizzazioni possono essere configurate modificando il file /etc/sensors.conf . Per i dettagli, digitare:

man sensors.conf

}}}


CategoryDaRevisionare