Как мне заставить работать вентилятор?

Я знаю что-то, называемое fancontrol, которое позволяет вам контролировать скорость вентиляции вашей системы. Я бы хотел, чтобы мои вентиляторы вращались немного быстрее, так как мой ноутбук очень легко нагревается. Все учебники и материалы, которые я нашел, предназначены для старых версий Ubuntu и, похоже, больше не работают.

Может кто-нибудь объяснить мне или дать мне хорошую ссылку на то, как я могу заставить его работать на Ubuntu? Нечто иное с тем же эффектом тоже хорошо.

36
задан 4 March 2012 в 19:35

5 ответов

ನನ್ನ ಡೆಲ್ ವೋಸ್ಟ್ರೊ 3350 ಲ್ಯಾಪ್‌ಟಾಪ್‌ನ ಫ್ಯಾನ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು i8 ಕುಟಿಲ್ಸ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

# For Dell laptop only:
$ sudo apt-get install i8kutils 
$ i8kfan 1 2 # Set the left-fan at low speed(1); the right one at high speed(2).
9
ответ дан 4 March 2012 в 19:35

Пакет lm-сенсоров Install lm-sensors может быть тем, что вы ищете.

И как Вы и предлагали управление вентиляторами Install fancontrol.

Убедитесь, что все вентиляторы, которыми Вы пытаетесь управлять с помощью программного обеспечения, имеют 4-контактный разъем.

"ШИМ-совместимый вентилятор удобно подключается к 4-контактному разъему (вывод: заземление, +12 В, ощущение, управление)" источник

Когда я запускаю pwmconfig , который является частью системы управления вентиляторами, я получаю

/usr/sbin/pwmconfig: Не установлено никаких pwm-совместимых сенсорных модулей. Он поможет вам, если у вас есть совместимое оборудование.

Здесь приведены некоторые сценарии, которые можно использовать вместе с этим сгенерированным конфигурационным файлом. Я предполагаю, что вы можете установить здесь более высокое значение.

label fan1 "Side Fan"
set fan1_min 1000
label fan2 "PSU Fan"
set fan2_min 1000
label fan5 "CPU Fan"
set fan5_min 1000

Но, как я уже сказал, я не могу проверить это сам, так как моё аппаратное обеспечение не поддерживает это, я могу управлять моими вентиляторами с биоса, но это оценка 3. Я использую это для того, чтобы держать мой вентилятор медленным и тихим.

14
ответ дан 4 March 2012 в 19:35

У меня есть Dell Latitude e4200, и следующее сработало, потому что BIOS переопределял настройки i8kfan. Начальная температура моего компьютера была 105F градусов и примерно через 10 минут после использования этих шагов (настройка вентилятора = 2) температура процессора/ядра упала до 96F градусов. Эта процедура уже была опубликована кем-то:

Шаг 1. Скачать и установить i8ktutils:

# sudo apt-get install i8kutils

Шаг 2. Переопределите BIOS, чтобы не прерывать пользовательские настройки вентилятора. Скачайте исходный код и скомпилируйте программу (SMM) для этого:

# sudo apt-get build-dep i8kutils

затем:

# apt-get source i8kutils

Шаг 3. Извлеките исходный код и cd в каталог:

# tar xvf i8kutils_1.33.tar.gz

then:

# cd i8kutils-1.33/

Step 4. Скомпилируйте SMM

For 32-bit systems:

# make SMM

(Output: # gcc -g -O2 -Wall -I. -o smm smm.c.)

For 64-bit systems

# make SMM:

(Output: # gcc -g -O2 -Wall -I. -o smm -m32 smm.c)

шаг 5. Выполните SMM с параметрами:

# sudo ./smm 30a3

шаг 6. Установите скорость вентилятора:

# i8kfan 2 2 (Listen as this will set fans to maximum speed)

# i8kfan 1 1 (This will set fans to slow speed)

Теперь управление вентилятором BIOS не должно переопределять настройки вентилятора. Эта настройка останется даже при перезагрузке системы. Для возврата управления в BIOS по каким-то причинам сделайте следующую процедуру:

# sudo ./smm 31a3.

Есть также способ проверить температуру, используя lm_sensors:

http://www.cyberciti.biz/faq/howto-linux-get-sensors-information/
3
ответ дан 4 March 2012 в 19:35

Хорошо, возможно, это не тот ответ, который вы ищете, но мои проблемы с перегревом были решены, когда я удалил пыль, поставив пылесос на вентиляционные впускные отверстия. Если вы испытываете перегрев на низких частотах, стоит попробовать. Имейте в виду, что, возможно, мелкие детали могут засасываться. Если вам повезет, этот метод может решить проблему перегрева.

5
ответ дан 4 March 2012 в 19:35

Скорее всего, вы сможете решить свою проблему с помощью чего-нибудь другого, переопределяющего команды вентилятора i8kctl, методом, приведенным в этом ответе. Для полноты я включу некоторые общие примечания по управлению вентиляторами на ноутбуках Dell, а также полные инструкции для i8kutils.

Что, вероятно, не сработает

Два общих и простых способа управления вентилятором на ноутбуках - это ACPI и PWM-контакты, однако, к сожалению:

  • В ноутбуках Dell не хватает ACPI возможностей управления вентилятором (*1)

    • , как следствие, попытки использовать параметры загрузки ACPI и тому подобное не сработают
  • В ноутбуках Dell Latitude, насколько я знаю, отсутствуют управляемые ШИМ-вентиляторы (*2)

    • как следствие, программа fancontrol/pwmconfig не будет работать

Используйте i8kutils

Однако существует пакет под названием 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 и запустим ее с аргументом apropriate, чтобы отключить управление вентилятором 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 скажет, присутствует ли pwm-вентилятор или нет

Примечание о smm

smm больше не включено в последнюю версию i8kutils. Если ваш дистрибутив уже обновлен до последней версии, вам придется получить более старую версию вручную. Версия 1.41 содержит smm, в то время как 1.43 его больше не содержит.

Начиная с 1.42, smm предоставляется только как модуль ядра.

Вы можете получить 1.41 на странице запуска i8kutils.

14
ответ дан 4 March 2012 в 19:35

Другие вопросы по тегам:

Похожие вопросы: