我正在尝试在Intel Q45 Express/ICH10DO 芯片组上找到一种通过 Linux 访问和/或控制风扇速度的方法。该芯片组包含一项称为Intel Quiet System Technology (Intel QST) 的功能,它是在嵌入式协处理器上运行的Intel 管理引擎(Intel ME) 的一部分。Intel 对 QST 的描述如下:
英特尔管理引擎 (ME) 托管一个固件子系统 - 英特尔静音系统技术 (QST) - 支持监控芯片组、处理器和其他设备中提供的温度、电压、电流和风扇速度传感器母板。对于每个传感器,将定期确定基于已建立阈值的健康状态。英特尔 QST 还支持声学优化的风扇速度控制。根据从温度传感器获得的读数,英特尔 QST 将随着时间的推移确定可用冷却风扇的最佳运行速度,以便以尽可能低的声学影响解决现有的热条件。
英特尔ICH10 数据表指出:
5.24 英特尔® 静音系统技术(英特尔® QST)
ICH10 为 Intel Quiet System Technology (QST) 实现了三个 PWM 和 4 个 TACH 信号。
注意:英特尔静音系统技术功能需要正确配置的系统,包括具有英特尔 ME、英特尔 ME 固件和系统 BIOS 支持的适当 (G)MCH。
它继续描述 PWM 输出、TACH 输入和热传感器。
本文声称英特尔 QST 的 Linux 驱动程序于 2012 年 12 月可用:
今年早些时候,LM_Sensors 早期支持英特尔 QST,而现在宣布的是用于 Linux 的新英特尔 QST 驱动程序。这个新的安静系统技术驱动程序的代码目前在 GitHub 上。
上述代码实际上不在 github 中,而是在使用已失效服务的私有托管 git 存储库 ( http://mose.dyndns.org/mei.git ) 中。dyndns.org
我花了一些时间查看 Linux 内核源代码(v4.16.7),但到目前为止,我还没有找到这个驱动程序的任何痕迹。
- 英特尔 QST支持是否曾经包含在 Linux 内核中?
- 如果是这样,英特尔 QST支持需要哪些驱动程序/内核模块?
此答案记录了有关 Linux 对 Intel QST 的支持的确切信息,这些信息是通过追踪已失效
lm-sensors
邮件列表的档案并直接联系其中一些消息的作者而收集的。这里的信息是按照 Linux QST 支持开发的时间顺序组织的。Linux QST 支持的历史
2010 年 2 月,英特尔 QST SDK公开发布。
2011 年 6 月的英特尔论坛帖子后来提到,不再需要来自 www.openamt.org 的 HECI 驱动程序来运行 SDK。
2012年2 月邮件
lm-sensors
列表中的一条消息显示了可通过英特尔 QST SDK 的修改版本(“千兆版”)获得的信息类型,并表示如果可以在不依赖 QST 的情况下实施hwmon
QST 支持,将会受到欢迎开发工具包:到 2012 年 12 月,实际上有人开发了这样一个驱动程序,正如LKML 上的这条消息所证明的那样:
该模块最初是为 Linux 2.6.39 开发的,名为,并通过从头实现整个mei
qst-hwmon
驱动程序来为 QST v1 提供支持。进一步讨论了将实现对 QST v2 的支持的第二个模块。qst2-hwmon
2013 年 3 月hwmon 硬件支持页面上的注释表明,所有已知的为英特尔 QST 实现 Linux 支持的尝试显然都已停止:
然而, 2014 年 11 月的原始开发人员的错误报告
qst-hwmon
表明,该驱动程序直到 2014 年 11 月 29 日仍在开发中,并且已被移植到 Linux 3.14.18。Linux QST 支持的当前状态
qst-hwmon 内核模块
我终于设法找到了内核模块的git 存储库的当前位置。要获取源代码的副本:
该内核模块尚未成为主要的 Linux 内核源代码(从内核 4.19 开始)。
该代码为 Linux 4.16.7 编译干净,生成 4 个模块,应将其复制到相应的模块目录:
并更新模块依赖:
然后可以加载模块:
然后您可以验证该
/sys/bus/intel-mei/devices/
文件夹是否包含一些相关条目。这目前对我不起作用,但我相信这是由于将默认的 Intel MEI 驱动程序编译到内核中。需要进一步的工作
lm_sensors
来检测qst_hwmon
驱动程序。上述邮件列表存档表明可能需要修补 lib-sensors 以正确识别intel-mei
这些模块提供的总线。更新:我正在与驱动程序的开发人员联系,因此我希望尽快获得此处记录的最终说明。
使用英特尔 QST SDK 和 meifand 的替代方法
这是一篇关于通过英特尔 QST SDK(2012 年 2 月)的“千兆版”控制风扇的文章(2015 年 12 月),并使用meifand(not
lm-sensors
)作为守护进程来访问传感器信息。