- Еще один способ управления вентилятором в Linux (на примере Acer S3-391)
- Управление кулером в Ubuntu при помощи fancontrol
- Как контролировать скорость вентилятора?
- Примечание перед началом:
- Подскажите программу для управление кулером на линь
- compizomania
- Страницы
- 08 мая 2015
- Как настроить/контролировать скорость вентилятора видеокарты Nvidia в Ubuntu/Linux Mint
- 31 комментарий :
Еще один способ управления вентилятором в Linux (на примере Acer S3-391)
Понадобился мне однажды для работы ноутбук. Уж не помню почему, но выбор пал на Acer S3-391, тонкий, легкий, быстрый, но не лишенный недостатков. Кроме плохого экрана (который кстати не так просто заменить — у него особый коннектор, и возможно он приклеен к рамке), особенно меня раздражал шум вентилятора.
Пути решения этой проблемы я и постараюсь осветить в этой статье.
Прочитав статью Управляем вентилятором ноутбука через DSDT в Linux и не только, как и автор, я начал усердно гуглить в сторону ACPI и DSDT, даже перекомпилировал и подключил свою таблицу, но найти «ту самую» строчку кода отвечающую за работу вентилятора так и не удалось.
Тем временем шум вентилятора, меня все больше деморализировал. При чем, если на работе шум системников и кондиционера еще как-то перебивал, то дома, наедине со своими тараканами, вентилятор методично разрушал мою психику.
Решено было на время вернуться в Win7.
Как обстоят дела в Win
Для ОС от Майкрософт написано очень много программ для управлени вентилятором, все он по большей части заточены в лучшем случае под одного производителя. Что наводило на неприятные мысли.
Но тем не менее была найдена относительно универсальная программа NBFC, которая сразу заработала, требовалось лишь выставить тригеры переключения оборотов.
Какое-то время решение меня устраивало, но на душе все равно было как-то неспокойно.
Возвращение домой
После пары недель использования вынды понял что неудобно. Нужно было решение для непокоренного пингвина.
Тогда я решил все таки разобраться как же работает вышеупомянутая программа.
Решение было не то что бы совсем на поверхноости, но точно не глубоко. Точнее в мануале приложенном к софтине.
Было найдено «правильное слово» по которому нужно гуглить: Embedded Controller (EC).
как написано на rom.by
Embedded Contoller — это встроенный контроллер типа Hitachi H8 (он же — Renesas), Winbond W83L950D, предназначенный для управления платформой (как правило — мобильной) как на уровне включения и выключения, так и для обработки ACPI-событий. В задачи EC-контроллера входит обслуживание аккумулятора мобильной платформы: выбор режима его заряда, контроль разрядки. Как правило, на мобильных платформах с помощью EC-контроллера реализуется и контроллер клавиатуры.
Оказалось что состояние вентилятора так же записывается в регистры этого контроллера.
Отавалось решить 2 задачи:
1) Какие регистры отвечают за состояние вентилятора
2) Как изменять их значение
Решение
С первой задачей помогла справится все также программка NBFC. Всего-то и нужно было посмотреть значения в конфиге для своего ноутбука (ультрабука?)
А с задачей «Как?» помог справится скрипт на перле шестилетней давности, который заработал сразу и без правок.
В общем-то все можно было бы и успокоиться, но хотелось немного увтоматизировать процесс, в результате чего появилось целых 3 скрипта, возможно и можно было все решить одним, но мои познания в программировании крайне ограничены, а на перле я вообще не писал никогда, если кто подскажет как это все упростить и сделать так что бы управляющий скрипт автоматически перезапускался после сна/пробуждения устройства — буду благодарен.
Собственно сами скрипты:
Просто скопируйте в /usr/local/bin/ и дайте права на выполнение
Значения оборотов и пороговых тепмератур описаны такие как удобно мне, вы можете с ними поиграться, подобрать более подходящие для вас.
Если у вас другой ноутбук, с той же проблемой вам скорее всего потребуется изменить значения записываемого регистра
В этом нам помогут конфиги написанные для уже неоднократно упоминавшейся NBFC
Если ничего найти не удалось то можно попробовать узнать значения запустив:
Если регистры, и их значения подобраны верно просто выполняем в консоли:
вентилятор должен изменить обороты.
Profit!
Спасибо за внимание, надеюсь материал будет кому-нибудь полезен.
Критика, дополнения и улучшения приветствуются.
Источник
Управление кулером в Ubuntu при помощи fancontrol
После покупки минисервера появилась необходимость контролировать обороты кулеров, чтобы убрать вообще издаваемый шум.
Для того чтобы это сделать необходимо поставить пакет lm-sensors.
apt-get install lm-sensors
В папке /etc/init.d/ появляется новый скрипт fancontrol который периодически опрашивает датчики и если необходимо меняет обороты.
Для получения данных об оборотах куллеров необходимо выполнить комманду:
# sensors
it8718-isa-0290
Adapter: ISA adapter
in0: +1.17 V (min = +0.00 V, max = +4.08 V)
in1: +1.82 V (min = +0.00 V, max = +4.08 V)
in2: +3.39 V (min = +0.00 V, max = +4.08 V)
in3: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in4: +3.15 V (min = +0.00 V, max = +4.08 V)
in5: +0.03 V (min = +0.00 V, max = +4.08 V)
in6: +1.23 V (min = +0.00 V, max = +4.08 V)
in7: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in8: +4.08 V
fan1: 537 RPM (min = 0 RPM)
fan2: 891 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: -53.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: -2.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +20.0°C (low = +127.0°C, high = +90.0°C) sensor = thermal diode
cpu0_vid: +0.000 V
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +47.0°C (high = +86.0°C, crit = +100.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 1: +47.0°C (high = +86.0°C, crit = +100.0°C)
Fan1: обороты кулера процессора.
Fan2: обороты внешнего кулера, который подключается отдельно (у меня отдельно подключена 120-тка)
Для управления используются файлы /sys/class/hwmon/hwmon0/device/fan1_input и /sys/class/hwmon/hwmon0/device/fan2_input
Взависимости от числа записанного в файле меняется скорость вращения (и шума) кулера.
Для того чтобы включить кулер на «полную» можно сделать так:
echo «255» > /sys/class/hwmon/hwmon0/device/fan1_input
Чтобы у знать какое число отвечает за какие обороты необходимо выполнить команду pwmconfig
При запуске команды запустится утилита которая выдаст список оборотов и число которое необходимо посылать в файл /sys/class/hwmon/hwmon0/device/fan1_input, такого плана:
hwmon0/device/pwm1
PWM 255 FAN 1713
PWM 240 FAN 1713
PWM 225 FAN 1642
PWM 210 FAN 1527
PWM 195 FAN 1400
PWM 180 FAN 1285
PWM 165 FAN 1153
PWM 150 FAN 1036
PWM 135 FAN 902
PWM 120 FAN 784
PWM 105 FAN 829
PWM 90 FAN 1106
PWM 75 FAN 0
Fan Stopped at PWM = 75
Как показывает вывод самые большие обороты у кулера при значении 255, а если передать что-то ниже 75 кулер остановится вообще.
Теперь необходимо настроить файл которые отвечает за обороты и температуру (взаимосвязь температура = обороты) /etc/fancontrol :
У меня он имеет вид:
INTERVAL=3
FCTEMPS=hwmon0/device/pwm1=/sys/bus/platform/drivers/coretemp/coretemp.0/temp1_input hwmon0/device/pwm3=/sys/bus/platform/drivers/coretemp/coretemp.0/temp1_input
FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input hwmon0/device/pwm3=hwmon0/device/fan2_input
MINTEMP=hwmon0/device/pwm1=30 hwmon0/device/pwm3=30
MAXTEMP=hwmon0/device/pwm1=60 hwmon0/device/pwm3=60
MINSTART=hwmon0/device/pwm1=120 hwmon0/device/pwm3=120
MINSTOP=hwmon0/device/pwm1=75 hwmon0/device/pwm3=0
И посмотреть используя sensors какие сейчас обороты и какая температура.
Источник
Как контролировать скорость вентилятора?
Как я могу контролировать скорость вращения вентилятора компьютера?
На Windows есть замечательная программа под названием SpeedFan .
Примечание перед началом:
Эта функциональность зависит как от вашего оборудования, так и от программного обеспечения. Если ваше оборудование не поддерживает элементы управления скоростью вентилятора или не показывает их ОС, очень вероятно, что вы не сможете использовать это решение. Если это так, но программное обеспечение (также известное как ядро) не знает, как им управлять, вам не повезло.
Настроить lm-сенсоры
- В терминале введите sudo sensors-detect и ответьте ДА на все ДА / нет вопросов.
(Потенциально, это может повредить вашу систему или вызвать сбой системы. Для многих систем это безопасно. Нет никакой гарантии, что этот процесс не повредит вашей системе навсегда, я просто думаю, что вероятность такого критического сбоя действительно очень мала Сохранение всей вашей работы для возможных сбоев / зависаний / перезапусков перед обработкой конфигурации системы — это всегда хорошая идея. Если вы не уверены, прочитайте комментарии и попробуйте поискать в Интернете и получить общий обзор, прежде чем ДА — все, возможно, отборных с вашими ДА-есами все равно будет достаточно) - В конце обнаружения датчиков будет отображен список модулей, которые необходимо загрузить. Введите «yes», чтобы датчики-детекторы вставили эти модули в / etc / modules, или отредактируйте / etc / modules самостоятельно.
- Беги sudo service module-init-tools restart . Это прочитает изменения, которые вы сделали /etc/modules в шаге 3, и вставит новые модули в ядро.
- Примечание . Если вы работаете в Ubuntu 13.04 или более поздней версии, эту команду третьего шага следует заменить на sudo service kmod start .
Настроить фанконтроль
- В терминальном типе sudo pwmconfig . Этот сценарий остановит каждый вентилятор на 5 секунд, чтобы выяснить, какими вентиляторами можно управлять с помощью какого ШИМ. После прохождения скрипта через все вентиляторы вы можете настроить, какой вентилятор соответствует какой температуре.
- Вам нужно будет указать, какие датчики использовать. Это немного сложно. Если у вас есть только один вентилятор, обязательно используйте датчик температуры для вашего ядра, чтобы основывать скорость управления вентилятором.
- Запустите подсказки и сохраните изменения в расположении по умолчанию.
- Внесите коррективы для точной настройки /etc/fancontrol и используйте их sudo service fancontrol restart для внесения изменений. (В моем случае я установил интервал в 2 секунды.)
Настройка FanControl службы
- Беги sudo service fancontrol start . Это также заставит службу fancontrol запускаться автоматически при запуске системы.
В моем случае /etc/fancontrol для процессора я использовал:
Настройки для hwmon0 / device / pwm2:
(зависит от hwmon0 / device / temp2_input) (управляет hwmon0 / device / fan2_input)
а в другой системе это:
Вот некоторая полезная информация о настройках и что они действительно делают
Источник
Подскажите программу для управление кулером на линь
Подскажите программу для управления скоростью процессорного кулера на linux.
Что не маловажно с ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ, нашел только консольную версию, не устраивает. В гугле помойка.
Дистрибутив arch (мало ли)
Более того, далеко не для всех материнских плат есть соответствующие драйвера. В линуксе с этим традиционно плохо.
А из консольных что есть годное? Нагуглил fancontrol, когда-то еще пару штук находил, но как-то не сложилось с ними.
Понятия не имею. Там везде простейший фронтенд к sysfs. Я руками пишу в нужные файлики, когда приходится (а почти никогда не приходится, потому что система обычно лучше меня знает, что ей нужно).
Если любите нестандартные решения, и у вас достаточно новая система на Intel, то попробуйте thermald. Стандартные настройки не позволят управлять кулерами, но если сделать как-то так, то будет работать (настройки моего лаптопа): https://gist.github.com/ValdikSS/d896cebd8e1aafc65b4b
Что не маловажно с ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ
А зачем ей вообще интерфейс, даже текстовый? Оно ж автоматически работает.
Одноклассникам нечем хвастаться
Так-так-так, а можно поподробнее? Или хотя бы коротко: чего именно этой штукой можно добиться и чего именно добились Вы Вашим конфигом?
Зачем лезть в работу того, что отвечает за здоровье и безопасноть процессора? Контроллер самостоятельно выбирает необходимый режим работы вентилятора. Зачем что-то менять? Есть опции в CMOS BIOS / UEFI Settings — там и устанавливайте. Да, линь — это рыба.
программу с нрафическим интерфейсом для управления подсветкой фотодиода мыши не подсказать?
в голове у тебя мрак
Эта штука умеет управлять троттлингом. Я не люблю, когда у меня лаптоп горячий, мне лучше, чтобы он тормозил, но не грелся, и вот эта программа это и обеспечивает. Конфиг ее учит использованию кулера, а не только пассивных средств охлаждения (троттлинг).
Источник
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
08 мая 2015
Как настроить/контролировать скорость вентилятора видеокарты Nvidia в Ubuntu/Linux Mint
Владельцы компьютеров с видеокартой Nvidia вероятно знают, что после установки проприетарного драйвера автоматически устанавливается графическая программа по настройке драйвера — NVIDIA X Server Settings. Но в ней нет возможности настройки/регулировки вентилятором видеокарты и параметры вращения вентилятора для охлаждения выставлены по умолчанию.
Если вы хотите самостоятельно руководить процессом охлаждения видеокарты, необходимо установить дополнительный компонент Coolbits.
Предупреждение . Выполняйте нижеследующие действия на свой страх и риск.
1. Прежде всего у вас уже должен быть активирован и установлен проприетанный драйвер. Пример:
2. Откройте терминал, скопируйте и выполните следующие команды:
sudo nvidia-xconfig —cool-bits=4
3. Перезагрузите компьютер.
4. После нового входа в систему откройте из системного меню NVIDIA X Server Settings и перейдите в раздел Thermal Settings, где вы теперь должны увидеть дополнительные настройки управлением скоростью вращения вентилятора охлаждения видеокарты.
5. Активируйте пункт Enable GPU Fan Settings, передвиньте флажок регулировки скоростью вращения вентилятора на нужную величину (в процентах) и нажмите кнопку Apply (Применить).
Заключение . Если что-то пойдёт не так, вы всегда можете сбросить термальные настройки, нажав кнопку Reset Hardware Default ( Сбросить настройки по умолчанию).
31 комментарий :
cool-bits=1 включает возможность оверклокинга
cool-bits=4 включает возможность ручного управления кулером
cool-bits=5 включает И ТО, И ДРУГОЕ
Т.е., если установить значение cool-bits=5, можно не только управлять вентилятором, но и вручную выставлять рабочие частоты видеокарточки, делая, таким образом, overclocking (или downclocking, во избежание перегрева). У меня, например, нижний порог производительности немного задран, а верхний, наоборот, специально занижен — так карточка у меня значительно меньше греется.
http://i.imgur.com/ieE20sM.png
http://i.imgur.com/iF9jLFK.png
http://i.imgur.com/78jmWW0.png
Заодно приведу примеры команд, которые можно закинуть в автозапуск, чтоб каждый раз не лазать в GUI:
nvidia-settings -a «[gpu:0]/GPUOverclockingState=1» -a «[gpu:0]/GPU2DClockFreqs=270,162» -a «[gpu:0]/GPU3DClockFreqs=405,324» (переопределяет рабочие частоты GPU)
nvidia-settings -a «[gpu:0]/GPUFanControlState=1» -a «[fan:0]/GPUCurrentFanSpeed=62» (устанавливает ручное управление кулером и скорость вращения в процентах от максимальной)
Не мое, конечно, дело, но вам впору свои статьи писать, Максим 🙂 Багаж знаний это позволяет.
Так Максим пишет стати на этом сайте. Он является соавтором блога Compizomania. Возможно Вы имели ввиду свой сайт/блог иметь, как автору. Но не каждый продвинутый пользователь хочет содержать свой блог. Для многих продвинутых пользователей проще публиковать статьи в существующем сайте/блоге и отвечать на комментарии пользователей, что и делает Максим.
Спасибо-работает , а для ATI подобной инструкции нет ?
На мобильных картах работать должно? А то у меня чтото с командой cool-bits=1 оверклок не заработал.
U14.04
gt 425m (331.113)
xorg https://yadi.sk/i/o2Ht1WktgWULY
Нашел- http://itmages.com/image/view/2531852/5584c886 http://sourceforge.net/projects/amdovdrvctrl/ может кому-нибудь пригодится
У иеня нет Clock Frequencies. Как написать строки в автозагрузку:nvidia-settings -a «[gpu:0]/GPUOverclockingState=1» -a «[gpu:0]/GPU2DClockFreqs=270,162» -a «[gpu:0]/GPU3DClockFreqs=405,324» (переопределяет рабочие частоты GPU)
nvidia-settings -a «[gpu:0]/GPUFanControlState=1» -a «[fan:0]/GPUCurrentFanSpeed=62» (устанавливает ручное управление кулером и скорость вращения в процентах от максимальной). Двумя разными командами?
==На мобильных картах работать должно? А то у меня чтото с командой cool-bits=1 оверклок не заработал.==
Сложно сказать с уверенностью. У меня нет ноутбука и проверить не на чем. И я толком не знаю, как именно работает команда nvidia-xconfig в Ubuntu, куда сохраняются параметры. В моем Archlinux я не использовал никаких команд, просто добавил строчку
Option «Coolbits» «5»
в секцию Device файла /etc/X11/xorg.conf.d/20-nvidia.conf, но в Ubuntu этого файла может и не быть. Можно попробовать добавить непосредственно в xorg.conf, но если есть какие-то дополнительные конфиги, такой подход не всегда срабатывает.
==У иеня нет Clock Frequencies ==
Если вы активировали cool-bits=4, то это добавляет только управление кулером. Для оверклокинга нужны cool-bits=5 или cool-bits=1 Причем, не факт, что будет работать. Зависит от карточки и версии драйвера. В статье есть упоминание про «на свой страх и риск»
==Как написать строки в автозагрузку. Двумя разными командами?==
Две строчки, начинающиеся с nvidia-settings и далее до примечания в скобках — это две разные длинные команды и в автозапуск помещать их тоже надо по отдельности. Но использовать ОБЕ совсем НЕОБЯЗАТЕЛЬНО. И параметры частот и оборотов в командах надо подбирать индивидуально под свою карту. Я всего лишь привел примеры. Используйте их, только если знаете, что делаете.
Владимир, нет, имел ввиду именно статьи, а не отдельную площадку. К чему плодить ресурсы в сети, когда уже есть качественные и интересные?
Я не знал, что Максим здесь публикуется. Теперь знаю 🙂
Moriarty, в Вашем файле xorg.conf есть комментарий «generated by nvidia-xconfig», то есть nvidia-xconfig непосредственно туда и сохраняет все параметры. Попробуйте отредактировать секцию Device вручную, добавив Option «Coolbits» «5» или Option «Coolbits» «1», например, так:
Section «Device»
Identifier «Device0»
Driver «nvidia»
VendorName «NVIDIA Corporation»
BoardName «GeForce GT 425M»
Option «Coolbits» «5»
EndSection
и перезагрузить компьютер. Почему параметр не добавился командой sudo nvidia-xconfig, честно говоря, не знаю. Возможно, вводили с ошибкой.
P.S.
==На мобильных картах работать должно? А то у меня чтото с командой cool-bits=1 оверклок не заработал.
U14.04
gt 425m (331.113)==
Немного еще покурил мануалы 🙂 Для некоторых карт 400-й серии и для других карт с архитектурой Fermi и новее, оверклокинг может включаться командой
sudo nvidia-xconfig —cool-bits=8
(страница PowerMizer преобразуется в таблицу с редактируемыми значениями). Работает только с драйвером 337 и новее!
P.S. Возможно, я ошибаюсь, но по моему опыту, down-clocking действительно может быть довольно полезен. Никаких «тормозов» он на практике не вызывает. Максимальная производительность нужна только в играх, а видеокарта зачем-то норовит перескочить на «максимальный перфоманс» при малейшем увеличении нагрузки. Это приводит только к ее нагреву и росту оборотов вентилятора. На самом деле, нижнего порога производительности должно вполне хватать даже для HD-видео.
Еще бы написали как фиксировать настройку PowerMizer, было бы вообще отлично. Надоело при каждой перезагрузке ставить её вручную(
Этот комментарий был удален автором.
Что значит «фиксировать настройку PowerMizer»? Если Вы имеете в виду настройки оверклокинга (или даунклокинга), как на этих двух скриншотах
так я привел команду, которая их устанавливает:
nvidia-settings -a «[gpu:0]/GPUOverclockingState=1» -a «[gpu:0]/GPU2DClockFreqs=270,162» -a «[gpu:0]/GPU3DClockFreqs=405,324»
После этой команды PowerMizer и начинает выглядеть так:
где Memory Transfer Rate 648 = 324*2
Отредактируйте команду под свои частоты и закиньте в автозапуск.
P.S. Если Вы имеете в виду вот это http://i.imgur.com/XE94kwO.png , то это просто:
nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1
Сбросить обратно на Auto:
nvidia-settings -a [gpu:0]/GPUPowerMizerMode=2
Сбросить на Adaptive:
nvidia-settings -a [gpu:0]/GPUPowerMizerMode=0
У меня мобильная видеокарта nvidia gt540, после добавления параметра sudo nvidia-xconfig —cool-bits=4 и последующей перезагрузке, только сбивается разрешение экрана, а опция управлением кулера не включается. Может у кого заработало на ноутбуке, отпишитесь пожалуйста! Буду примногом благодарен!
Лучше бы написали как сделать, чтобы после установки проприетарного драйвера nvidia можно было регулировать обороты с помощью fancontrol, так как там можно задать скорость в зависимости от температуры, а не просто тупо выкручиваь вертушку на определенное количесвто оборотов. В общем проблема в том, что при использовании драйвера nouveau, fancontrol нормально работает и настраивается через pwmconfig, а посте установки драйверов от nvidia сенсор управления оборотами, как и считыаение с него данных, становится недоступным для программы fancontrol/pwmconfig. Может есть какой-то аргумент, чтобы отдать управление скоростью вращения вентилятора сторонней программе, так как мне кажется, что возможно это где-то блокируется. Плюс использования fancontrol состоит в том, что обороты регулируются в зависимости от температуры с установленным лично вами порогом.
PS. Прошивать Bios с другими значениями не вариант, так как нужно это делать налету и в зависимости от комнатной температуры.
==Лучше бы написали как сделать, чтобы после установки проприетарного драйвера nvidia можно было регулировать обороты с помощью fancontrol==
Fancontrol для проприетарных дров не предназначен.
==задать скорость в зависимости от температуры==
Можно использовать скрипт на bash или python для этой цели. Мне доводилось видеть подобные. Если хорошо поискать, можно найти в интернете. Был бы я силен в програмировании, сам бы написал, благо алгоритм там, по большому счету, простой как два пальца :).
Источник