Linux-Kernel

Linux 核心對 Intel Quiet System Technology (Intel QST) 的支持狀態如何?

  • October 24, 2018

我正在嘗試在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 的情況下實施hwmonQST 支持,將會受到歡迎開發工具包:

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 開發的,名為,並通過從頭實現整個meiqst-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)作為守護程序來訪問感測器資訊。

引用自:https://unix.stackexchange.com/questions/477107