Скорее всего, вы сможете решить свою проблему с помощью чего-то другого, переопределяющего ваши команды вентилятора i8kctl, методом, приведенным в этом ответе. Для полноты я приведу некоторые общие замечания по управлению вентиляторами на ноутбуках Dell и полные инструкции по их использованию i8kutils
.
Что, вероятно, не сработает
Два распространенных и простых способа управления вентилятором на ноутбуках, к сожалению, через ACPI и PWM:
В ноутбуках Dell отсутствует функция управления вентиляторами ACPI (* 1)
- как следствие, попытка с параметрами загрузки ACPI и т.п. не удастся
На ноутбуках Dell Latitude, насколько мне известно, отсутствуют вентиляторы с управлением по ШИМ (* 2)
- как следствие,
fancontrol
/ pwmconfig
программа не будет работать
Тем не менее, существует пакет под названием i8kutils
, предназначенный для управления вентилятором на ноутбуках Dell Inspiron через SMM BIOS . Некоторые пользователи также сообщают об успехе на своих ноутбуках Dell Laitude (я один из них на Dell Latitude E7440), однако часто требуется хитрость, чтобы избавиться от мешающего управления вентиляторами BIOS. Вы также страдаете от этого согласно предыдущему комментарию.
Установить i8kutils
:
$ sudo apt-get install i8kutils
Попытайся:
$ i8kfan 2 2 # set to max speed
$ i8kfan 0 0 # set to 0 speed
... и послушай, чтобы увидеть, работает ли это.
Отключить управление вентилятором BIOS
Если это работает, но что-то еще дает отпор установленной скорости (о чем сообщают многие пользователи на ноутбуках Dell Latitude), это связано с запланированными сессиями SMM, которые возвращают скорость вращения вентилятора назад. К счастью, есть способ отключить управление вентилятором BIOS путем записи в регистры SMM .
Предупреждение: см. Предупреждение в верхней части smm.c. Этот метод записывает в регистры SMM. Тем не менее, я не видел никаких пользовательских отчетов об этом, вызывающем проблемы. Кроме того, все сообщения об этом свидетельствуют об успешном отключении управления вентилятором BIOS.
i8kutils
включает в себя исходный код программы, smm
но i8kutils
пакет не включает скомпилированный двоичный файл. Что мы сделаем, это загрузим исходный код i8kutils
, скомпилируем программу smm
и запустим ее с соответствующим аргументом, чтобы отключить управление вентиляторами BIOS путем записи в регистры SMM.
Скачать пакеты, необходимые для сборки:
$ sudo apt-get build-dep i8kutils
Загрузите i8kutils
исходный код, распакуйте и введите каталог (точные имена в зависимости от версии i8k):
$ apt-get source i8kutils
$ tar xvf i8kutils_1.33.tar.gz
$ cd i8kutils-1.33/
Компилировать smm
:
Если в 32-битной системе:
$ make
(Выше будет выполнять gcc -g -O2 -Wall -I. -o smm smm.c
.)
Если в 64-битной системе:
$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
Запустите smm
с аргументом, 30a3
чтобы отключить управление вентиляторами SMM:
$ sudo ./smm 30a3
Теперь управление вентилятором BIOS должно быть отключено. Попробуйте установить скорость с помощью i8kctl
, прослушать вентилятор и убедиться, что скорость сохраняется.
Примечание. Этот параметр будет сохраняться при перезагрузке и отключении питания. Управление вентилятором BIOS можно снова включить с помощью $ sudo ./smm 31a3
.
* 1: я видел официальный источник по этому вопросу, не могу найти его прямо сейчас. Если вы хотите убедиться, что вашему оборудованию не хватает его, следуйте инструкциям здесь: https://wiki.ubuntu.com/DebuggingACPI
* 2: для проверки этого, запустите pwmconfig: sudo apt-get install fancontrol
, sudo pwm-config
будет сказать , если ШИМ-вентилятор , способный присутствует или нет