Qual é o estado do suporte ao kernel do Linux para a Tecnologia Intel Quiet System (Intel QST)?

7

Estou tentando encontrar uma maneira de acessar e / ou controlar a velocidade do ventilador via Linux em um Chipset Intel Q45 Express / ICH10DO . Este chipset contém um recurso chamado Intel Quiet System Technology (Intel QST), que é uma parte do < em> Intel Management Engine (Intel ME) em execução em um co-processador incorporado. A Intel descreve o QST da seguinte forma:

The Intel Management Engine (ME) hosts a firmware subsystem – Intel Quiet System Technology (QST) – that provides support for the monitoring of temperature, voltage, current and fan speed sensors that are provided within the Chipset, the Processor and other devices on the Motherboard. For each sensor, a Health Status, based upon established thresholds, will be determined at regular intervals. Intel QST also provides support for acoustically-optimized fan speed control. Based upon readings obtained from the temperature sensors, Intel QST will determine, over time, the optimal speeds at which to operate the available cooling fans, in order to address existing thermal conditions with the lowest possible acoustic impact.

Folha de dados da Intel ICH10 :

5.24 Intel® Quiet System Technology (Intel® QST)

The ICH10 implements three PWM and 4 TACH signals for Intel Quiet System Technology (QST).

Note: Intel Quiet System Technology functionality requires a correctly configured system, including an appropriate (G)MCH with Intel ME, Intel ME Firmware, and system BIOS support.

Continua descrevendo as saídas PWM, entradas TACH e sensores térmicos.

Este artigo afirma que um driver Linux para o Intel QST estava disponível em dezembro de 2012 :

Earlier this year there was early support for Intel QST in LM_Sensors while being announced now is a new Intel QST driver for Linux. The code for this new Quiet System Technology driver is currently on GitHub.

O código acima mencionado não estava realmente no github, mas sim em um repositório git hospedado em particular ( link ) que usou o serviço defunct dyndns.org .

Passei algum tempo pesquisando a origem do kernel do Linux (v4.16.7), mas até agora não encontrei nenhum rastreio desse driver.

  • O suporte ao Intel QST já foi incluído no kernel do Linux?
  • Em caso afirmativo, quais módulos do driver / kernel são necessários para o suporte do Intel QST ?
por vallismortis 22.10.2018 / 20:38

1 resposta

12

Esta resposta documenta informações definitivas sobre o suporte ao Linux para o Intel QST, que foi montado rastreando arquivos da extinta lista de discussão lm-sensors e contatando diretamente os autores de algumas dessas mensagens. As informações aqui estão organizadas em ordem cronológica do desenvolvimento do suporte QST do Linux.

Histórico do suporte QST do Linux

Em fevereiro de 2010, o QST SDK da Intel foi disponibilizado publicamente.

Uma postagem no fórum da Intel de junho de 2011 depois mencionou que o driver HECI de www.openamt.org não era mais necessário para executar o SDK.

Uma mensagem de fevereiro de 2012 na lista de e-mail lm-sensors mostrou o tipo de informação disponível através de uma versão modificada do Intel QST SDK (a " versão do gigaplex "), e indicou que hwmon QST seria bem-vindo , if pode ser implementado sem depender do QST SDK:

Fan Speed Sensor 1:

   Health:            Normal
   Usage:             Processor Thermal Module Fan
   Reading:           1063

   NonCrit:           300.000
   Crit:              250.000
   NonRecov:          200.000

Fan Speed Controller 1:

   Health:            Normal
   Usage:             Processor Fan Controller
   Control:           Manual
   Duty Cycle:        2.95

If someone finds the time to dig through the SDK and write a hwmon driver, I would be happy to review and test it. That looks like a major effort, though, since it looks like at least some of the SDK code would have to be ported to run in the kernel.

Até dezembro de 2012, alguém havia desenvolvido um driver desse tipo, conforme evidenciado em esta mensagem . o LKML:

I've written a driver for the Intel Quiet System Technology (QST) function of the Management Engine Interface found on recent Intel chipsets.

O módulo foi originalmente desenvolvido para o Linux 2.6.39, recebeu o nome qst-hwmon e forneceu suporte para o QST v1 implementando um driver inteiro mei do zero. Houve outra discussão sobre um segundo módulo qst2-hwmon que implementaria o suporte para o QST v2.

Uma nota de março de 2013 sobre a página de suporte de hardware hwmon indica que todas as tentativas conhecidas implementar o suporte ao Linux para o Intel QST aparentemente parou:

(2013-03-20) The ICH8 (82801H) and several later Intel south bridges have embedded sensors, named MEI or QST. These are not yet supported, due to a lack of technical documentation and support from Intel. The OpenAMT project is supposed to help, but in practice not much is happening. Or maybe there is some hope? Or here, or here.

No entanto, um relatório de erros de novembro de 2014 feito pelo desenvolvedor original de qst-hwmon indicou que o driver ainda estava sendo trabalhado até 29 de novembro de 2014 e foi portado para o Linux 3.14.18.

Estado atual do suporte QST do Linux

O módulo do kernel qst-hwmon

Eu finalmente consegui rastrear a localização atual do repositório git para o módulo do kernel. Para obter uma cópia do código-fonte:

git clone http://eden.mose.org.uk/mei.git

Este módulo do kernel ainda não foi incluído na fonte principal do kernel do Linux (como no kernel 4.19).

O código compila de forma limpa para o Linux 4.16.7, produzindo 4 módulos, que devem ser copiados para o diretório de módulos apropriado:

make
cp intel-mei.ko /lib/modules/4.16.7/kernel/drivers/hwmon/
cp mei-pci.ko /lib/modules/4.16.7/kernel/drivers/hwmon/
cp qst-dev.ko /lib/modules/4.16.7/kernel/drivers/hwmon/
cp qst-hwmon.ko /lib/modules/4.16.7/kernel/drivers/hwmon/

E atualize as dependências do módulo:

depmod

Então os módulos podem ser carregados:

modprobe intel-mei
modprobe mei-pci
modprobe qst-dev
modprobe qst-hwmon

E então você pode verificar se a pasta /sys/bus/intel-mei/devices/ contém algumas entradas relevantes. Isso não está funcionando atualmente para mim, mas acredito que seja devido ao driver padrão do Intel MEI compilado no kernel.

Mais trabalho será necessário para obter lm_sensors para detectar o driver qst_hwmon . Os arquivos da lista de discussão acima indicam que os sensores lib podem precisar ser corrigidos para identificar corretamente o intel-mei de barramento fornecido por esses módulos.

Atualização: Estou em contato com o desenvolvedor do driver, então espero receber as instruções definitivas documentadas aqui em breve.

Abordagem alternativa usando o Intel QST SDK e o meifand

Aqui está um writeup (dezembro de 2015) sobre o controle dos fãs através do " versão do gigaplex " do SDK do Intel QST (fevereiro de 2012) e usando meifand ( não lm-sensors ) como um processo daemon para acessar as informações do sensor.

    
por 22.10.2018 / 21:53