核心驅動 w83792d¶
支援的晶片
華邦 W83792D
字首: ‘w83792d’
掃描地址: I2C 0x2c - 0x2f
作者: Shane Huang (華邦) 更新人: Roger Lucas
模組引數¶
- init int
(預設 1)
使用 ‘init=0’ 繞過晶片初始化。如果載入模組時計算機崩潰,請嘗試此操作。
- force_subclients=bus,caddr,saddr,saddr
這用於強制特定晶片的子客戶端的 I2C 地址。例如,使用 force_subclients=0,0x2f,0x4a,0x4b 可將匯流排 0 上晶片 0x2f 的子客戶端強制設定為 I2C 地址 0x4a 和 0x4b。
描述¶
該驅動程式實現了對華邦 W83792AD/D 的支援。
晶片檢測有時會失敗,因為它可能處於不允許乾淨訪問的內部狀態(帶有 ID 暫存器的 Bank 當前未被選中)。如果您知道晶片的地址,請使用 ‘force’ 引數;這將首先使其進入更良好行為的狀態。
該驅動程式實現了三個溫度感測器、七個風扇轉速感測器、九個電壓感測器,以及兩種自動風扇調節策略:智慧風扇 I (溫控巡航模式) 和智慧風扇 II。
該驅動程式還實現了多達七個風扇控制輸出:pwm1-7。Pwm1-7 可以透過其相關的 pwmX_mode 配置為 PWM 輸出或模擬直流輸出。輸出 pwm4 到 pwm7 可能存在,也可能不存在,具體取決於 BIOS 如何配置 W83792AD/D。
自動風扇控制模式僅適用於風扇 1 到風扇 3。
對於所有 pwmX 輸出,值為 0 表示最低風扇轉速,值為 255 表示最高風扇轉速。
溫度以攝氏度測量,temp1 的測量解析度為 1 攝氏度,temp2 和 temp3 的測量解析度為 0.5 攝氏度。當溫度高於過溫關機值時會觸發警報;警報會一直持續到溫度降至遲滯值以下。
風扇轉速以 RPM (每分鐘轉數) 報告。如果轉速降至可程式設計限制以下,則會觸發警報。風扇讀數可以由可程式設計分頻器 (1、2、4、8、16、32、64 或 128) 進行分頻,以提供更大的讀數範圍或更高的精度。
電壓感測器 (也稱為 IN 感測器) 以毫伏報告其值。如果電壓超出可程式設計的最小或最大限制,則會觸發警報。
警報作為“即時狀態暫存器”的輸出提供。定義了以下位
位 |
報警開啟 |
|---|---|
0 |
in0 |
1 |
in1 |
2 |
temp1 |
3 |
temp2 |
4 |
temp3 |
5 |
fan1 |
6 |
fan2 |
7 |
fan3 |
8 |
in2 |
9 |
in3 |
10 |
in4 |
11 |
in5 |
12 |
in6 |
13 |
VID 變化 |
14 |
機箱 |
15 |
fan7 |
16 |
tart1 |
17 |
tart2 |
18 |
tart3 |
19 |
in7 |
20 |
in8 |
21 |
fan4 |
22 |
fan5 |
23 |
fan6 |
如果對應風扇全速旋轉 3 分鐘後仍無法達到目標溫度,則會斷言 Tart。
除了上述警報外,晶片上還有一個 CHAS 警報,當您的計算機機箱開啟時會觸發(此警報是鎖存的,與即時警報不同)。
晶片每 3 秒才更新一次值;更頻繁地讀取它們不會造成傷害,但會返回“舊”值。
W83792D 問題¶
- 已知問題
此驅動程式僅適用於華邦 W83792D C 版本裝置,也有一些主機板使用 B 版本 W83792D 裝置。C 和 B 版本在 in6-in7(測量值、限制)的計算方法上略有不同。C 或 B 版本可以透過 CR[0x49h] 識別。
vid 和 vrm 的功能尚未完成,因為我不太熟悉它們。歡迎新增支援。
機箱開啟檢測功能需要更多測試。
如果您有華碩伺服器主機板且未找到晶片:則需要升級到最新(或 Beta)BIOS。如果仍無幫助,請聯絡我們。
風扇控制¶
手動模式¶
按預期工作。您只需在相應的 pwm# 檔案中指定所需的 PWM/DC 值(風扇轉速)。
溫控巡航¶
在此模式下,W83792D 提供智慧風扇系統,自動控制風扇轉速,使 CPU 和系統溫度保持在特定範圍內。首先,必須設定一個目標溫度和間隔。這透過 thermal_cruise# 檔案完成。tolerance# 檔案用於建立 T +- tolerance 間隔。只要當前溫度保持在 thermal_cruise# +- tolerance# 值以下,風扇轉速就會降低。一旦溫度超過高限(T+tolerance),風扇將以 pwm# 設定的特定速度開啟,並隨著溫度變化自動控制其 PWM 佔空比。可能出現以下三種情況
(1) 如果溫度仍超過高限,PWM 佔空比將緩慢增加。
(2) 如果溫度低於高限,但仍高於低限(T-tolerance),風扇轉速將固定在當前速度,因為溫度處於目標範圍內。
(3) 如果溫度低於低限,PWM 佔空比將緩慢減小至 0 或預設停止值,直到溫度超過低限。(驅動程式尚未實現預設停止值處理)
智慧風扇 II¶
W83792D 還提供了一種特殊的風扇模式。有四個溫度點可用。當相關的溫度感測器檢測到預設溫度區域 (sf2_point@_fan# +- tolerance#) 內的溫度時,它將使風扇以 sf2_level@_fan# 中程式設計的值執行。您需要為每個風扇設定四個溫度。
/sys 檔案¶
- pwm[1-7]
此檔案儲存 PWM 佔空比或直流值(風扇轉速),範圍為
0 (停止) 到 255 (全速)
- pwm[1-3]_enable
此檔案控制風扇/溫度控制模式
0 停用
1 手動模式
2 智慧風扇 II
3 溫控巡航
- pwm[1-7]_mode
選擇 PWM 或直流模式
0 直流
1 PWM
- thermal_cruise[1-3]
選擇巡航目標溫度(攝氏度)
- tolerance[1-3]
攝氏度值(degC),用於 +- T
- sf2_point[1-4]_fan[1-3]
智慧風扇 II 的每個風扇的四個溫度點
- sf2_level[1-3]_fan[1-3]
智慧風扇 II 的每個風扇的三個 PWM/直流級別