Difference between revisions of "Fan speed control (Italiano)"

From ArchWiki
Jump to: navigation, search
(10 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
[[Category:CPU (Italiano)]]
 
[[Category:CPU (Italiano)]]
[[Category:HOWTOs  (Italiano)]]
+
[[en:Fan Speed Control]]
 +
[[ru:Fan Speed Control]]
 +
Controllare la velocità (e il rumore!) della ventola della CPU è facile!
  
{{i18n_links_start}}
+
{{Warning|Ciò che segue potrebbe danneggiare il proprio hardware. La ventola della CPU serve per raffreddarla e in questa guida verrà spenta per un paio di secondi. Se non si è preparati a questo, non farlo!}}
{{i18n_entry|English|Fan speed control}}
+
{{i18n_entry|Русский|Контроль скорости кулера}}
+
{{i18n_entry|Italiano|Controllo ventola CPU}}
+
{{i18n_links_end}}
+
 
+
 
+
Controllare la velocità (e il rumore!) della ventola della tua CPU è facile!
+
 
+
'''Questo può rovinare il tuo hardware. La ventola della CPU serve per raffreddarla e in questa guida verrà spenta per un paio di secondi. Se non sei preparato a questo, non farlo!'''
+
  
  
 
=== lm-sensors ===
 
=== lm-sensors ===
  
Per prima cosa, devi sistemare lm-sensors. È spiegato [[Lm_sensors|qui]]e]]
+
Per prima cosa, bisogna configurare [[Lm_sensors|lm_sensors]].
  
Una volta che hai lm-sensors installato, dovresti avere delle letture con 'sensors'.
+
Una volta installato {{Pkg|lm_sensors}}, si possono ottenere delle letture con il comando {{Ic|sensors}}.
  
<pre>$ sensors
+
{{bc|1=
w83627hf-isa-0290
+
$ sensors
 +
coretemp-isa-0000
 
Adapter: ISA adapter
 
Adapter: ISA adapter
VCore 1:  +1.14 V  (min =  +0.00 V, max =  +4.08 V)             
+
Core 0:      +29.0°C (high = +76.0°C, crit = +100.0°C)   
VCore 2:  +2.67 V  (min =  +0.00 V, max =  +4.08 V)             
+
+3.3V:    +3.39 V  (min =  +2.82 V, max =  +3.79 V)             
+
+5V:      +5.19 V  (min =  +3.47 V, max =  +0.40 V)      ALARM 
+
+12V:    +12.40 V  (min = +12.95 V, max =  +7.96 V)      ALARM 
+
-12V:      -7.01 V  (min =  +1.78 V, max = -10.63 V)      ALARM 
+
-5V:      -3.84 V  (min =  -7.66 V, max =  +2.29 V)             
+
V5SB:      +5.75 V  (min =  +0.08 V, max =  +0.54 V)      ALARM 
+
VBat:      +3.10 V  (min =  +0.54 V, max =  +0.13 V)      ALARM 
+
fan1:    2428 RPM  (min =    0 RPM, div = 4)                   
+
fan2:        0 RPM  (min = 1630 RPM, div = 4)              ALARM 
+
fan3:    2191 RPM  (min = 6367 RPM, div = 4)              ALARM 
+
temp1:      +38°C (high =   +20°C, hyst =  +68°C)  sensor = thermistor         
+
temp2:    +39.5°C  (high =  +65°C, hyst =   +60°C)  sensor = diode         
+
temp3:    +38.0°C (high =  +65°C, hyst =  +60°C)   sensor = thermistor          (beep)
+
vid:      +0.000 V (VRM Version 2.4)
+
alarms: 
+
beep_enable:
+
          Sound alarm enabled''
+
</pre>
+
  
If your output does not display an RPM for your CPU fan, and you are positive it is running, you need to increase the fan divisor. If your fan speed is shown and higher than 0, skip the next step.
+
coretemp-isa-0001
'''
+
Adapter: ISA adapter
Increasing fan_div:'''
+
Core 1:     +29.0°C  (high = +76.0°C, crit = +100.0°C) 
  
The first line of the sensors output is the chipset your motherboard uses to read the speeds/temps/voltages. Make a backup first:
+
coretemp-isa-0002
Code:
+
Adapter: ISA adapter
 +
Core 2:     +31.0°C  (high = +76.0°C, crit = +100.0°C) 
  
<pre>cp /etc/sensors.conf /etc/sensors.conf_original</pre>
+
coretemp-isa-0003
 +
Adapter: ISA adapter
 +
Core 3:      +29.0°C  (high = +76.0°C, crit = +100.0°C) 
  
Edit the /etc/sensors.conf file as root
+
it8718-isa-0290
 +
Adapter: ISA adapter
 +
Vcc:        +1.14 V  (min =  +0.00 V, max =  +4.08 V) 
 +
VTT:        +2.08 V  (min =  +0.00 V, max =  +4.08 V) 
 +
+3.3V:      +3.33 V  (min =  +0.00 V, max =  +4.08 V) 
 +
NB Vcore:    +0.03 V  (min =  +0.00 V, max =  +4.08 V) 
 +
VDRAM:      +2.13 V  (min =  +0.00 V, max =  +4.08 V) 
 +
fan1:        690 RPM  (min =  10 RPM)
 +
temp1:      +37.5°C  (low  = +129.5°C, high = +129.5°C)  sensor = thermistor
 +
temp2:      +25.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermal diode
 +
}}
  
