核心驅動 it87

支援的晶片

  • IT8603E/IT8623E

    字首: ‘it8603’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8620E

    字首: ‘it8620’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

  • IT8628E

    字首: ‘it8628’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8705F

    字首: ‘it87’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:曾經在 ITE 網站上公開提供,但不再提供

  • IT8712F

    字首: ‘it8712’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:曾經在 ITE 網站上公開提供,但不再提供

  • IT8716F/IT8726F

    字首: ‘it8716’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:曾經在 ITE 網站上公開提供,但不再提供

  • IT8718F

    字首: ‘it8718’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:曾經在 ITE 網站上公開提供,但不再提供

  • IT8720F

    字首: ‘it8720’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8721F/IT8758E

    字首: ‘it8721’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8728F

    字首: ‘it8728’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8732F

    字首: ‘it8732’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8771E

    字首: ‘it8771’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8772E

    字首: ‘it8772’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8781F

    字首: ‘it8781’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8782F

    字首: ‘it8782’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8783E/F

    字首: ‘it8783’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8786E

    字首: ‘it8786’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8790E

    字首: ‘it8790’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT8792E/IT8795E

    字首: ‘it8792’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • IT87952E

    字首: ‘it87952’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:未公開提供

  • SiS950 [IT8705F 的克隆]

    字首: ‘it87’

    掃描地址:來自 Super I/O 配置空間 (8 個 I/O 埠)

    資料表:不再提供

作者

模組引數

  • update_vbat bool

    如果 vbat 應該報告啟動時的值,則為 0;如果 vbat 應該在每次讀取後更新,則為 1。預設值為 0。在某些主機板上,電池電壓由電池或板載電源提供。只有啟動時的第一次讀取才是實際的電池電壓(晶片會自動完成)。在其他主機板上,電池電壓始終饋送到晶片,因此可以隨時讀取。過度讀取可能會縮短電池壽命,但在資料表中沒有給出相關資訊。

  • fix_pwm_polarity bool

    強制 PWM 極性為高電平有效(危險)。某些晶片被 BIOS 錯誤配置 - PWM 值將被反轉。此選項嘗試修復此問題。請聯絡您的 BIOS 製造商並要求他們修復。

  • force_id short, short

    強制多個晶片 ID 為指定的值,用“,”分隔。例如“force_id=0x8689,0x8633”。對於該晶片,值為 0 將被忽略。注意:單個 force_id 值(例如“force_id=0x8689”)用於所有晶片,如果只想設定第一個晶片,請使用“force_id=0x8689,0”。僅應用於測試。

  • ignore_resource_conflict bool

    類似於 acpi_enforce_resources=lax,但僅影響此驅動程式。如果提供此引數並將其設定為 1,則會忽略 ACPI 資源衝突。提供此引數是因為有報告稱,在某些系統上,系統範圍內的 acpi_enfore_resources=lax 可能會導致啟動失敗。注意:這本身具有風險,因為它意味著 ACPI 和此驅動程式可能會同時訪問晶片。這可能會導致競爭條件,最壞情況下會導致系統意外重啟。

硬體介面

此驅動程式支援的所有晶片都是 LPC Super-I/O 晶片,透過 LPC 匯流排(類似 ISA 的 I/O 埠)訪問。 IT8712F 還有一個 SMBus 介面連線到硬體監控功能。 但是,此驅動程式不再支援此介面,因為它比 ISA 訪問慢且可靠性低,並且僅在少數主機板型號上可用。

描述

該驅動程式實現了對 IT8603E、IT8620E、IT8623E、IT8628E、IT8705F、IT8712F、IT8716F、IT8718F、IT8720F、IT8721F、IT8726F、IT8728F、IT8732F、IT8758E、IT8771E、IT8772E、IT8781F、IT8782F、IT8783E/F、IT8786E、IT8790E、IT8792E/IT8795E、IT87952E 和 SiS950 晶片的支援。

這些晶片是“超級 I/O 晶片”,支援軟盤、紅外埠、操縱桿和其他各種功能。對於硬體監控,它們包括一個“環境控制器”,帶有 3 個溫度感測器、3 個風扇轉速感測器、8 個電壓感測器、相關警報和機箱入侵檢測。

IT8712F 和 IT8716F 還具有 VID 輸入,用於報告處理器的 Vcore 電壓。早期的 IT8712F 有 5 個 VID 引腳,IT8716F 和後期的 IT8712F 有 6 個。但是,它們與其他功能共享,因此該功能可能在給定的系統上不可用。

IT8718F 和 IT8720F 也具有 VID 輸入(最多 8 個引腳),但該值儲存在 Super-I/O 配置空間中。由於技術限制,目前只能在初始化時讀取一次此值,因此驅動程式不會注意到並報告 VID 值的更改。兩個高位 VID 與電壓輸入(in5 和 in6)共享它們的引腳,因此您不能在給定的主機板上同時擁有兩者。

IT8716F、IT8718F、IT8720F、IT8721F/IT8758E 和後來的 IT8712F 版本支援 2 個額外的風扇。驅動程式支援額外的風扇。

IT8716F、IT8718F、IT8720F、IT8721F/IT8758E、IT8732F、IT8781F、IT8782F、IT8783E/F 以及後期的 IT8712F 和 IT8705F 還具有可選的 16 位轉速計計數器,用於風扇 1 到 3。這更好(不再需要風扇時鐘分頻器),但不與舊晶片和版本相容。當檢測到上述晶片之一時,驅動程式會啟用 16 位轉速計模式。

IT8726F 只是位增強的 IT8716F,帶有用於 AMD 電源排序的額外硬體。因此,對於使用者空間應用程式,該晶片將顯示為 IT8716F。

