Come controllare la velocità della ventola?

149

Come posso controllare la velocità della ventola del computer?

Su Windows c'è un meraviglioso programma chiamato SpeedFan .

    
posta GrizzLy 18.01.2011 - 12:26

4 risposte

125

Nota prima di iniziare:

Questa funzionalità dipende sia dall'hardware che dal software. Se l'hardware non supporta i controlli della velocità della ventola o non li mostra al sistema operativo, è molto probabile che non si possa utilizzare questa soluzione. Se lo fa, ma il software (detto anche kernel) non sa come controllarlo, sei senza fortuna.

  1. Installa lm-sensors e fancontrol pacchetti.
  2. Configura lm-sensors

    1. Nel tipo di terminale sudo sensors-detect e rispondi SI a tutti Sì / nessuna domanda.
    2. Alla fine del rilevamento dei sensori, verrà visualizzato un elenco di moduli che devono essere caricati. Digita "sì" per avere sensori-detect, inserisci questi moduli in / etc / modules, o modifica te stesso / etc / modules.
    3. Esegui sudo service module-init-tools restart . Questo leggerà le modifiche apportate a /etc/modules nel passaggio 3 e inserirà i nuovi moduli nel kernel.
      • Nota : se stai utilizzando Ubuntu 13.04 o versione successiva, questo comando del terzo passaggio deve essere sostituito da sudo service kmod start .
  3. Configura fancontrol

    1. Nel tipo di terminale sudo pwmconfig . Questo script fermerà ogni fan per 5 secondi per scoprire quali fan possono essere controllati da quale PWM gestisce. Dopo che lo script scorre tra tutte le ventole, puoi configurare quale ventilatore corrisponde a quale temperatura.
    2. Dovrai specificare quali sensori utilizzare. Questo è un po 'complicato. Se hai una sola ventola, assicurati di usare un sensore di temperatura per il tuo core per basare la velocità di controllo su acceso.
    3. Esegui i prompt e salva le modifiche nella posizione predefinita.
    4. Apporta le regolazioni per mettere a punto /etc/fancontrol e usa sudo service fancontrol restart per applicare le tue modifiche. (Nel mio caso ho impostato l'intervallo su 2 secondi.)
  4. Configura il servizio fancontrol

    1. Esegui sudo service fancontrol start . Questo farà sì che il servizio di fancontrol funzioni automaticamente all'avvio del sistema.

Nel mio caso /etc/fancontrol per la CPU che ho usato:

Settings for hwmon0/device/pwm2:  
Depends on hwmon0/device/temp2_input  
Controls hwmon0/device/fan2_input  
MINTEMP=40  
MAXTEMP=60  
MINSTART=150  
MINSTOP=0  
MINPWM=0  
MAXPWM=255 
    
risposta data GrizzLy 03.04.2018 - 22:52
33

Se possiedi un ThinkPad , c'è un software chiamato thinkfan che fa esattamente questo. Come suggerisce ovviamente il nome, è specifico per ThinkPad ( thinkpad_acpi ).

Il software thinkfan è disponibile negli archivi software ubuntu standard, ma richiede alcuni passaggi per la configurazione.

Ecco una semplice guida dettagliata:

link

(che è fondamentalmente una versione tradotta di questa guida tedesca: link )

Informazioni rilevanti da posta:

Passaggio 1. Installa il software e i sensori thinkfan:

sudo apt-get install thinkfan lm-sensors

Passaggio 2. Assicurati che il daemon controlli la ventola modificando il file thinkpad.conf:

sudo nano /etc/modprobe.d/thinkfan.conf

aggiungendo la seguente riga:

options thinkpad_acpi fan_control=1

Passaggio 3. Fai caricare automaticamente il demone all'avvio modificando il file:

sudo nano /etc/default/thinkfan

assicurandoti che il tasto START sia impostato su sì, cioè dovrebbe esserci una riga che dice:

START=yes

Passaggio 4. Rileva i sensori del tuo laptop:

sudo sensors-detect

e scegli le risposte predefinite ogni volta che ti viene richiesto premendo Enter.

Passaggio 5. Carica i nuovi moduli. Da ubuntu 13.10 questo fatto da:

sudo service kmod start

mentre per le versioni precedenti come la 13.04 avresti invece bisogno di fare:

sudo service module-init-tools start

Passaggio 6. Scopri quali sensori sono in uso:

sensors

(quelli che indicano 0 gradi non sono in uso, non so perché anch'essi sono "rilevati"). Ricorda quali sono in uso.

Passaggio 7. Scopri i percorsi completi di questi sensori:

find /sys/devices -type f -name "temp*_input"

L'output dovrebbe essere un elenco di percorsi come / sys / devices /...

Passaggio 8. Copia e incolla i percorsi dei sensori nel file di configurazione /etc/thinkpad.conf. Per fare ciò, prima apri il file:

sudo nano /etc/thinkfan.conf

Ci dovrebbe già essere una riga come

#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) 

(il simbolo # indica che quella linea è stata commentata). Aggiungi una linea che inizia con il sensore (senza il simbolo #) e copia-incolla il tuo primo sensore. Ripeti l'operazione se hai più di un sensore. Ad esempio, sulla mia macchina, l'output nel passaggio 7 produce

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp3_input
/sys/devices/platform/thinkpad_hwmon/temp4_input
/sys/devices/platform/thinkpad_hwmon/temp5_input
/sys/devices/platform/thinkpad_hwmon/temp6_input
/sys/devices/platform/thinkpad_hwmon/temp7_input
/sys/devices/platform/thinkpad_hwmon/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp8_input
/sys/devices/platform/thinkpad_hwmon/temp2_input
/sys/devices/platform/coretemp.0/temp4_input
/sys/devices/platform/coretemp.0/temp2_input 

Quelli che sono in uso nella mia macchina sono quelli nella prima e nelle ultime due righe, quindi ho aggiunto le tre linee:

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input 

Passaggio 9. Finalmente possiamo impostare i livelli di velocità della ventola nel file di configurazione. Apri il file /etc/thinkpad.conf se non era già aperto.

sudo nano /etc/thinkfan.conf

I livelli di fan che uso sul mio ThinkPad x201 sono:

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767) 

L'ultima riga garantisce la piena velocità della ventola (127="disinnestato" cioè non regolato). Puoi armeggiare con questi livelli per soddisfare le tue esigenze / desideri, ma PER FAVORE ATTENZIONE!

Passaggio 10. Riavvia. Tutto dovrebbe funzionare ora. Per verificare se thinkpad funziona correttamente, utilizzare

sudo thinkfan -n

che avvia thinkfan in modalità dettagliata. Potresti voler fermare prima il demone di thinkfan:

sudo /etc/init.d/thinkfan stop

Se si desidera avviare nuovamente il daemon thinkfan, digitare:

sudo /etc/init.d/thinkfan start

Per essere completo, il mio file di configurazione /etc/thinkfan.conf è:

# IMPORTANT:
#
# To keep your HD from overheating, you have to specify a correction value for
# the sensor that has the HD's temperature. You need to do this because
# thinkfan uses only the highest temperature it can find in the system, and
# that'll most likely never be your HD, as most HDs are already out of spec
# when they reach 55 °C.
# Correction values are applied from left to right in the same order as the
# temperatures are read from the file.
#
# For example:
# sensor /proc/acpi/ibm/thermal (0, 0, 10)
# will add a fixed value of 10 °C the 3rd value read from that file. Check out
# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
# want to add to certain temperatures.

# Syntax:
# (LEVEL, LOW, HIGH)
# LEVEL is the fan level to use (0-7 with thinkpad_acpi)
# LOW is the temperature at which to step down to the previous level
# HIGH is the temperature at which to step up to the next level
# All numbers are integers.
#

# I use this on my T61p:
#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

#(0, 0, 55)
#(1, 48, 60)
#(2, 50, 61)
#(3, 52, 63)
#(4, 56, 65)
#(5, 59, 66)
#(7, 63, 32767)


# My settings for my ThinkPad X201: (kris)

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767)
    
risposta data Kris 08.01.2014 - 17:38
11

Per diversi computer Dell è possibile installare il pacchetto i8kutils:

sudo apt install i8kutils

Se hai una Dell non testata (come la mia Dell XPS 14z), potresti dover forzare il caricamento del modulo del kernel:

sudo modprobe i8k force=1
    
risposta data morhook 14.05.2016 - 17:54
6

Installa e configura i lm-sensors e fancontrol pacchetti:

sudo apt-get install lm-sensors fancontrol

La documentazione per la loro configurazione è disponibile sulle loro pagine man.

Questa è una funzione che dovrebbe essere fornita da un BIOS compatibile con ACPI, ma sembra che la maggior parte dei fornitori di schede madri non si preoccupino di seguire lo standard.

    
risposta data psusi 18.01.2011 - 15:28

Leggi altre domande sui tag