CPU Fan speed control

6 отговора 236 прегледа
#1

CPU Fan speed control

Имам следния проблем: BIOS-а не контролира оборотите на fan-a. Под Win има софтуерно решение на въпроса, но под Linux имам проблем. Ситуацията е следната: настроени и работещ lm sensors (т.е. може да се отчитат оборотите и т.н.), ровейки из мрежата за подходящ софтуер открих това което ми трябваше, но информацията която софт-а търси се намира в /proc/sys/fan. До тук всичко е добре, стига там да имаше това, което трябва... /proc/sys/fan обаче е без нито един запис. Ядрото е компилирано с proc (в proc има инфо за какво ли не, но точно това което ми трябва го няма). Вентилатора е с три жици... както казах под Win може да бъде контролиран софтуерно.
Цялата лудница е за това, че fan-a е много шумен при 100%....... през ноща е малко неприятно...
10Х

Отговор
в отговор на ZEN #2

Re: CPU Fan speed control

С какво ядро си? От кой файл sensors чете оборотите? Кои модули се зареждат от lm_sensors?

Отговор
в отговор на l #3

Re: CPU Fan speed control

Ядро: 2.6.8-7
Файл от който чете: две възможности - в /proc/bus/i2c или /sys/bus/i2c/devices. Първата отпада - няма директория /proc/bus/i2c. Във втората /sys/bus/i2c/devices има информация за текущото състояние на fan, волтажи и т.н.
Кои модули: няма компилирани модули... ядрото е компилирано с i2c в него.
Това е част от varyfan.conf - каде какво търси... проблема е че информацията я има в /sys/bus/i2c/devices но предполагам формата не е подходящ - "Received termination request (signal 11), setting speeds to max" - това е след промяна на цонф файла така че да чете от /sys/bus/i2c/devices.

# The pseudo-files for the CPU and case, for PWM (fan speed), and temperature.
# They are provided by the lm-sensors package. Install that and find a
# directory that has all the required files.
PWMcpu = /proc/sys/dev/sensors/xxxxxxxxxxxxxxxxx/pwm1
PWMcase = /proc/sys/dev/sensors/xxxxxxxxxxxxxxxxx/pwm2
TempCpu = /proc/sys/dev/sensors/xxxxxxxxxxxxxxxxx/temp2
TempCase = /proc/sys/dev/sensors/xxxxxxxxxxxxxxxxx/temp1

Отговор
в отговор на ZEN #4

Re: CPU Fan speed control

Програмата е стара (последната версия е от 2002) и вероятно работи само с ядра 2.4.

Описание на формата на файловете можеш да намериш в Documentation/i2c/sysfs-interface. При мен fan1_input (в компютъра ми има само един вентилатор, който охлажда процесора, захранването и останалите компоненти) може само да се чете, вероятно защото се управлява от BIOS.

Можеш да промениш програмата да чете данните от новия формат, или да си надраскаш някакъв прост скрипт. Най-добре първо опитай да задаваш оборотите ръчно, за да видиш дали има смисъл.

Отговор
в отговор на l #5

Re: CPU Fan speed control

За съжаление и при мен ситуацията е подобна с четенето... ще го погледна формата и ще пробвам този вариант. Какво имаш предвид под "ръчно"...?

Отговор
в отговор на ZEN #6

Re: CPU Fan speed control

echo 100 > fan1_input

Отговор
в отговор на l #7

Re: CPU Fan speed control

Няма никаква промяна... хм, дори няма output message...
Tова е от /usr/src/linux-2.6.8.1/Documentation/i2c/sysfs-interface
********
* Fans *
********

fan[1-3]_min Fan minimum value
Unit: revolution/min (RPM)
Read/Write.

fan[1-3]_input Fan input value.
Unit: revolution/min (RPM)
Read only.

fan[1-3]_div Fan divisor.
Integer value in powers of two (1, 2, 4, 8, 16, 32, 64, 128).
Some chips only support values 1, 2, 4 and 8.
Note that this is actually an internal clock divisor, which
affects the measurable speed range, not the read value.

fan[1-3]_pwm Pulse width modulation fan control.
Integer value in the range 0 to 255
Read/Write
255 is max or 100%.

fan[1-3]_pwm_enable
Switch PWM on and off.
Not always present even if fan*_pwm is.
0 to turn off
1 to turn on
Read/Write

при мен обче липсват последните два записа, което ме кара да си мисля, че фан-а може и да не се управлява импулсно както го прави varyfan... Обаче как тогава това става под Уиндоус....

Отговор