Linux: como parar os fãs programaticamente?

3

Meu sistema não reage ao escrever valores abaixo de 255 a / sys / class / hwmon / hwmon0 / device / pwm (2,3) que correspondem a ventiladores de gabinete de 3 fios conectados via M / B (ga-890gpa- ud3h) cabeçalhos. A ideia foi retirada do link

ls /sys/class/hwmon/hwmon0/device/

alarms      fan1_min    fan3_beep   fan5_min   in0_min    in2_alarm  in3_beep   in4_beep   in5_input  in6_max    in7_max    power/                   pwm2_auto_channels_temp  pwm3_freq    temp1_min    temp2_min    temp3_min
cpu0_vid    fan2_alarm  fan3_input  hwmon/     in1_alarm  in2_beep   in3_input  in4_input  in5_max    in6_min    in7_min    pwm1                     pwm2_enable              subsystem@   temp1_type   temp2_type   temp3_type
driver@     fan2_beep   fan3_min    in0_alarm  in1_beep   in2_input  in3_label  in4_max    in5_min    in7_alarm  in8_input  pwm1_auto_channels_temp  pwm2_freq                temp1_alarm  temp2_alarm  temp3_alarm  uevent
fan1_alarm  fan2_input  fan5_alarm  in0_beep   in1_input  in2_max    in3_max    in4_min    in6_alarm  in7_beep   in8_label  pwm1_enable              pwm3                     temp1_beep   temp2_beep   temp3_beep   vrm
fan1_beep   fan2_min    fan5_beep   in0_input  in1_max    in2_min    in3_min    in5_alarm  in6_beep   in7_input  modalias   pwm1_freq                pwm3_auto_channels_temp  temp1_input  temp2_input  temp3_input
fan1_input  fan3_alarm  fan5_input  in0_max    in1_min    in3_alarm  in4_alarm  in5_beep   in6_input  in7_label  name       pwm2                     pwm3_enable              temp1_max    temp2_max    temp3_max

Na verdade, mostra a velocidade real:

cat /sys/class/hwmon/hwmon0/device/fan5_input 
5769

Mas recusa-se a escrever para fanX_input: permissão negada (mesmo para o root).

Mais especificações: kernel 2.6.38.4, sensors output is:

it8720-isa-0228
Adapter: ISA adapter

Eu não executo nenhum daemons para o controle do ventilador, mas suponha que a velocidade possa ser ajustada pelo controlador do kernel da CPU. Como parar um ventilador nessas condições sem fazer truques de hardware?

Upd : parte da saída do pwmconfig:

Dispositivos:

Found the following devices:
   hwmon0/device is it8720
   hwmon1/device is k10temp

Found the following PWM controls:
   hwmon0/device/pwm1
   hwmon0/device/pwm2
hwmon0/device/pwm2 is currently setup for automatic speed control.
In general, automatic mode is preferred over manual mode, as
it is more efficient and it reacts faster. Are you sure that
you want to setup this output for manual control? (n) y
   hwmon0/device/pwm3
hwmon0/device/pwm3 is currently setup for automatic speed control.
In general, automatic mode is preferred over manual mode, as
it is more efficient and it reacts faster. Are you sure that
you want to setup this output for manual control? (n) y

Teste:

Warning!!! This program will stop your fans, one at a time,
for approximately 5 seconds each!!!
This may cause your processor temperature to rise!!!
If you do not want to do this hit control-C now!!!
Hit return to continue: 

Testing pwm control hwmon0/device/pwm1 ...
  hwmon0/device/fan1_input ... speed was 4326 now 2136
    It appears that fan hwmon0/device/fan1_input
    is controlled by pwm hwmon0/device/pwm1
Would you like to generate a detailed correlation (y)? y

Isso foi parar o ventilador da CPU. E:

hwmon0/device/fan3_input ... speed was 1997 now 1997
    no correlation
  hwmon0/device/fan5_input ... speed was 5720 now 5720
    no correlation

Testing pwm control hwmon0/device/pwm2 ...
  hwmon0/device/fan1_input ... speed was 4326 now 4383
    no correlation
  hwmon0/device/fan3_input ... speed was 1997 now 1997
    no correlation
  hwmon0/device/fan5_input ... speed was 5720 now 5720
    no correlation

No correlations
    
por kagali-san 27.05.2011 / 20:13

2 respostas

2

O cabeçalho ao qual o ventilador está conectado na placa-mãe pode não suportar a aceleração do ventilador. Eu tenho uma placa-mãe com 6 cabeçalhos de ventilador, 4 deles suportam controle de velocidade, os outros 2 não.

    
por 27.05.2011 / 20:25
0

OK, parece que os cabeçalhos de 3 pinos são totalmente incapazes de controlar a rotação, mas apenas reportam isso: veja link

    
por 27.05.2011 / 20:54

Tags