在獲得資料表之前(希望如此),IT8728F、IT8771E 和 IT8772E 被認為與 IT8721F 相容。

IT8603E/IT8623E 是一款定製設計,硬體監控部分類似於 IT8728F。 它僅支援 3 個風扇、16 位風扇模式,並且不支援風扇的全速模式(pwmX_enable 的值為 0)。

IT8620E 和 IT8628E 是定製設計,硬體監控部分類似於 IT8728F。 它僅支援 16 位風扇模式。 兩種晶片最多支援 6 個風扇。

IT8790E、IT8792E/IT8795E 和 IT87952E 最多支援 3 個風扇。 始終啟用 16 位風扇模式。

IT8732F 支援風扇控制的閉環模式,但驅動程式目前未實現此模式。

溫度以攝氏度為單位測量。 一旦超過超溫關機限制,就會觸發警報。

風扇轉速以 RPM(每分鐘轉數)為單位報告。 如果轉速降至可程式設計限制以下,則會觸發警報。 當不使用 16 位轉速計計數器時,風扇讀數可以被可程式設計分頻器(1、2、4 或 8)劃分,以使讀數具有更大的範圍或準確性。 當分頻器為 2 時,最低可表示值約為 2600 RPM。 並非所有 RPM 值都可以準確表示,因此會進行一些舍入。

電壓感測器(也稱為 IN 感測器)以伏特為單位報告它們的值。 如果電壓超過了可程式設計的最小值或最大值限制,則會觸發警報。 請注意,在這種情況下,最小值始終表示“最接近零”; 這對於負電壓測量非常重要。 在大多數晶片上,所有電壓輸入都可以測量 0 到 4.08 伏之間的電壓,解析度為 0.016 伏。 IT8603E、IT8721F/IT8758E 和 IT8728F 可以測量 0 到 3.06 伏之間的電壓,解析度為 0.012 伏。 IT8732F 可以測量 0 到 2.8 伏之間的電壓,解析度為 0.0109 伏。 電池電壓 in8 沒有限制暫存器。

在 IT8603E、IT8620E、IT8628E、IT8721F/IT8758E、IT8732F、IT8781F、IT8782F 和 IT8783E/F 上,某些電壓輸入是內部的,並在晶片內部進行縮放:* in3(可選)* in7(對於 IT8781F、IT8782F 和 IT8783E/F 是可選的)* in8(始終)* in9(僅與 IT8603E 相關)驅動程式會透明地處理此問題,因此使用者空間無需關心。

VID 線(IT8712F/IT8716F/IT8718F/IT8720F)對核心電壓值進行編碼:您的處理器應該使用的電壓電平。 這是由主機板和/或處理器本身硬編碼的。 這是一個以伏特為單位的值。

如果觸發警報,它將保持觸發狀態,直到至少讀取一次硬體暫存器。 這意味著警報的原因可能已經消失了! 請注意,在當前實現中,只要讀取任何資料,就會讀取所有硬體暫存器(除非距離上次更新不到 1.5 秒)。 這意味著您很容易錯過一次性警報。

如果晶片正確連線和配置,超出限制的讀數也可能導致發出蜂鳴聲。 可以為每種感測器型別(溫度、電壓和風扇)啟用或停用蜂鳴聲。

IT87xx 僅每 1.5 秒更新一次其值; 更頻繁地讀取它不會造成任何傷害,但會返回“舊”值。

要將感測器 N 更改為熱敏電阻,請執行“echo 4 > tempN_type”,其中 N 為 1、2 或 3。要將感測器 N 更改為熱二極體,請執行“echo 3 > tempN_type”。 為未使用的感測器提供 0。任何其他值都無效。 要在啟動時配置此項,請查閱 lm_sensors 的 /etc/sensors.conf。 (4 = 熱敏電阻;3 = 熱二極體)

風扇速度控制

風扇速度控制功能僅限於手動 PWM 模式。 自動“智慧守護”模式控制處理僅為舊晶片實現(見下文)。 但是,如果您想使用“手動模式”,只需將 1 寫入 pwmN_enable。

如果您只能使用非常小的 PWM 值來控制風扇速度,請嘗試降低 PWM 基頻 (pwm1_freq)。 根據風扇的不同,它可能會為您提供更大的控制範圍。 相同的頻率用於驅動所有風扇輸出,這就是為什麼 pwm2_freq 和 pwm3_freq 是隻讀的原因。

自動風扇速度控制(舊介面)

該驅動程式支援自動風扇速度控制的舊介面,該介面由 IT8705F 晶片(最高版本 F)和 IT8712F 晶片(最高版本 G)實現。

此介面實現了 4 個溫度與 PWM 輸出跳變點。 跳變點 4 的 PWM 輸出始終是最大值(風扇全速執行),而其他 3 個跳變點的 PWM 輸出可以自由選擇。 所有 4 個跳變點的溫度都可以自由選擇。 此外,跳變點 1 具有附加的滯後溫度,以防止風扇快速開啟和關閉之間切換。

晶片根據輸入溫度自動計算 PWM 輸出值,基於以下簡單規則:如果溫度值介於跳變點 N 和跳變點 N+1 之間,則 PWM 輸出值是跳變點 N 的值。自動控制模式不如手動控制模式靈活,但它反應更快,更強大,並且不使用 CPU 週期。

在切換到自動風扇速度控制模式之前,必須正確設定跳變點。 在實際切換到自動控制模式之前,驅動程式將執行基本的完整性檢查。

溫度偏移屬性

驅動程式支援 temp[1-3]_offset sysfs 屬性,以調整熱二極體或二極體連線的熱電晶體的報告溫度。 如果溫度感測器配置為熱敏電阻,則忽略屬性值。 如果熱感測器型別為 Intel PECI,則溫度偏移必須程式設計為 CPU 的臨界溫度。