Форум русской поддержки ОС Fedora linux
Добрый день!
Поставил Fedora 9 на ноутбук Fujitsu-Siemens Amilo M3438G, параллельно стоит Windows XP.
В Windows XP кулер работает правильно, его обороты меняются автоматически.
А вот в Fedora 9 кулер крутится на всю мощь постоянно.
В чем может быть проблема?
Отредактированно pups (2008-11-04 14:12:17)
Неактивен
Программное управление кулером ноут бука. Ищи софтину которая хаменит ту что идет под виндами, или пинай производителя.
Неактивен
направление понял, спс.
как найду/решу проблему отпишусь
Неактивен
Та же проблема, но с десктопом после перехода на 27 ядро. Кулера системный и процессорный крутят практически на всю катушку. Q-Fan в биосе включен. Пинай не пинай производителя, а разбираться придется, судя по всему самому.
Неактивен
В /usr/sbin/ есть консольный fancontrol. Должен быть установлен lm_sensors.
Он как раз и управляет вентиляторами в зависимости от температуры.
По этому принципу сделал свой скрипт для регулировки процессорного вентилятора:
#!/usr/bin/perl
# Файл значения оборотов вентилятора
$CpuFanFile="/sys/class/hwmon/hwmon0/device/fan1_input";
# Файл разрешения управлением вентилятором
$CpuFanFileEnable="/sys/class/hwmon/hwmon0/device/pwm1_enable";
# Файл задания оборотов вентилятора
$CpuFanSetFile="/sys/class/hwmon/hwmon0/device/pwm1";
# Файл значения температуры
$CpuTempFile="/sys/class/hwmon/hwmon0/device/temp2_input";
# Верхняя граница установки оборотов
$CpuSetMax=255;
# Нижняя граница установки оборотов
$CpuSetMin=110;
# Верхняя граница температуры
$CpuTempMax=70;
# Нижняя граница температуры
$CpuTempMin=45;
# Предыдущее значение температуры
$TempPrev=0;
# Включение управления вентилятором
open (CpuFanEnF , ">>".$CpuFanFileEnable) or die "Ошибка записи в файл $CpuFanFileEnable: $!\n";
print CpuFanEnF "1";
close CpuFanEnF;
while (1<2){
# Получение значения оборотов
sysopen (CpuFanF, $CpuFanFile, O_RDONLY);
$CpuFan=<CpuFanF>;
close (CpuFanF);
# Получение значения температуры
sysopen (CpuTempF, $CpuTempFile, O_RDONLY);
$CpuTemp=<CpuTempF>;
$CpuTemp=$CpuTemp / 1000;
close (CpuTempF);
if ($TempPrev == 0) {$TempPrev=$CpuTemp;}
$DeltaTemp=abs ($CpuTemp-$TempPrev);
if ($DeltaTemp>0){
# Вычисление
$CpuFanRange=$CpuSetMax-$CpuSetMin;
$CpuTempRange=$CpuTempMax-$CpuTempMin;
$CpuKoeff=$CpuFanRange / $CpuTempRange;
$CpuDeltaTemp=$CpuTemp-$CpuTempMin;
$CpuFanDeltaSet=$CpuDeltaTemp * $CpuKoeff;
$CpuFanSet=$CpuFanDeltaSet+$CpuSetMin;
# Проверка выхода из диапазона
if ($CpuFanSet<$CpuSetMin) {$CpuFanSet=$CpuSetMin;}
if ($CpuFanSet>$CpuSetMax) {$CpuFanSet=$CpuSetMax;}
# Установка оборотов (запись в файл)
open (CpuFanSetF , ">>".$CpuFanSetFile);
print CpuFanSetF $CpuFanSet;
close CpuFanSetF;
$FanPercent=int ($CpuFanSet / 2.55);
# print ("Изменение температуры с $TempPrev°C на $CpuTemp°C. Обороты установлены на $FanPercent%\n");
$TempPrev=$CpuTemp;
}
sleep 1;
}
Запускаю его из /etc/rc.d/rc.local
Работает и на Fedora 8 и на Fedora 10 (Fedora 9 не юзал). Материнки GA-8I945GMF и GA-P35C-DS3.
Неактивен