<pre>nano /etc/sensors.conf</pre>
+
Se nell'output non viene visualizzato il valore RPM per la ventola della CPU, ma si è sicuri che sia in esecuzione, è necessario aumentare il divisore della ventola. Se la velocità della ventola viene mostrata ed è superiore a 0, ignorare il passaggio successivo.
  
and look up your exact chipset. The names all look alike, so make sure the one you are editing is yours. Add the line fanX_div 4 near the start of your chipset config. Replace the X with the number of your CPU fan's, for me that was 2. You have to figure out for yourself which one it is, but it's probably 1, 2 or 3.
+
====Incrementare fan_div====
  
Save, and run:
+
La prima riga emessa nell'output dei sensori è il chipset usato dalla scheda madre per leggere le velocità, temperature e voltaggi.
  
<pre>sudo sensors -s</pre>
+
Creare il file di configurazione {{Ic|libsensors}} copiando il file di default in {{Ic|/etc/sensors.d/}}.
 +
# cp /etc/sensors3.conf /etc/sensors.d/sensors.conf
  
which will reload the sensors.conf's set variables.
+
Ora editare {{Ic|/etc/sensors.d/sensors.conf}} e cercare il chipset esatto. Alcuni nomi di chipset sono simili, quindi assicurarsi che quello che si sta modificando è il proprio. Aggiungere la riga {{Ic |set fanX_div 4}} vicino l'inizio della propria configurazione chipset, sostituendo X con il numero corrispondente di ventole della CPU.
Run sensors again and check if there is an RPM readout. If not, increase the divisor to 8, 16 or 32. YMMV!
+
  
You can safely ignore anything that's not fanX_div. I would advise you to leave the other default settings as they are.
+
Salvare ed eseguire:
 +
# sensors -s
 +
 
 +
che ricaricherà le variabili impostate in {{Ic|sensors.conf}}.
 +
Eseguire {{Ic |sensors}} di nuovo e verificare se c'è una lettura RPM. In caso contrario, aumentare il divisore a 8, 16 o 32.
  
 
=== pwmconfig ===
 
=== pwmconfig ===
  
Once you have lm sensors properly configured, run pwmconfig to test and configure speed control of your fans:
+
{{Nota|Gli utenti più smaliziati preferiranno magari saltare questa sezione e scrivere {{Ic|/etc/fancontrol}} da soli, risparmiandosi in questo modo di dover ascoltare le ventole a tutta velocità}}
<pre>pwmconfig</pre>
+
  
Follow the instructions in pwmconfig to set up basic speeds.
+
Una volta configurato {{Ic |lm sensor}} correttamente, eseguire {{Ic |pwmconfig}} per testare e configurare il controllo della velocità delle ventole.
  
The default configuration options should create a new file, <tt>/etc/fancontrol</tt>.
+
Seguire le istruzioni di {{Ic |pwmconfig}} per impostare una velocità di base.
  
