Понадобился мне однажды для работы ноутбук. Уж не помню почему, но выбор пал на Acer S3-391, тонкий, легкий, быстрый, но не лишенный недостатков. Кроме плохого экрана (который кстати не так просто заменить — у него особый коннектор, и возможно он приклеен к рамке), особенно меня раздражал шум вентилятора.
Пути решения этой проблемы я и постараюсь осветить в этой статье.
Прочитав статью Управляем вентилятором ноутбука через DSDT в Linux и не только, как и автор, я начал усердно гуглить в сторону ACPI и DSDT, даже перекомпилировал и подключил свою таблицу, но найти «ту самую» строчку кода отвечающую за работу вентилятора так и не удалось.
Тем временем шум вентилятора, меня все больше деморализировал. При чем, если на работе шум системников и кондиционера еще как-то перебивал, то дома, наедине со своими тараканами, вентилятор методично разрушал мою психику.
Решено было на время вернуться в Win7.
Как обстоят дела в Win
Для ОС от Майкрософт написано очень много программ для управлени вентилятором, все он по большей части заточены в лучшем случае под одного производителя. Что наводило на неприятные мысли.
Banks Vs. NBFCs: What is the Difference | FinShort#61
Но тем не менее была найдена относительно универсальная программа NBFC, которая сразу заработала, требовалось лишь выставить тригеры переключения оборотов.
Какое-то время решение меня устраивало, но на душе все равно было как-то неспокойно.
Возвращение домой
После пары недель использования вынды понял что неудобно. Нужно было решение для непокоренного пингвина.
Тогда я решил все таки разобраться как же работает вышеупомянутая программа.
Решение было не то что бы совсем на поверхноости, но точно не глубоко. Точнее в мануале приложенном к софтине.
Было найдено «правильное слово» по которому нужно гуглить: Embedded Controller (EC).
как написано на rom.by
Embedded Contoller — это встроенный контроллер типа Hitachi H8 (он же — Renesas), Winbond W83L950D, предназначенный для управления платформой (как правило — мобильной) как на уровне включения и выключения, так и для обработки ACPI-событий. В задачи EC-контроллера входит обслуживание аккумулятора мобильной платформы: выбор режима его заряда, контроль разрядки. Как правило, на мобильных платформах с помощью EC-контроллера реализуется и контроллер клавиатуры.
Оказалось что состояние вентилятора так же записывается в регистры этого контроллера.
Отавалось решить 2 задачи:
1) Какие регистры отвечают за состояние вентилятора
2) Как изменять их значение
Решение
С первой задачей помогла справится все также программка NBFC. Всего-то и нужно было посмотреть значения в конфиге для своего ноутбука (ультрабука?)
А с задачей «Как?» помог справится скрипт на перле шестилетней давности, который заработал сразу и без правок.
В общем-то все можно было бы и успокоиться, но хотелось немного увтоматизировать процесс, в результате чего появилось целых 3 скрипта, возможно и можно было все решить одним, но мои познания в программировании крайне ограничены, а на перле я вообще не писал никогда, если кто подскажет как это все упростить и сделать так что бы управляющий скрипт автоматически перезапускался после сна/пробуждения устройства — буду благодарен.
Did You Know About This Tie-Up Between Banks & NBFCs? Watch to know more! | #nbfc #shorts
Собственно сами скрипты:
Переработаный под мои нужды скрипт управления
Логика работы програмы
#!/usr/bin/perl -w $temp = `cat /sys/class/thermal/thermal_zone0/temp`; $silent = int(60000); $half = int(65000); $full = int(75000); if ($temp < $silent) < system(«/usr/bin/perl -w /usr/local/bin/fan_control.pl 20»); >elsif ($temp < $half) < system(«/usr/bin/perl -w /usr/local/bin/fan_control.pl 40»); >elsif ($temp < $full) < system(«/usr/bin/perl -w /usr/local/bin/fan_control.pl 80»); >else < system(«/usr/bin/perl -w /usr/local/bin/fan_control.pl auto»); >
Ляунчер
#!/usr/bin/bash /usr/local/bin/fan_control.pl manual while [ true ] do /usr/local/bin/fan_control_logic.pl sleep 5 done
Просто скопируйте в /usr/local/bin/ и дайте права на выполнение
Значения оборотов и пороговых тепмератур описаны такие как удобно мне, вы можете с ними поиграться, подобрать более подходящие для вас.
Если у вас другой ноутбук, с той же проблемой вам скорее всего потребуется изменить значения записываемого регистра
В этом нам помогут конфиги написанные для уже неоднократно упоминавшейся NBFC
Если ничего найти не удалось то можно попробовать узнать значения запустив:
watch -n 1 sudo fan_control.pl regs
Если регистры, и их значения подобраны верно просто выполняем в консоли:
sudo fan_control
вентилятор должен изменить обороты.
Profit!
Спасибо за внимание, надеюсь материал будет кому-нибудь полезен.
Критика, дополнения и улучшения приветствуются.
- Linux
- fan control
- управление вентилятором
- embedded controller
Источник: habr.com
NoteBook FanControl / NBFC
NoteBook FanControl / NBFC (nbfc / ec-probe) — консольная Mono (NuGet) утилита для управления вентилятором ноутбука, с мощной системой конфигурации позволяющей настроить работу сервиса под конкретную модель ноутбука.
NBFC (nbfc) работает в фоновом режиме, как сервис SystemD (System and Service Manager), конфигурационные файлы для множества наиболее распространённых моделей ноутбуков входят в поставку утилиты (для 178 моделей в версии 1.6.1.0) и определяют взаимодействие с встроенным контроллером ноутбука. Файлы конфигурации сделаны в формате XML (расширяемый язык разметки) и легко редактируются под конкретную модель ноутбука (для этого имеется подробная документация, на английском).
Лицензия: GNU General Public License version 3.0 (GPLv3)
Источник: zenway.ru
Fan controller для ноутбука windows 10
С помощью специального софта пользователь может без особых усилий настроить скорость вращения кулера в компьютере или ноутбуке, что позволяет отрегулировать уровень шума охладительной системы устройства. Кроме этого, можно выставить максимальную скорость вращения кулера при высокой нагрузке и ограничить охлаждение в состоянии простоя. Добиться этого можно с помощью простой, но многофункциональной утилиты Fan Controller 1.1. Скачать программу для компьютера или ноутбука можно бесплатно через торрент для ОС Windows XP, 7, 8.1 и 10.
Возможности Fan Controller
- Регулировка скорости кулеров и частоты их вращения.
- Настройка основных и дополнительных кулеров.
- Утилита позволяет контролировать температурные показатели устройства.
- Визуализация и поддержка данных, касающихся материнской платы и центрального процессора.
Описываемый софт нередко используется с целью разгона железа ПК. Разработчики предусмотрели этот факт и включили в программу функцию аварийной перезагрузки компьютера.
Как пользоваться
Для скачивания и установки приложения рекомендуем ознакомиться с подробной пошаговой инструкцией.
Скачивание и установка
На нашем сайте у пользователя есть возможность бесплатно скачать описываемую утилиту. Для этого выполняем такие простые действия:
- Воспользовавшись кнопкой, прикрепленной ниже, загружаем архив. Распаковываем файлы и запускаем иконку с названием setup.
- Для дальнейшей установки потребуется скачать некоторые недостающие компоненты. Чаще всего это .NET Framework. Кликаем по кнопке Accept, чтобы согласиться на установку.
- Ждем, пока нужные файлы установятся на ПК. Обычно это не занимает много времени.
Больше ничего скачивать и устанавливать не нужно. Кликаем по иконке приложения и запускаем его на компьютере или ноутбуке.