Как я могу вручную управлять вентилятором с терминала?

11439
jbangerter

Я пытаюсь контролировать скорость вращения вентилятора на своем рабочем столе, и я был бы признателен за вашу помощь.

Цель: использовать скрипт для управления скоростью вентилятора на моем компьютере.

Мотивация: Настройки встроенного BIOS «Smart Fan» недостаточно умны для ускорения работы вентилятора, когда система перегревается, что приводит к сбою, когда один из временных параметров превышает пороговое значение.

Конфигурация:

  • Centos 6.3
  • Acer Veriton VN281G-UA425L
  • сокращенный вывод lspci

    00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge 00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02) 00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02) 00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02) 00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA Controller [IDE mode] (rev 02) 00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02) 
  • сокращенно / proc / cpuinfo

    processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 28 model name : Intel(R) Atom(TM) CPU D425 @ 1.80GHz 
  • Конфигурация Grub

    title CentOS (2.6.32-279.5.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-279.5.1.el6.x86_64 ro root=/dev/mapper/vg_hadean-lv_root rd_NO_LUKS rd_LVM_LV=vg_hadean/lv_root LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_hadean/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-279.5.1.el6.x86_64.img 

Предыдущие попытки:

  • Запустите lm_sensors lm_sensors смог найти только выходную температуру
  • Запустить yum search fan нет совпадений
  • добавить acpi и acpi = строго к ядру, ничего не произошло
  • проверьте / proc / acpi / fan каталог пуст

Я побежал, acer_ec.pl regsи результат был такой:

 00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F __ __ __ __ __ __ __ __ | __ __ __ __ __ __ __ __ 00 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  10 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  20 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  30 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  40 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  50 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  60 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  70 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  80 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  90 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  A0 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  B0 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  C0 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  D0 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  E0 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255 255 255  F0 | 255 255 255 255 255 255 255 255 | 255 255 255 255 255 255  

Я не знаю, как это должно выглядеть, но что-то здесь не так.


Я нашел ссылку, которая вдохновила меня попробовать pwmconfig. Вывод был: There are no pwm-capable sensor modules installed я собираюсь попытаться выяснить, как я могу установить эти модули.


Я сбросил настройку «Smart Fan», и на данный момент у меня больше нет проблем. Я не знаю, как это может повлиять на это, но посмотрим, что произойдет, когда я начну снова загружать систему.

Я все еще не нашел правильные патчи для ядра (или, если это даже проблема). Если проблема не исчезнет, ​​я попытаюсь обновить ядро, чтобы включить поддержку acpi. Используя аппаратный инструмент от arch linux iso, я обнаружил, что P01-A3Lна материнской плате Acer Veriton N281G я использую BIOS, выпуск 6.04.2011, редакция 8.16 .

Если это не сработает, я могу просто удалить это и перейти на Debian или Arch.

5
Убедитесь, что ничто не засоряет / не блокирует существующий воздушный поток: пробовали ли вы пройти через систему с баллоном со сжатым воздухом и убедиться, что в нем нет пыли? Пока вентилятор ЦП работает, я надеюсь, что ЦП не приблизится к точке среза температуры. Система сидит на солнце? Большинство систем, которые я использовал, держатся на расстоянии 50C от температуры выключения (опять же, это очень компактно). Darth Android 12 лет назад 0
Вентилятор работает нормально. На самом деле, когда я отключаю настройку «Smart Fan», вентилятор работает на полной скорости без проблем. Проблема, кажется, со встроенным контроллером. Смотрите вывод `acer_ec.pl regs` выше. Я не знаю, какие регистры соответствуют порогам вентиляторов, но все они 255. jbangerter 12 лет назад 0

3 ответа на вопрос

4
Bytemain

Найдите скрипт acer_ec.pl, который может управлять вентилятором через регистр встроенного контроллера. Это работает и на других компьютерах.

Черт возьми Вилликерс Бэтмен! Мой порог температуры вентилятора был установлен на 255 C! Спасибо, я попробую установить порог на что-то меньшее и дам вам знать, как это происходит! :) Я предполагаю, что мне нужно будет повторно включить настройку Smart Fan. Я бы проголосовал за тебя, но у меня пока недостаточно репутации. Кроме того, я вижу здесь, что есть способ установить порог для каждого уровня вентилятора. jbangerter 12 лет назад 0
Во-первых, я скажу, что это потрясающий сценарий, и я благодарен людям, которые его написали. Я обнаружил, что скрипт вводит в заблуждение утверждение о том, что он позволяет пользователю изменять пороговые значения для разных уровней поклонников. Я говорю обманчиво, потому что, когда я ввел команду, как объявлено, мне сказали, что это были «неправильные аргументы!». Дальнейшая проверка показала, что такой обработки в коммутаторе в конце файла не было. Я попытался распечатать свои регистры, чтобы увидеть, где должны быть записаны значения, но в итоге получил результат в моем последнем редактировании. Вы знаете, как я могу вручную установить эти пороги? jbangerter 12 лет назад 0
Вы установили встроенный контроль доступа в Linux? Сначала он должен быть включен. Или попробуйте RW что-нибудь в Windows, чтобы проверить встроенный контроллер. Я написал модуль ядра для своего ноутбука: http://www.chihoang.de/code-schnipsel/amilo-xa-3530/fsc-xa-3530-fan-control-v01.html. Я надеюсь, что это помогает? Bytemain 12 лет назад 0
Спасибо за вашу помощь. Я попробовал pwmconfig и обнаружил, что «не установлены модули датчиков с поддержкой pwm». Я предполагаю, что буду устанавливать некоторые сенсорные модули. jbangerter 12 лет назад 0
2
terdon

Также проверьте fancontrol и мой ответ на этот пост.

Спасибо, я забыл упомянуть, что попробовал это, но fancontrol не доступен в моем репозитории. Я не знаю, совместимо ли это с centos, но я посмотрю, смогу ли я добавить его. jbangerter 12 лет назад 0
0
Mark Lakata

There is a more popular "fancontrol" at the lm-sensors wiki. The fancontrol link in the other answer is a different script (much more experimental). This fancontrol includes the pwmconfig utility which will detect your temperature sensors and fan controllers.

Похожие вопросы