Controllare la ventola nei vecchi portatili DELL

Lun, 13/09/2010 - 17:25

Controllare la ventola nei vecchi portatili DELL

Inviato da Moreno 0 commenti
1) Introduzione

Qualche giorno fa come potete leggere qui ho preparato il portatile della moglie con Mandriva.
Uno dei problemi principali di quel portatile è che è estremamente rumoroso perché la ventola è impostata a lavorare sempre al massimo numero di giri.
Con finestre avevo risolto il problema con i8kfan ma le mie ricerche per un analogo programma per Linux sono sempre naufragate fino a che non ho scoperto DellFanD.
Non riesco proprio a capire come abbia fatto a sfuggirmi per così tanto tempo un programma dal nome così banale ed evocativo.

Questo programma dovrebbe andare bene con più o meno tutti i vecchi portatili DELL di una certa età, nel sito questi sono dati come sicuramente compatibili

Inspiron 510m, 1150, 1300, 1520, 1720, 4000, 5100, 5150, 6000, 6400, 8600, 9300, 9400/Royal; CS400, C610, D410, D520, D610, D820, e1505, XPS m1210, XPS m1330, Precision M50, Studio 1535, Vostro 1500

In questa guida illustrerò la procedura, davvero banale, per installare e configurare il programma.

Essendo questo un programma che richiede la compilazione è indispensabile che l'infrastruttura di compilazione sia installata.
Se ciò non fosse dovrebbe bastare un urpmi make per installare make e tutte le sue numerose dipendenze.
2) Procedura
2.1) Apriamo un terminale

Innanzi tutto occorre aprire un terminale con Menu -> Strumenti -> konsole

2.2) Diventiamo root

$ su -
Password: LaPasswordDiRoot
#

2.3) Andiamo nella cartella di root root

# cd
#

2.4) Scarichiamo il programma

# wget http://dellfand.dinglisch.net/dellfand-0.9.tar.bz2

--2010-09-13 14:08:19--  http://dellfand.dinglisch.net/dellfand-0.9.tar.bz2
Risoluzione di dellfand.dinglisch.net (dellfand.dinglisch.net)... 80.175.151.85
Connessione a dellfand.dinglisch.net (dellfand.dinglisch.net)|80.175.151.85|:80... connesso.
HTTP richiesta inviata, in attesa di risposta... 200 OK
Lunghezza: 12663 (12K) [application/x-bzip2]
Salvataggio in: "dellfand-0.9.tar.bz2"
100%[==============================================================================================================================================>] 12.663      48,3K/s   in 0,3s    
2010-09-13 14:08:21 (48,3 KB/s) - "dellfand-0.9.tar.bz2" salvato [12663/12663]
#

2.5) Decomprimiamo il programma

# tar -xf dellfand-0.9.tar.bz2 
#

2.6) Entriamo nella cartella del programma

# cd dellfand-0.9
#

2.7) Compiliamo il programma

# make

g++ -Wall -O2 dellfand.cc -o dellfand                                                                                                                                                   
dellfand.cc: In function 'int main(int, char**)':                                                                                                                                       
dellfand.cc:217: warning: 'off' may be used uninitialized in this function                                                                                                              
dellfand.cc:217: warning: 'low' may be used uninitialized in this function                                                                                                              
dellfand.cc:217: warning: 'high' may be used uninitialized in this function                                                                                                             
chmod ugo+rx dellfand                                                                                                                                                                   
Linux Newby Hint: type ./dellfand to run me                                                                                                                                             
#

Vista la semplicità del programma non ci dovrebbero essere dipendenze particolari da soddisfare.
2.8) Testiamo il programma

# ./dellfand 
v0.9: Fan 0 Status 0 Speed 0 CPU Temp 37C
#

Il programma ha risposto senza alcun errore indicando la temperatura della CPU

2.9) Copia dell'eseguibile

# cp dellfand /sbin
#

Una volta copiato il programma si può tranquillamente cancellare sia la cartella dellfand-0.9 che il file dellfand-0.9.tar.bz2.
2.10) Parametri di configurazione

Il comando accetta 5 parametri che sono nell'ordine:
- Modalità di funzionamento (0 standard - 1 demone)
- Tempo di campionamento in secondi
- Temperatura sotto la quale s'arresta la ventola
- Temperatura sopra la quale la ventola parte a bassa velocità
- Temperatura sopra la quale la ventola parte alla massima velocità

Per individuare i valori migliori occorre fare qualche prova come la seguente

# dellfand 0 5 35 40 50

Fan 0 Status 2->2 Speed 100350 CPU Temp 37C
Fan 0 Status 2->2 Speed 97680 CPU Temp 37C
Fan 0 Status 2->2 Speed 93960 CPU Temp 36C
Fan 0 Status 2->2 Speed 93960 CPU Temp 36C
Fan 0 Status 2->0 Speed 93960 CPU Temp 35C
Fan 0 Status 0->0 Speed 0 CPU Temp 35C
Fan 0 Status 0->0 Speed 0 CPU Temp 36C
Fan 0 Status 0->0 Speed 0 CPU Temp 37C
Fan 0 Status 0->0 Speed 0 CPU Temp 36C
Fan 0 Status 0->0 Speed 0 CPU Temp 36C
Fan 0 Status 0->0 Speed 0 CPU Temp 36C
Fan 0 Status 0->0 Speed 0 CPU Temp 36C
^C#

Per interrompere il programma occorre premere Ctrl+C.

Io personalmente mi sono orientato verso i seguenti valori dellfand 1 5 45 55 65

2.11) Predisporre l'avvio al boot del demone dellfand

# echo "/sbin/dellfand 1 5 45 55 65" >> /etc/rc.d/rc.local
#

Chiaramente questo è solo un esempio voi dovrete inserire i parametri che più vi soddisfano.
Nella documentazione è spiegato come avviare il demone come servizio, io personalmente ho preferito usare la via più semplice di inserire il comando in /etc/rc.d/rc.local.
Se volete modificare i parametri o volete inserire a mano i dati potete aprire il file con l'editor preferito o brutalmente con kwrite /etc/rc.d/rc.local

A questo punto dopo aver riavviato la macchina il demone dovrebbe partire e gestire con più criterio la vostra ventola, se avete dubbi che non vada basta aprire un terminale e dare il comando ps aux | grep dellfand.

Ciao Ciao, Moreno