Ubuntu
- 1 ответ
- 0 вопросов
1
Вклад в тег
perl acer_ec.pl regs
__ | 00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F
__ __ __ __ __ __ __ __ | __ __ __ __ __ __ __ __
00 | 0 0 20 0 0 0 0 0 | 0 0 4 20 0 0 0 48
10 | 3 0 4 0 0 0 0 0 | 0 0 0 0 0 0 0 0
20 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
30 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
40 | 0 0 0 0 0 0 0 0 | 0 8 9 0 0 0 0 0
50 | 35 0 163 108 0 0 1 0 | 140 0 4 24 1 29 11 14
60 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
70 | 98 51 20 0 8 97 0 0 | 8 1 0 65 0 0 0 0
80 | 0 0 0 0 0 0 0 0 | 137 0 0 6 0 0 0 0
90 | 0 2 0 4 196 199 0 0 | 0 177 0 0 0 0 4 11
A0 | 129 128 128 128 128 128 128 128 | 39 35 35 0 57 14 37 33
B0 | 128 128 128 0 0 0 0 0 | 26 0 11 0 0 0 0 3
C0 | 4 2 176 4 4 0 0 0 | 0 0 0 0 0 0 0 0
D0 | 45 27 60 55 78 73 84 80 | 85 81 87 72 88 89 0 0
E0 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0
F0 | 72 57 69 67 48 57 87 87 | 40 49 46 48 50 41 32 0
[0x93] - CPU fan: Fan mode. 0x04 Auto, 0x14 Manualследовательно, выходит, у нас вентилятор в автоматическом режиме (т.к. [0x93] == 0x04), а чтобы понизить обороты необходимо выставить ручной и далее задать самому скорость.
[0x94] - CPU fan: Desired fan speed. 0x00-0xFF. With 0x00 being max speed and 0xFF means fan is off
[0x95] - CPU fan: Actual fan speed (in %? See note below).
#поставить небольшую скорость
perl acer_ec.pl := 0x93 0x14
perl acer_ec.pl := 0x94 0xe0 #можно поэкспериментировать с этим значением
#выключить вентилятор вовсе
perl acer_ec.pl := 0x93 0x14
perl acer_ec.pl := 0x94 0xff
#перевести обратно в автоматический режим
perl acer_ec.pl := 0x93 0x04
root@b590:~# crontab -l
* * * * * PATH="$PATH:/root/ec" fan_control.sh
#!/bin/bash
temp= -- текущая температура CPU, опубликую позже
ec95=`acer_ec.pl ?= 0x95| grep 0xff`
if [ $temp -lt 64 ]; then
val=0xff #off
if [ -z "$ec95" ] && [ $temp -gt 44 ]; then
val=0xe0 #lite
fi
elif [ $temp -lt 70 ]; then
val=0xc0 #medium
fi
echo `date` ${temp}C $val >> /tmp/fan_control.log
if [ -z $val ]; then
acer_ec.pl := 0x93 0x04
else
acer_ec.pl := 0x93 0x14
acer_ec.pl := 0x94 $val
fi