16 сентября 2012 г.

i8kutils

i8kutils ‒ это набор утилит для контроля и управления ноутбуками Dell (заявлена поддержка серии Inspiron и Laptitude). Позволяют управлять скоростью вращения кулеров ноутбука в автоматическом и ручном режиме. Существует под Linux, есть аналог под Windows в виде I8kfanGUI.
Интересуют две утилиты: i8kfan и i8kmon. Первая позволяет в ручном режиме задать скорость вращения кулера независимо от нагрузки и температуры процессора, что подчас не безопасно. Вторая, если её запустить в режиме демона, контролирует кулеры в автоматическом режиме. Автоматический означает также возможность настройки (через правку конфига), но оно в принципе не нужно и работает хорошо из коробки.

У i8kfan синтаксис простой:
user# i8kfan 0 1
первая цифра контролирует первый кулер, вторая, соответственно, второй. У меня только второй вентилятор, так что надо смотреть на конкретную модель.
Цифра 0 отключает вентилятор, 1 ставит на низкую, 2 ‒ на высокую скорость. Установка действует постоянно, поэтому если отключить кулер, то температура ЦПУ может подскочить до 80 просто при просмотре Youtube, на 1 (низкой скорости) ноутбук постоянно противно гудит, даже при отсутствии какой-либо нагрузки. На 2 гул невыносимый. Так что вручную регулировать через команды (или скрипты/хоткеи с командами) не имеет смысла.
Подробности по man i8kfan.

i8kmon гораздо интереснее. Если запустить его, то появится апплет, который позволяет вручную делать то же, что и i8kfan. Однако, i8kmon, если его запустить в режиме демона и в автоматическом режиме
user# i8kmon -d -a
позволяет управлять в автоматическом режиме работой вентиляторов в зависимости от t° железа.

Активируем так:
  • ставим i8kutils
  • в /etc/modules добавляем строчку i8k
  • в файле (если его нет, то создать) /etc/modprobe.d/options вписываем options i8k force=1
  • методом проб и ошибок узнаём, сколько у вас кулеров, запуская i8kfan X X, в моём случае с одним кулером в файл /etc/i8kmon пишем:

      set config(0) {{- 0}  -1  60  -1  65}
      set config(1) {{- 1}  50  70  55  75}
      set config(2) {{- 2}  60  80  65  85}
      set config(3) {{- 2}  70 128  75 128}

  • в /etc/itit.d/i8kmon меняем на
NAME=i8kmon
DAEMON=/usr/bin/i8kmon
PROC_I8K=/proc/i8k
DESC="Dell Inspiron fan/cpu-temperature monitor"
I8KMON_ARGS="--daemon --auto"
PIDFILE=/var/run/$NAME.pid
ENABLED=1
  • в /etc/default/i8kmon ENABLED=0 меняем на ENABLED=1
Важно знать, что вся работа зависит от конфига /etc/i8kmon. Всё расписывать не буду, подробности в man i8kmon. Настраиваем и наслаждаемся тишиной.