Follow the instructions in pwmconfig to set up speeds.
+
Le opzioni di configurazione di default dovrebbero creare un nuovo file, {{ic|/etc/fancontrol}}.
  
==== Tweaking ====
+
==== Ottimizzazioni ====
  
<strong>Second warning:</strong> Some of the steps outlined below describe how to tweak fan speedsBefore doing this be sure you have a low cpu load and are comfortable playing aroundIf at any time during tweaking you notice the CPU temperature start to rise dramatically, do a <tt>echo "255" > /sys/class/hwmon/hwmon0/device/pwm1</tt> to spin up the fan all the way until things cool downBasically, you should know what your doing before fooling with the configuration file
+
{{Warning|Alcune delle fasi descritte di seguito descrivono come modificare la velocità delle ventolePrima di fare questo assicurarsi di avere un basso carico della CPU ed essere sicuri di volerlo fareSe in qualsiasi momento durante i seguenti passaggi si nota la temperatura della CPU salire drammaticamente, fare un {{Ic|echo "255" > /sys/class/hwmon/hwmon0/device/pwm1}} per far girare la ventola a tutta velocità ed ottenere un raffreddamento completo in sicurezzaIn sostanza, si dovrebbe sapere cosa si sta facendo prima di giocherellare con il file di configurazione.}}
  
If your want more control, you probably will need to tweak the generated configuration in order get the results you expectHere is a sample configuration file:
+
{{Nota|Su numerosi sistemi, lo script incluso può segnalare errori in quanto cerca di calibrare la ventola al PWMSi possono tranquillamente ignorare questi errori.  Il problema è che lo script non aspetta abbastanza a lungo prima di scalare su o giù il PWM.}}
  
<pre>
+
Se si desidera un maggiore controllo, si avrà probabilmente bisogno di modificare la configurazione generata.  Ecco un file di configurazione d'esempio:
 +
 
 +
{{bc|1=
 
INTERVAL=10
 
INTERVAL=10
 +
DEVPATH=hwmon0=devices/platform/coretemp.0 hwmon2=devices/platform/w83627ehf.656
 +
DEVNAME=hwmon0=coretemp hwmon2=w83627dhg
 
FCTEMPS=hwmon0/device/pwm1=hwmon0/device/temp1_input
 
FCTEMPS=hwmon0/device/pwm1=hwmon0/device/temp1_input
 
FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input
 
FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input
Line 93: Line 88:
 
MINSTART=hwmon0/device/pwm1=150
 
MINSTART=hwmon0/device/pwm1=150
 
MINSTOP=hwmon0/device/pwm1=105
 
MINSTOP=hwmon0/device/pwm1=105
</pre>
+
}}
  
* <strong>INTERVAL</strong>: how often the daemon should poll cpu temps and adjust fan speeds. Interval is in seconds.
+
* '''INTERVAL''': quante volte il demone dovrebbe sondare le temperature della cpu e regolare la velocità delle ventole. L'intervallo è espresso in secondi.
  
The rest of the configuration file is split into (at least) two values per configuration optionEach configuration option first points to a PWM device which is written to which sets the fan speedThe second "field" is the actual value to setThis allows you to monitor and control multiple fans and temperatures (if your pc supports it).
+
Il resto del file di configurazione è diviso in (almeno) due valori per ogni opzione di configurazioneOgni opzione di configurazione punta prima ad un dispositivo PWM con le istruzioni per impostare la velocità della ventolaIl secondo "campo" è il valore effettivo da impostareCiò consente di monitorare e controllare ventole multiple e temperature (se il pc lo supporta).
  
