Управляем вентилятором ноутбука через DSDT в Linux и не только / Хабрахабр. Не знаю почему, но я всегда воспринимал системы охлаждения в ноутбуках как некий закрытый черный ящик. Тупость алгоритмов, по которым вентилятор начинал надрывно завывать при еще вполне холодном процессоре, изрядно раздражала во многих ноутбуках, но мне казалось, что все параметры там производители прибили гвоздями и поменять их можно разве что расковыряв BIOS или вообще только вставив какие- нибудь регулируемые резисторы в нужных местах.
Способы принудительного включения вентилятора на ноутбуке. Управление работой кулера через BIOS. Принудительное включение вентилятора с помощью программы SpeedFan. Я расскажу как регулировать обороты вентиляторов с помощью программы для управления кулерами, а в конце покажу на видео более подробно весь. SpeedFan 4.52 rus — бесплатная программа для управления кулерами СпидФан. Регулирование скорости вращения вентиляторов.
Ни тем, ни другим мне заниматься совершенно не хотелось, поэтому я об никогда всерьёз даже не задумывался. Нет, конечно, я слышал про всякие программы, которые могут вмешиваться в управление охлаждением и вроде кто- то ими успешно пользуется, но лично мне с ними вечно не везло, точнее не везло с железом, на котором я пытался их завести.
SpeedFan 4.52 rus — бесплатная программа для управления кулерами СпидФан Регулирование скорости вращения вентиляторов. Погуглив немного, удалось узнать, что под Windows есть замечательная программа Notebook Hardware Control, она бесплатная, её все.
Я расскажу как регулировать обороты вентиляторов с помощью программы для управления кулерами, а в конце покажу на видео более подробно весь . Статья о том, почему шумит ноутбук и как повлиять на скорость Программы для управления скоростью вращения вентилятора ничего.
Например, какое- то время назад я пробовал настроить fancontrol на довольно старом ноутбуке HP nc. Убунтой. В итоге, известный скрипт sensors- detect не смог найти ни одного вентилятора в системе, а без этого fancontrol не работает.
На разных форумах периодически появляются люди с похожими проблемами, но никто им толком помочь не может. Тогда я в очередной раз забросил эту тему и вернулся к ней только на днях, когда читал обзоры, подыскивая себе новый ноутбук, и уже вроде бы выбрал почти всем хороший Sony S1.
Постоянно шумящий ноутбук я больше не хочу, а выбирать как всегда особо не из чего, учитывая, что надо 1. Ну сами знаете, как оно бывает. Может быть на нем все- таки заведется fancontrol и все будет хорошо, но а если нет? Никаких отчетов по его установке на этот ноутбук найти не удалось. Это побудило меня еще раз копнуть тему программного управления вентиляторами и пройти довольно непростой, но очень увлекательный квест. Как оно в Windows.
Я решил, что если мне удастся разобраться с охлаждением моего HP, то и с новым Sony скорее всего справлюсь. Если нет, придется искать другой ноутбук. Погуглив немного, удалось узнать, что под Windows есть замечательная программа Notebook Hardware Control, она бесплатная, её все хвалят. Что же, надо попробовать. Перезагрузился в Windows, скачал, запустил – программа действительно работает. Можно задать температуры, при которых вентилятор будет выключен совсем, работать на низких оборотах, средних и высоких, а самое главное можно задать мощности моторчика вентилятора в процентах для всех трех режимов. Именно мощности, а не обороты в секунду, но какая разница.
Оказалось, что в этом ноутбуке по умолчанию самым низким оборотам соответствует 5. При этом молчит он только до 5. Процессор стоит довольно горячий – Core 2 Duo T7. C, только если раскрутить вентилятор на полную и оставить так на несколько минут, и то когда в комнате не очень жарко.
На дефолтных 5. 5% у вентилятора просто нет никаких шансов охладить процессор обратно ниже 5. С. Хотя может быть надо просто попробовать термопасту поменять, но сейчас речь не об этом. С помощью программы я просто установил минимальную мощность равной 3. С. Температура корпуса при этом на ощупь почти не изменилась, как было довольно горячо, так и осталось, а вот тише стало намного. Днем вентилятор на 3.
Ночью в тихой комнате его вполне слышно, но терпимо. Это гораздо лучше, чем было. Если еще чуть- чуть поднять минимальную температуру и перевести процессор и видеокарту в режим энергосбережения, можно получить абсолютно тихий ноутбук, только жесткий диск слышно как вращается, но это решается только заменой его на SSD, что вобщем- то в любом случае хорошо бы сделать.
Короче, оказывается возможность полностью контролировать температуру и шум есть. Тут бы и сказочки конец, но это же под Windows, а мне надо под Linux! Как оно под Linux. Под Linux такой программы нет. Вартість Бланка Закордонного Паспорта 2014. И как она работает, я честно говоря до сих пор до конца не понимаю, а на тот момент я там только подсмотрел ключевые слова, которые потом очень пригодились: ACPI и DSDT. К ним я еще вернусь позже.
А пока, я перезагрузился обратно в Ubuntu и начал внимательно изучать предварительно нагугленный путь в sysfs: /sys/class/thermal. Там оказалось вот что: lrwxrwxrwx 1 root root 0 Jan 1. С термальными зонами более менее все ясно, температуры CPU, GPU, какие- то еще три точки, не особо важно. А последняя thermal. Теперь понятно почему sensors- detect ничего не нашел, тут такой бардак, что черт ногу сломит. Вот так вот просто записав какое- нибудь число в thermal. Файл только для чтения, оно и понятно.
Теперь посмотрим на cooling? Внутри каждой папки примерно вот такое содержание: drwxr- xr- x 2 root root 0 Jan 1. K Jan 1. 0 2. 1: 3. Хм, я точно знаю, что у меня в ноутбуке только один вентилятор.
Процессоров, можно сказать, действительно два и есть один LCD экран, это правда. Но это же не cooling devices, зачем они тут? Ладно, будем пробовать разбираться дальше в этом бардаке. В файлах cur. Ага, похоже на какую- то такую развесистую битовую маску.
Если попробовать во все cur. А если записать единицу в cooling. Ура, у меня получилось управлять вентилятором вручную в Убунте. Тут бы можно было бы сколхозить какой- нибудь демон на Питоне, который бы ставил нужные мощности при определенных температурах, но во- первых, так можно установить только «стандартные» мощности из набора 0, 5.
А во- вторых, что- то же еще в системе меняет эти биты. Надо бы попробовать разобраться, что именно этим занимается и как на это можно влиять. Иначе говоря, «we have to go deeper».
Тут я вспомнил про первое ключевое слово подсказанное той программой под Windows: ACPI. ACPI. Вроде есть такой демон в Убунте acpid. Может это он управляет всем этим?
Но нет, судя по описанию он только следит за нажатием на кнопку выключения, опусканием крышки и всем таким прочим. И действительно, даже если его остановить, вентилятор продолжит работать как ни в чём не бывало, точно также меняя мощность в зависимости от температуры. Но я же видел в той программе, что в ACPI есть много чего, в том числе некая таблица DSDT (Differentiated System Description Table), которая на самом деле не совсем таблица, а скорее код на языке, который называется AML (ACPI Machine Language). Точнее, код пишется на ASL (ACPI Source Language), а потом компилируется в AML, т.
AML — это байт- код, его, в свою очередь, легко декомпилировать обратно в ASL. Надеюсь я вас не запутал, уважаемые читатели.
Кроме DSDT есть и другие таблицы — SSDT и т. AML- код и данные, но самое интересное обычно содержится в DSDT. В коде этих таблиц находится описание всех устройств компьютера и алгоритмы управления их питанием, в том числе, конечно же, и вентилятора. Раз есть байт- код, значит где- то должен быть интерпретатор, который будет его исполнять. И действительно, ядро каждой ОС, которая поддерживает ACPI, должно содержать виртуальную машину для выполнения AML- кода DSDT и других таблиц.
Есть она и в Linux. Вот и нашлось то, что меняет эти битики в файлах cur.
Но сначала надо установить интеловский компилятор для ASL/AML, в Debian- based системах это делается так: «sudo apt- get install iasl». Потом просто сделав «sudo cat /sys/firmware/acpi/tables/DSDT > /tmp/dsdt. DSDT в файле /tmp/dsdt. ASL хоть и трудно читаемый, но довольно простой сам по себе язык, видимо, специально спроектированный так, чтобы было легче писать его интерпретаор, т.
Я довольно быстро разобрался как мне поменять мощности вентилятора, просто поискал те самые мощности (5. Сборка делается командой «iasl - tc /tmp/dsdt. При этом могут вылезти ошибки и предупреждения, причем в тех строках, которые вы и не трогали. Все говорят, что происходит это потому что почти все производители биосов пользуются компилятором от Microsoft, а он просто игнорирует многие ошибки, интеловский гораздо строже.
Но у меня есть версия, что программисты просто отказываются нормально писать на этом дурацком языке. Помимо прочего, я в своем DSDT нашел довольно досадную опечатку в названии метода, который возвращает текущий уровень подсветки экрана из- за этого ядро при загрузке всегда ругалось «. Так что даже если с охлаждением у вас все в порядке, повод посмотреть на свой DSDT все равно есть.
Программа для управления кулерами в компьютере. Всем привет в эту чудесную субботу последнего месяца лета! Я уже совсем пьяный и сейчас собрался писать новый пост. К счастью, есть замечательная программа для управления кулерами.
В этой статье я расскажу как регулировать обороты вентиляторов с помощью специальной программы, а в конце покажу на видео более подробно весь процесс. Почему вентиляторы шумят и какие есть способы это исправить. За исключением особых безвентиляторных модификаций, в каждом компьютере установлено два и более вентилятора: в блоке питания, на процессоре, на видеокарте, в корпусе и другие. И каждый по- своему шумит, и это плохая новость. Многие просто привыкли к шуму своего системника и считают что так и должно быть. Может быть и должно, но необязательно! В 9. 9% случаев шум от компьютер можно уменьшить на 1.
Советую почитать как выбрать кулер для процессора. Как вы уже поняли, бесшумность достигается уменьшением шума от кулеров. Это возможно с помощью применения более тихих, по своей природе, кулеров, либо с помощью уменьшения оборотов уже имеющихся. Естественно, уменьшать обороты можно до значений не угрожающих перегреву компьютера! В этой статье речь пойдёт именно об этом способе. Также читайте как уменьшить треск от жесткого диска. Итак, чтобы уменьшить обороты вращения кулера можно использовать один из вариантов: Программа для управления оборотов кулеров«Интеллектуальная» система управления оборотами зашитая в BIOSИспользовать специальное устройство – реобас.
Искусственно занизить напряжение питания вентилятора. У кого нормально работает управление из BIOS могут дальше не читать.
Но частенько BIOS лишь поверхностно регулирует обороты, не занижая их до бесшумных и при этом всё ещё приемлемых значений. Разберём самый оптимальный – первый способ. Программа для управления кулерами Speed. Fan. Это многофункциональная и полностью бесплатная программа. Наверное сразу немного огорчу, сказав что эта программа работает не на всех ноутбуках, но можно пробовать, и не будет регулировать обороты тех вентиляторов, которыми не умеет управлять материнская плата из BIOS. Например, из моего BIOS можно включить функцию управления кулером Smart.
Fan только для центрального процессора. Хотя смотреть текущие обороты можно ещё для двух. Внимание: перед использованием программы отключите управление кулерами из BIOS! Иначе может произойти следующая ситуация.
В момент загрузки программы Speed. Fan считываются текущие обороты и принимаются за максимальные. Соответственно, если к этому времени BIOS не раскрутит вентилятор до максимальных оборотов, то и программа не сможет это сделать. У меня так один раз случилось, что в момент загрузки программы кулер на процессоре крутился со скоростью 1. Speed. Fan не мог установить б.
Ольшее значение. В итоге процессор нагрелся до 8. А заметил я это случайно, когда в момент большой нагрузки не дождался шума от вентилятора. Благо ничего не сгорело, а ведь компьютер мог больше не включиться. Можете поставить галочку, чтобы оно больше не появлялось и закрывайте его.
Далее Speed. Fan считает параметры микросхем на материнской плате и значения датчиков. Признаком успешного выполнения будет список с текущими значениями оборотов вентиляторов и температур компонентов. Сразу перейдите в «Configure - > Options» и поменяйте язык на «Russian».(картинка кликабельна)Как видим, здесь также показана загрузка процессора и информация с датчиков напряжения.
В блоке «1» располагается список обнаруженных датчиков скорости вращения кулеров с названиями Fan. Fan. 2. Обращаем внимание на значения, например Fan. Драйвера Для Навигатора Pioneer. Fan. 1 имеют реальные показатели 2.
RPM (оборотов в минуту), а остальные по нулям или с мусором (на картинке 1. RPM это мусор). Лишние мы потом уберём. В блоке «2» показываются обнаруженные датчики температур. GPU – это графический чипсет, HD0 – жёсткий диск, CPU – центральный процессор (вместо CPU на картинке Temp. В этом недостаток программы, что нужно угадывать где что (но потом мы сами переименуем датчики как нужно). Правда, на сайте можно скачать известные конфигурации, но процедура не из простых и усложнена английским языком.
Если непонятно какой параметр за что отвечает, то можно посмотреть значения в какой- нибудь другой программе, например AIDA6. Speed. Fan, чтобы точно знать где какие показания скорости и температуры (на видео под статьёй всё покажу).
А в этой статье я подробно рассказал как и где посмотреть параметры компьютера и датчиков. И в блоке «3» у нас регулировки скоростей Speed. Speed. 02. Пока что нам надо определить какой Speed.
Fan. X влияет. Для этого меняем значения каждого со 1. Fan. Запоминаем какой Speed на какой Fan повлиял. Повторю, что не все вентиляторы будут регулироваться, а только те, которыми умеет управлять материнская плата из BIOS. Настройка Speed. Fan.
Вот и добрались до настроек. Нажимаем кнопку «Конфигурация» и первым делом поназываем все датчики понятными именами. На своём примере я буду программно управлять кулером процессора. На вкладке «Температуры» находим определённый на предыдущем шаге датчик температуры процессора (у меня Temp. CPU Temp». В настройках ниже вписываем желаемую температуру, которую будет поддерживать программа с минимально- возможной скоростью вращения кулера, и температуру тревоги, при которой включаются максимальные обороты. Я устанавливаю 5. При сильно низкой температуре вентиляторы будут крутиться всегда на максимальных оборотах.
Далее разворачиваем ветку и снимаем все галочки, кроме той Speed. X, которая регулирует Fan. X процессора (это мы уже определили ранее). В моём примере это Speed. И также снимаем галочки со всех остальных температур, которые мы не хотим видеть в главном окне программы.
На вкладке вентиляторы просто находим нужные вентиляторы, называем их как хочется, а ненужные отключаем. Идём дальше на вкладку «Скорости». Становимся на тот Speed. X, который отвечает за нужный кулер, переименовываем его (например в CPU Speed) и выставляем параметры: Минимум – минимальный процент от максимальных оборотов, который программа сможет установить, Максимум – соответственно максимальный процент.
У меня минимум стоит 5. Ничего страшного, что программа управления для кулера не сможет установить значение на 1. Температуры», мы задали пороговое значение тревоги, при котором принудительно будет 1. Также для автоматического регулирования не забываем поставить галочку «Автоизменение».
В принципе это всё. Теперь переходим в главное окно Speed. Fan и ставим галочку «Автоскорость вент- ров» и наслаждаемся автоматической регулировкой скорости вращения Оптимально настроить под себя получится не с первого раза, поэкспериментируйте и оставьте подходящие параметры, оно того стоит!
Дополнительные параметры. Программка Speed.
Fan для управления кулерами имеет ещё кучу функций и параметров, но я не буду в них углубляться, т. Давайте поставим ешё несколько нужных галочек на вкладке «Конфигурация - > Опции»Запуск свёрнуто – чтобы Speed. Fan запускался сразу в свёрнутом виде.
Если не поставить, то при запуске Windows главное окно программы будет висеть на рабочем столе. Если программа не запускается вместе с Windows, то просто добавьте её ярлык в автозагрузку. Static icon – предпочитаю установить, чтобы в системном трее вместо цифр отображался просто значок программы. Сворачивать при закрытии – установите чтобы при нажатии на «крестик» программа не закрывалась, а сворачивалась в системный трей (возле часиков)Полная скорость вентиляторов при выходе – если не установить, то после выхода из программы обороты кулеров останутся в том состоянии, в котором были на момент закрытия. А так как управлять ими больше будет некому, то возможен перегрев компьютера.
Ну как, всё получилось? Программа работает? Обороты регулируются автоматически? Или может вы используете другие способы? Выводы: в этой статье мы узнали как работать с программой управления кулерами, разобрались с нетривиальной настройкой и теперь вы знаете как можно регулировать скорость вращения вентиляторов по своему усмотрению для более комфортной и тихой работы за компьютером. Надеюсь, информация оказалась для вас полезной.