Linux 内核对英特尔安静系统技术(英特尔 QST)的支持状况如何?

Linux 内核对英特尔安静系统技术(英特尔 QST)的支持状况如何?

我正在尝试找到一种通过 Linux 访问和/或控制风扇速度的方法Intel Q45 Express/ICH10DO 芯片组。该芯片组包含一个称为英特尔静音系统技术(英特尔 QST),它是英特尔管理引擎(Intel ME)在嵌入式协处理器上运行。 Intel对QST的描述如下:

英特尔管理引擎 (ME) 托管固件子系统 - 英特尔静音系统技术 (QST) - 支持监控芯片组、处理器和其他设备上提供的温度、电压、电流和风扇速度传感器。母板。对于每个传感器,将根据既定阈值定期确定健康状态。英特尔 QST 还支持声学优化的风扇速度控制。根据从温度传感器获得的读数,英特尔 QST 将随着时间的推移确定运行可用冷却风扇的最佳速度,以便以尽可能低的声学影响来解决现有的热状况。

英特尔 ICH10 数据表状态:

5.24 英特尔® 静音系统技术(英特尔® QST)

ICH10 为英特尔静音系统技术 (QST) 实现了 3 个 PWM 和 4 个 TACH 信号。

笔记:英特尔静音系统技术功能需要正确配置的系统,包括具有英特尔 ME、英特尔 ME 固件和系统 BIOS 支持的适当 (G)MCH。

接下来描述了 PWM 输出、TACH 输入和热传感器。

本文声称适用于 Intel QST 的 Linux 驱动程序已于 2012 年 12 月推出:

今年早些时候,LM_Sensors 早期支持英特尔 QST,现在又宣布推出适用于 Linux 的新英特尔 QST 驱动程序。这个新的安静系统技术驱动程序的代码目前位于 GitHub 上。

上述代码实际上并不在 github 中,而是在私人托管的 git 存储库中(http://mose.dyndns.org/mei.git)使用了已失效的dyndns.org服务。

我花了一些时间查看 Linux 内核源代码(v4.16.7),但到目前为止,我还没有找到这个驱动程序的任何痕迹。

  • 曾是英特尔QSTLinux 内核中是否包含过支持?
  • 如果是这样,需要哪个驱动程序/内核模块英特尔QST支持?

答案1

该答案记录了有关 Linux 对 Intel QST 支持的明确信息,该信息是通过追踪已失效的邮件列表的档案lm-sensors并直接联系其中一些消息的作者而收集的。此处的信息按 Linux QST 支持开发的时间顺序组织。

Linux QST 支持的历史


2010 年 2 月,英特尔QST SDK已公开。

2011年6月英特尔论坛帖子后来提到运行 SDK 不再需要来自 www.openamt.org 的 HECI 驱动程序。

A2012年2月消息邮件列表上lm-sensors显示了通过英特尔 QST SDK 的修改版本(“千兆工版本”),并表示hwmon欢迎 QST 支持,如果它可以在不依赖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

如果有人有时间深入研究 SDK 并编写 hwmon 驱动程序,我很乐意对其进行审查和测试。不过,这看起来是一项重大工作,因为看起来至少需要移植一些 SDK 代码才能在内核中运行。

到 2012 年 12 月,有人实际上开发了这样的驱动程序,如这条信息关于 LKML:

我为最新英特尔芯片组上的管理引擎接口的英特尔安静系统技术 (QST) 功能编写了一个驱动程序。

该模块最初是为 Linux 2.6.39 开发的,被命名为qst-hwmon,并通过实现整个模块来提供对 QST v1 的支持。司机从头开始。进一步讨论了第二个模块qst2-hwmon,该模块将实现对 QST v2 的支持。

2013 年 3 月关于hwmon 硬件支持页面表明所有已知的实现 Linux 支持 Intel QST 的尝试显然都已停滞:

(2013-03-20) ICH8 (82801H) 和后来的几款 Intel 南桥都内置了传感器,称为 MEI 或 QST。由于缺乏英特尔的技术文档和支持,这些尚不受支持。这 OpenAMT 项目应该有帮助,但在实践中没有发生太多事情。或者也许有一些希望或者在这里,或这里

然而,一个2014 年 11 月错误报告原开发者表示qst-hwmon,截至2014年11月29日,该驱动程序仍在开发中,并已移植到Linux 3.14.18。

Linux QST 支持的现状


qst-hwmon 内核模块

我终于找到了它的当前位置git 存储库对于内核模块。要获取源代码的副本:

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

该内核模块尚未进入主要 Linux 内核源代码(截至内核 4.19)。

该代码针对 Linux 4.16.7 进行了干净的编译,生成 4 个模块,应将其复制到相应的模块目录中:

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/

并更新模块依赖项:

depmod

然后可以加载模块:

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

然后您可以验证该/sys/bus/intel-mei/devices/文件夹是否包含一些相关条目。目前这对我不起作用,但我相信这是由于将默认的 Intel MEI 驱动程序编译到内核中所致。

需要进一步的工作来lm_sensors检测qst_hwmon司机。上述邮件列表档案表明,lib-sensors 可能需要修补才能正确识别intel-mei这些模块提供的总线。

更新:我正在与驱动程序的开发人员联系,因此我希望尽快获得此处记录的明确说明。


使用英特尔 QST SDK 和 meifand 的替代方法

这是一篇写的(2015 年 12 月)关于通过“千兆工版本英特尔 QST SDK(2012 年 2 月)的“,并使用美芳不是 lm-sensors)作为守护进程来访问传感器信息。

相关内容