* <strong>FCTEMPS</strong>: The temperature input device to read for cpu temperatureThe above example corresponds to <tt>/sys/class/hwmon/hwmon0/device/temp1_input</tt>.
+
* '''FCTEMPS''': Il dispositivo di input della temperatura da leggere per la temperatura della CPUL'esempio sopra riportato corrisponde a {{Ic|/sys/class/hwmon/hwmon0/device/temp1_input}}.
* <strong>FCFANS</strong>: The current fan speed, which can be read (like the temperature) in <tt>/sys/class/hwmon/hwmon0/device/fan1_input</tt>
+
* '''FCFANS''': La velocità della ventola attuale, che può essere letto (come la temperatura) in {{ic|/sys/class/hwmon/hwmon0/device/fan1_input}}
* <strong>MINTEMP</strong>: The temperature (&deg;C) at which to <em>SHUT OFF</em> the cpu fanEfficicent CPU's often will not need a fan while idlingBe sure to set this to a temperature that you <em>know</em> is safe.  Setting this to 0 is not reccommended, use a sane value.
+
* '''MINTEMP''': La temperatura (&deg;C) alla quale '''SPEGNERE''' la ventola della cpu.  Le CPU efficienti non hanno normalmente bisogno di ventilazione mentre sono al minimo.  Assicurarsi di impostare questo ad una temperatura di sicurezza ''conosciuta''.  Impostare questo valore a 0 non è consigliato, utilizzare un valore più sicuro.
* <strong>MAXTEMP</strong>: The temperature (&deg;C) at which to spin the fan at it's <em>MAXIMUM</em> speedThis should be probably be set to perhaps 10 or 20 degrees (&deg;C) below your CPU's critical/shutdown temperatureSetting it closer to MINTEMP will result in higher fan speeds overall.
+
* '''MAXTEMP''': La temperatura (&deg;C) alla quale far girare la ventola alla ''MASSIMA'' velocitàQuesto dovrebbe essere impostato, forse 10 o 20 gradi (&deg;C) al di sotto della temperatura critica di spegnimento della CPU.  Impostarla troppo vicina alla MINTEMP si tradurrà in superiore velocità generale della ventola.
* <strong>MINSTOP</strong>: The PWM value at which your fan stops spinningEach fan is a little differentPower tweakers can <tt>cat</tt> different values (between 0 and 255) to <tt>/sys/class/hwmon/hwmon0/device/pwm1</tt> and then watch the cpu fanWhen it stops, use this value.
+
* '''MINSTOP''': Il valore di PWM con cui il ventilatore si fermaOgni ventola è un po' diversaGli utenti esperti possono impostare valori differenti (tra 0 e 255) a {{ic|/sys/class/hwmon/hwmon0/device/pwm1}} e poi monitorare la ventola della CPUQuando si ferma, utilizzare quel valore.
* <strong>MINSTART</strong>: The PWM value at which your fan starts to spin againThis is often a higher value than MINSTOP as more voltage is required to overcome inertia.
+
* '''MINSTART''': Il valore di PWM con cui il ventilatore inizia a girare di nuovoQuesto è spesso un valore superiore a MINSTOP dal momento che è richiesto un maggiore voltaggio per superare l'inerzia.
 +
 
 +
Ci sono anche altre due impostazioni necessarie a fancontrol per verificare che il file di configurazione è ancora aggiornato. Le righe iniziano con il nome dell'impostazione e un segno di uguaglianza, seguiti dai gruppi di "hwmon-class-device=setting", separati da spazi. È necessario specificare ogni impostazione per ogni dispositivo di classe {{Ic |hwmon}} in uso in qualsiasi parte della configurazione, o {{Ic |fancontrol}} non funzionerà.
 +
 
 +
* '''DEVPATH''': Consente di impostare il dispositivo fisico. È possibile determinare questo eseguendo il comando
 +
readlink -f /sys/class/hwmon/<hwmon-device>/device | sed -e 's/^\/sys\///'
 +
* '''DEVNAME''': Imposta il nome del dispositivo. Provare con
 +
cat /sys/class/hwmon/<hwmon-device>/device/name | sed -e 's/[[:space:]=]/_/g'
  
 
=== fancontrol ===
 
=== fancontrol ===
  
Try to run fancontrol:
+
Provare ad eseguire {{Ic |fancontrol}}:
<pre>/usr/sbin/fancontrol</pre>
+
/usr/sbin/fancontrol
 +
 
 +
Dovrebbe avviarsi e probabilmente si sentirà rallentare la ventola della CPU.
 +
 
 +
Se tutto funziona correttamente, per ottenere l'avvio al boot basta aggiungere {{Ic|fancontrol}} a DAEMONS in {{Ic|/etc/rc.conf}}, dato che uno script init per {{Ic|fancontrol}} è ora fornito di default!
 +
 
 +
