Скорее всего, вы сможете решить свою проблему с помощью чего-то другого, переопределяющего ваши команды вентилятора 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будет сказать , если ШИМ-вентилятор , способный присутствует или нет