gyok |
|
Темы:
6
Сообщения:
27
Участник с: 26 февраля 2015
|
vasekпопробовал, поставил thinkfan, настроил на переключение режимов, посмотрел через thinkfan -n -s что он должен менять температуру, и при температуре 48 градусов переключать fan в какой-то пятый режим, как понял, он отправляет сигнал в /sys/class/hwmon/hwmon2/device/pwm1 от 0 до 6, но тот не меняется, по readme pwm1 нашел через
|
vasek |
|
Темы:
47
Сообщения:
11930
Участник с: 17 февраля 2013
|
gyok, у тебя в выводе /sys/class/thermal/cooling_device*/type 2 fan канала …. у меня нет ни одного....... и ничего не регулируется. Даже смотрел таблицу ACPI DSDT … и FAN там не обнаружил. А меняя значения в файлах термозоны добился только одного....пассивного управления — частота падала до 100MHz (никогда не думал, что так сильно может упасть частота) и наступали жуткие тормоза .... Это я к тому, что у тебя надежды больше........дерзай... UPD..... в твоем выводе не понятно наличие двух LCD … попробуй поизменять значения в файле зон, соответствующих LCD, должна меняться яркость (с учетом значений max_state … кстати у меня «0» соответствовал максимальному значению, все наоборот) .... заодно поймешь, что это за зоны - реальные или нет....
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11930
Участник с: 17 февраля 2013
|
gyok, надеюсь начитался, поэкспериментировал и убедился в бесперспективности пути рыскания по куче файлов и пытаясь что то в них изменить...... Не спорю, иногда на каких то ноутбуках и удается что то сделать.....но имхо этот путь, в большинстве случаев, ведет в тупик …...но для понимания общей картины он полезен... Предлагаю перейти, как говориться, на новый уровень..... поближе к регистрам, использование которых является основой в управлении Fan-устройств.... В этой части я бы отметил 2 основных способа, хотя они и переплетаются между собой (разработаны давно, используются редко, только экспериментаторами или ради ликбеза.... ). 1. Утилита NBFC (NoteBook FanControl) — на мой взгляд одна из самых серъезных утилит по управлению вентилятором. Основана на Embedded Controller — в основном используется 2 регистра, один для чтения значения о скорости вентилятора, другой для записи. В состав входит несколько десятков конфигов для разных моделей ноутбуков (если окажется, что нет конфига для конкретного ноутбука, то по примеру можно написать и свой...но видел и сайт с их примерами...). Под виндой довольно удобна ….. в Linux — работа из консоли и придется по потеть при ее освоении..... В готовом конфиге указаны и регистры ….. 2. Практически полностью все делается в ручную.... Имеется скрипт, разработанный для acer acer_ec.pl, но можно использовать и для других типов ноутбуков — только необходимо определить конкретные регистры (для чтения и записи скорости вращения)....... но определить их можно или с помощью NBFC или с очень полезной другой утилиты RWEverything (правда, виндовая, но с ее помощью можно получить очень много ценной информаци...). Вроде все ссылки дал, но как пользоваться гугли сам....... и вся ответсвенность за использование лежит на экспериментаторе....... PS..... во 2-ом случае придется писать скрипт .... в инете можно найти готовый....
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11930
Участник с: 17 февраля 2013
|
gyok, чувствую, что я тебя напугал.........непонятным...... Но что может быть проще — чтобы изменить скорость оборотов Fan, достаточно выполнить всего одну команду sudo perl /path_to_script/acer_ec.pl := <регистр_для_записи> <raw_значение_скорости> где неизвестна всего одна переменная <регистр_для_записи> ...да и та легко определяется, а <raw_значение_скорости> - число из диапазона 0x00 - 0xFF (0 - 255) — значение 0 соответствует max , а значение 0xFF (255) соответствует min Пример — на моем ноутбуке регистр для записи значений скорости оборотов - 0x2F (47) . Попробуем увеличить скорость.... Но сначала посмотрим текущее значение в данном регистре $ sudo perl acer_ec.pl regs ... и смотрим вывод..... привожу только то, что касается моих регистров в регистре 0x2E десятичное число 75 , в регистре 0x2F десятичное число 74 Установим значение 40 (0x28) $ sudo perl acer_ec.pl := 0x2F 0x28 Смотрим, что получилось $ sudo perl acer_ec.pl regs в регистре 0x2E десятичное число 41 , в регистре 0x2F десятичное число 40 Вернул все обратно, слишком зашумел... вот и всех делов ... Чтобы это все запустить в работу — нужно делать опрос с определенной периодичностью - узнавать текущую температуру и если она выходит из определенного интервала, производить запись в регистр определенного значения.... которое, конечно, нужно подбирать экспериментально, а можно взять и готовые из конфигов NBFC для данного типа ноутбука. ........... но я иногда использую просто без всякого скрипта......если слишком надоедает шум, уменьшаю скорость, если позволяет температура..., которая всегда перед глазами...
Ошибки не исчезают с опытом - они просто умнеют
|