''La maggior parte di questi howto è tratta da [[http://ubuntuforums.org/ Forum di ubuntu]] e dalla [[http://ubuntuguide.org/ Guida di ubuntu]].''
 +
 
 +
{{Note|Per i portatili Dell Latitude/Inspiron, si consiglia di utilizzare {{Pkg|i8kutils}}/{{Pkg|i8kmon}}. Tenere conto che questi due pacchetti non funzionano su Ispiron 1764}}
 +
 
 +
=== Semplice script Bash per regolazione fine delle ventole ===
 +
Esegui questo come root per fare in modo che diversi valori pwm si convertano in RPM.  Come si può vedere, questo script presuppone che "fancontrol" sia in esecuzione e lo disabilita automaticamente, per poi riattivarlo quando si ha terminato.
 +
 
 +
{{bc|1=
 +
#!/bin/bash
 +
clear
 +
 
 +
#################################################
 +
# change the following lines to match your system
 +
#################################################
 +
pwmcontrol=/sys/class/hwmon/hwmon4/device/pwm1
 +
fanrpmread=/sys/class/hwmon/hwmon4/device/fan1_input
 +
 
 +
# do not edit below this line
 +
#################################################
 +
log=`pwd`/fandata.log
 +
echo "PWM,RPM" > $log
 +
 
 +
echo "This script will set your PWM to values from full power down to 0 decreasing in"
 +
echo "approx 5 % steps and pausing 10 sec between steps to allow the fan RPM to catch"
 +
echo "up to the new settings.  Data are logged to ${log}"
 +
echo "which can be used to generate a graph or use as-is."
  
It should start up and you'll probably hear your CPU fans spin down.
+
collectdata() {
 +
array=( 255 242 230 217 204 191 178 165 152 139 126 113 100 87 74 48 22 0 )
 +
for item in ${array[*]}
 +
do
 +
echo $item > $pwmcontrol
 +
sleep 10s
 +
rpm=`cat ${fanrpmread}`
 +
echo $item,$rpm >> $log
 +
echo "PWM: ${item} RPM: ${rpm}"
 +
done
 +
}
  
If it's working, in order to run at boot simply add "fancontrol" to DAEMONS in /etc/rc.conf, as
+
/etc/rc.d/fancontrol stop
a fancontrol init script is now provided by default!
+
echo "1" > ${pwmcontrol}_enable
  
''Most of this howto is from [[http://ubuntuforums.org/ Ubuntu forums]] and [[http://ubuntuguide.org/ Ubuntu guide]].''
+
collectdata
  
For Dell Latitude/Inspiron laptops, you may want to use i8kutils/i8kmon.
+
echo "0" > ${pwmcontrol}_enable
 +
/etc/rc.d/fancontrol start
 +
}}

Revision as of 10:39, 13 June 2012

Controllare la velocità (e il rumore!) della ventola della CPU è facile!

Warning: Ciò che segue potrebbe danneggiare il proprio hardware. La ventola della CPU serve per raffreddarla e in questa guida verrà spenta per un paio di secondi. Se non si è preparati a questo, non farlo!


lm-sensors

Per prima cosa, bisogna configurare lm_sensors.

Una volta installato lm_sensors, si possono ottenere delle letture con il comando sensors.

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +29.0°C  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +29.0°C  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +31.0°C  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +29.0°C  (high = +76.0°C, crit = +100.0°C)  

it8718-isa-0290
Adapter: ISA adapter
Vcc:         +1.14 V  (min =  +0.00 V, max =  +4.08 V)   
VTT:         +2.08 V  (min =  +0.00 V, max =  +4.08 V)   
+3.3V:       +3.33 V  (min =  +0.00 V, max =  +4.08 V)   
NB Vcore:    +0.03 V  (min =  +0.00 V, max =  +4.08 V)   
VDRAM:       +2.13 V  (min =  +0.00 V, max =  +4.08 V)   
fan1:        690 RPM  (min =   10 RPM)
temp1:       +37.5°C  (low  = +129.5°C, high = +129.5°C)  sensor = thermistor
temp2:       +25.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermal diode

Se nell'output non viene visualizzato il valore RPM per la ventola della CPU, ma si è sicuri che sia in esecuzione, è necessario aumentare il divisore della ventola. Se la velocità della ventola viene mostrata ed è superiore a 0, ignorare il passaggio successivo.

Incrementare fan_div

La prima riga emessa nell'output dei sensori è il chipset usato dalla scheda madre per leggere le velocità, temperature e voltaggi.

Creare il file di configurazione libsensors copiando il file di default in /etc/sensors.d/.

# cp /etc/sensors3.conf /etc/sensors.d/sensors.conf

Ora editare /etc/sensors.d/sensors.conf e cercare il chipset esatto. Alcuni nomi di chipset sono simili, quindi assicurarsi che quello che si sta modificando è il proprio. Aggiungere la riga set fanX_div 4 vicino l'inizio della propria configurazione chipset, sostituendo X con il numero corrispondente di ventole della CPU.

Salvare ed eseguire:

# sensors -s

che ricaricherà le variabili impostate in sensors.conf. Eseguire sensors di nuovo e verificare se c'è una lettura RPM. In caso contrario, aumentare il divisore a 8, 16 o 32.

pwmconfig

Nota: Gli utenti più smaliziati preferiranno magari saltare questa sezione e scrivere /etc/fancontrol da soli, risparmiandosi in questo modo di dover ascoltare le ventole a tutta velocità

Una volta configurato lm sensor correttamente, eseguire pwmconfig per testare e configurare il controllo della velocità delle ventole.

Seguire le istruzioni di pwmconfig per impostare una velocità di base.

Le opzioni di configurazione di default dovrebbero creare un nuovo file, /etc/fancontrol.

Ottimizzazioni

Warning: Alcune delle fasi descritte di seguito descrivono come modificare la velocità delle ventole. Prima di fare questo assicurarsi di avere un basso carico della CPU ed essere sicuri di volerlo fare. Se in qualsiasi momento durante i seguenti passaggi si nota la temperatura della CPU salire drammaticamente, fare un echo "255" > /sys/class/hwmon/hwmon0/device/pwm1 per far girare la ventola a tutta velocità ed ottenere un raffreddamento completo in sicurezza. In sostanza, si dovrebbe sapere cosa si sta facendo prima di giocherellare con il file di configurazione.
Nota: Su numerosi sistemi, lo script incluso può segnalare errori in quanto cerca di calibrare la ventola al PWM. Si possono tranquillamente ignorare questi errori. Il problema è che lo script non aspetta abbastanza a lungo prima di scalare su o giù il PWM.

Se si desidera un maggiore controllo, si avrà probabilmente bisogno di modificare la configurazione generata. Ecco un file di configurazione d'esempio:

INTERVAL=10
DEVPATH=hwmon0=devices/platform/coretemp.0 hwmon2=devices/platform/w83627ehf.656
DEVNAME=hwmon0=coretemp hwmon2=w83627dhg
FCTEMPS=hwmon0/device/pwm1=hwmon0/device/temp1_input
FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input
MINTEMP=hwmon0/device/pwm1=20
MAXTEMP=hwmon0/device/pwm1=55
MINSTART=hwmon0/device/pwm1=150
MINSTOP=hwmon0/device/pwm1=105
  • INTERVAL: quante volte il demone dovrebbe sondare le temperature della cpu e regolare la velocità delle ventole. L'intervallo è espresso in secondi.

Il resto del file di configurazione è diviso in (almeno) due valori per ogni opzione di configurazione. Ogni opzione di configurazione punta prima ad un dispositivo PWM con le istruzioni per impostare la velocità della ventola. Il secondo "campo" è il valore effettivo da impostare. Ciò consente di monitorare e controllare ventole multiple e temperature (se il pc lo supporta).

  • FCTEMPS: Il dispositivo di input della temperatura da leggere per la temperatura della CPU. L'esempio sopra riportato corrisponde a /sys/class/hwmon/hwmon0/device/temp1_input.
  • FCFANS: La velocità della ventola attuale, che può essere letto (come la temperatura) in /sys/class/hwmon/hwmon0/device/fan1_input
  • MINTEMP: La temperatura (°C) alla quale SPEGNERE la ventola della cpu. Le CPU efficienti non hanno normalmente bisogno di ventilazione mentre sono al minimo. Assicurarsi di impostare questo ad una temperatura di sicurezza conosciuta. Impostare questo valore a 0 non è consigliato, utilizzare un valore più sicuro.
  • MAXTEMP: La temperatura (°C) alla quale far girare la ventola alla MASSIMA velocità. Questo dovrebbe essere impostato, forse 10 o 20 gradi (°C) al di sotto della temperatura critica di spegnimento della CPU. Impostarla troppo vicina alla MINTEMP si tradurrà in superiore velocità generale della ventola.
  • MINSTOP: Il valore di PWM con cui il ventilatore si ferma. Ogni ventola è un po' diversa. Gli utenti esperti possono impostare valori differenti (tra 0 e 255) a /sys/class/hwmon/hwmon0/device/pwm1 e poi monitorare la ventola della CPU. Quando si ferma, utilizzare quel valore.
  • MINSTART: Il valore di PWM con cui il ventilatore inizia a girare di nuovo. Questo è spesso un valore superiore a MINSTOP dal momento che è richiesto un maggiore voltaggio per superare l'inerzia.

Ci sono anche altre due impostazioni necessarie a fancontrol per verificare che il file di configurazione è ancora aggiornato. Le righe iniziano con il nome dell'impostazione e un segno di uguaglianza, seguiti dai gruppi di "hwmon-class-device=setting", separati da spazi. È necessario specificare ogni impostazione per ogni dispositivo di classe hwmon in uso in qualsiasi parte della configurazione, o fancontrol non funzionerà.

  • DEVPATH: Consente di impostare il dispositivo fisico. È possibile determinare questo eseguendo il comando
readlink -f /sys/class/hwmon/<hwmon-device>/device | sed -e 's/^\/sys\///'
  • DEVNAME: Imposta il nome del dispositivo. Provare con
cat /sys/class/hwmon/<hwmon-device>/device/name | sed -e 's/[[:space:]=]/_/g'

fancontrol

Provare ad eseguire fancontrol:

/usr/sbin/fancontrol

Dovrebbe avviarsi e probabilmente si sentirà rallentare la ventola della CPU.

Se tutto funziona correttamente, per ottenere l'avvio al boot basta aggiungere fancontrol a DAEMONS in /etc/rc.conf, dato che uno script init per fancontrol è ora fornito di default!

La maggior parte di questi howto è tratta da [Forum di ubuntu] e dalla [Guida di ubuntu].

Note: Per i portatili Dell Latitude/Inspiron, si consiglia di utilizzare i8kutils/i8kmon. Tenere conto che questi due pacchetti non funzionano su Ispiron 1764

Semplice script Bash per regolazione fine delle ventole

Esegui questo come root per fare in modo che diversi valori pwm si convertano in RPM. Come si può vedere, questo script presuppone che "fancontrol" sia in esecuzione e lo disabilita automaticamente, per poi riattivarlo quando si ha terminato.

#!/bin/bash
clear

#################################################
# change the following lines to match your system
#################################################
pwmcontrol=/sys/class/hwmon/hwmon4/device/pwm1
fanrpmread=/sys/class/hwmon/hwmon4/device/fan1_input

# do not edit below this line
#################################################
log=`pwd`/fandata.log
echo "PWM,RPM" > $log

echo "This script will set your PWM to values from full power down to 0 decreasing in"
echo "approx 5 % steps and pausing 10 sec between steps to allow the fan RPM to catch"
echo "up to the new settings.  Data are logged to ${log}"
echo "which can be used to generate a graph or use as-is."

collectdata() {
array=( 255 242 230 217 204 191 178 165 152 139 126 113 100 87 74 48 22 0 )
for item in ${array[*]}
do
echo $item > $pwmcontrol
sleep 10s
rpm=`cat ${fanrpmread}`
echo $item,$rpm >> $log
echo "PWM: ${item} RPM: ${rpm}"
done
}

/etc/rc.d/fancontrol stop
echo "1" > ${pwmcontrol}_enable

collectdata

echo "0" > ${pwmcontrol}_enable
/etc/rc.d/fancontrol start