Linux 核心對 Intel Quiet System Technology (Intel QST) 的支持狀態如何?
我正在嘗試在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 對英特爾 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 支持,將會受到歡迎開發工具包: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 開發的,名為,並通過從頭實現整個mei
qst-hwmon
驅動程序來為 QST v1 提供支持。進一步討論了將實現對 QST v2 的支持的第二個模組。qst2-hwmon
2013 年 3 月hwmon 硬體支持頁面上的註釋表明,所有已知的為英特爾 QST 實現 Linux 支持的嘗試顯然都已停止:
(2013-03-20) ICH8 (82801H) 和後來的幾個英特爾南橋都嵌入了感測器,稱為 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 的替代方法
這是一篇關於通過英特爾 QST SDK(2012 年 2 月)的“千兆版”控制風扇的文章(2015 年 12 月),並使用*meifand*(not
lm-sensors
)作為守護程序來訪問感測器資訊。