lm_sensors

出自 Arch Linux 中文维基

lm_sensors(Linux monitoring sensors,Linux 監控傳感器)是一個免費的開源應用程式,提供用於監控温度、電壓和風扇的工具和驅動程序。本文檔介紹如何安裝、配置和使用 lm_sensors。

安裝[編輯 | 編輯原始碼]

安裝 lm_sensors 包。

注意: 更多文檔請訪問 GitHub 存儲庫。以後可能會安裝這些,見 FS#48354

配置[編輯 | 編輯原始碼]

在 root 下使用 sensors-detect 來檢測並生成內核模塊列表:

警吿: 不要使用默認選項以外的任何選項(只需點擊 Enter),除非您確切地知道自己在做什麼。見#Laptop screen issues after running sensors-detect.
# sensors-detect

它將詢問探測各種硬件。默認答案是「safe(安全)」,因此只需對所有問題點擊 Enter 通常不會造成任何問題。這將創建 /etc/conf.d/lm_sensors 配置文件,該文件由 lm_sensors.service 用於在啟動時自動加載內核模塊。

檢測完成後,將對探測進行總結。

示例:

# sensors-detect
This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): 
Module cpuid loaded successfully.
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No

...

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

Driver `lm90':
  * Bus `SMBus nForce2 adapter at 4d00'
    Busdriver `i2c_nforce2', I2C address 0x4c
    Chip `Winbond W83L771AWG/ASG' (confidence: 6)

Do you want to overwrite /etc/conf.d/lm_sensors? (YES/no): 
ln -s '/usr/lib/systemd/system/lm_sensors.service' '/etc/systemd/system/multi-user.target.wants/lm_sensors.service'
Unloading i2c-dev... OK
Unloading cpuid... OK
注意: 當被問及即將生成 /etc/conf.d/lm_sensors 時,如果用户回答 YES,則會自動啟用 systemd 服務。回答 YES 也會自動啟動該服務。

運行傳感器[編輯 | 編輯原始碼]

示例運行 sensors

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +35.0°C  (crit = +105.0°C)
Core 1:       +32.0°C  (crit = +105.0°C)

w83l771-i2c-0-4c
Adapter: SMBus nForce2 adapter at 4d00
temp1:        +28.0°C  (low  = -40.0°C, high = +70.0°C)
                       (crit = +85.0°C, hyst = +75.0°C)
temp2:        +37.4°C  (low  = -40.0°C, high = +70.0°C)
                       (crit = +110.0°C, hyst = +100.0°C)

添加雙列直插內存模塊(DIMM)温度傳感器[編輯 | 編輯原始碼]

要查找 DIMM 的温度傳感器,請 安裝 i2c-tools 包。安裝後,加載 i2c-dev 內核模塊

# modprobe i2c_dev

要顯示所有列,在 root 下使用 i2cdetect

# i2cdetect -l
i2c-2	smbus     	SMBus PIIX4 adapter port 2 at 0b00	SMBus adapter
i2c-2	smbus     	SMBus PIIX4 adapter port 1 at 0b20	SMBus adapter
i2c-0	smbus     	SMBus PIIX4 adapter port 0 at 0b00	SMBus adapter

否則,其輸出將顯示如下:

i2c-2	unknown    	SMBus PIIX4 adapter port 2 at 0b00	N/A
i2c-2	unknown    	SMBus PIIX4 adapter port 1 at 0b20	N/A
i2c-0	unknown    	SMBus PIIX4 adapter port 0 at 0b00	N/A

在以下示例中,內存棒連接到總線 SMBus 0i2cdetect 命令將顯示連接到總線的設備。-y 0 參數使用 i2c-0 smbus。如果需要,檢查其他總線。

# i2cdetect -y 0
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- 0c -- -- -- 
10: 10 -- -- -- -- -- -- -- 18 19 -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 4f 
50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- 77

RAM SPD(serial presence detect,串行存在檢查)從同一總線上的地址 0x50 開始,RAM 温度傳感器從 0x18 開始。在本例中,有2個 DIMM 可用。地址 0x180x19 是 DIMM 温度傳感器。

為了讀取內存棒的温度,我們需要加載 jc42 內核模塊。您需要吿訴模塊要使用哪些地址。此過程包括將 模塊名地址 寫入 smbus_path。例如:

# modprobe jc42
# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-0/new_device
# echo jc42 0x19 > /sys/bus/i2c/devices/i2c-0/new_device

之後,您的內存棒温度將可見:

$ sensors
jc42-i2c-0-19
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +50.7°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

jc42-i2c-0-18
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +51.8°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

從內存模塊讀取電涌保護器(SPD)值(可選)[編輯 | 編輯原始碼]

要從內存模塊中讀取 SPD 計時值,請安裝 i2c-tools 包。安裝後,加載 at24eeprom (已棄用)內核模塊

# modprobe at24

最後,使用 decode-dimms 查看內存信息。

這裏是一台機器的部分輸出:

# decode-dimms
Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in                             bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x583F)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 512
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     UDIMM

---=== Memory Characteristics ===---
Fine time base                                  2.500 ps
Medium time base                                0.125 ns
Maximum module speed                            1066MHz (PC3-8533)
Size                                            2048 MB
Banks x Rows x Columns x Bits                   8 x 14 x 10 x 64
Ranks                                           2
SDRAM Device Width                              8 bits
tCL-tRCD-tRP-tRAS                               7-7-7-33
Supported CAS Latencies (tCL)                   8T, 7T, 6T, 5T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15.000 ns
Minimum Row Active to Row Active Delay (tRRD)   7.500 ns
Minimum Active to Auto-Refresh Delay (tRC)      49.500 ns
Minimum Recovery Delay (tRFC)                   110.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       30.000 ns

---=== Optional Features ===---
Operable voltages                               1.5V
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         No
Operating temperature range                     0-85C
Refresh Rate in extended temp range             1X
Auto Self-Refresh?                              Yes
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         Not implemented
SDRAM Device Type                               Standard Monolithic

---=== Physical Characteristics ===---
Module Height (mm)                              15
Module Thickness (mm)                           1 front, 1 back
Module Width (mm)                               133.5
Module Reference Card                           B

---=== Manufacturer Data ===---
Module Manufacturer                             Invalid
Manufacturing Location Code                     0x02
Part Number                                     OCZ3G1600LV2G     

...

使用傳感器數據[編輯 | 編輯原始碼]

圖形前端[編輯 | 編輯原始碼]

傳感器數據有多種前端。

  • psensor — GTK 應用程式,用於監測硬件傳感器,包括温度和風扇速度。監控主板和 CPU(使用 lm-sensors)、Nvidia GPU(使用 XNVCtrl)和硬盤(使用 hddtemp 或 libatasmart)。
https://wpitchoune.net/psensor/ || psensor
  • xsensors — lm-sensors 的 X11 介面。
https://github.com/Mystro256/xsensors || xsensors
  • Netdata — 基於 Web 的系統監視器(netdata)。
https://github.com/netdata/netdata || netdata
  • CoolerControl — 監測和控制冷卻設備的程序。
https://gitlab.com/coolercontrol/coolercontrol || coolercontrolAUR

特定於桌面環境的:

  • Freon (GNOME Shell extension) — 用於在 GNOME Shell 中顯示 CPU 温度、磁盤温度、顯卡温度、電壓和風扇轉速的擴展。
https://github.com/UshakovVasilii/gnome-shell-extension-freon || gnome-shell-extension-freonAUR
  • GNOME Sensors AppletGNOME 面板的小程序,用於顯示硬件傳感器的讀數,包括 CPU 温度、風扇速度和電壓讀數。
http://sensors-applet.sourceforge.net/ || sensors-applet
  • lm-sensors (LXPanel plugin) — 通過 lm-sensors 監測 LXDE 中的温度/電壓/風扇速度。
https://danamlund.dk/sensors_lxpanel_plugin/ || sensors-lxpanel-pluginAUR
  • MATE Sensors Applet — 在 MATE 面板中顯示硬件傳感器的讀數。
https://github.com/mate-desktop/mate-sensors-applet || mate-sensors-applet
  • Sensors (Xfce4 panel plugin)Xfce 面板的硬件傳感器插件
https://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin || xfce4-sensors-plugin
  • Thermal Monitor (Plasma 5 applet) — 用於監控 CPU、GPU 和其他可用温度傳感器的 KDE Plasma 小程序。
https://gitlab.com/agurenko/plasma-applet-thermal-monitor || plasma5-applets-thermal-monitor

sensord[編輯 | 編輯原始碼]

有一個名為 sensord 的可選守護程序(包含在 lm_sensors 包中),它可以將數據記錄到輪詢數據庫(round robin database,rrd)中,然後以圖形方式進行可視化。有關詳細信息,請參閱 sensord(8) 手冊頁。

提示和技巧[編輯 | 編輯原始碼]

調整數值[編輯 | 編輯原始碼]

在某些情況下,顯示的數據可能不正確,或者用户可能希望重命名輸出。用例包括:

  • 由於錯誤的偏移導致温度值不正確(即報吿的温度比實際温度高 20°C)。
  • 用户希望重命名某些傳感器的輸出。
  • 核心可能以不正確的順序顯示。

以上所有用例(以及更多用例)都可以通過重寫包來進行調整。通過創建 /etc/sensors.d/foo ,包提供了 /etc/sensors3.conf 中的設置,其中任何數量的調整都將重寫默認值。建議將 'foo' 重命名為主板品牌和型號,但此命名法是可選的。

多個主板的自定義配置文件可以在 lm-sensors 包的 configs 目錄中找到,並用作模板。

注意: 不要直接編輯 /etc/sensors3.conf,因為包更新將覆蓋任何更改,從而丟失這些更改。

示例 1. 調整温度偏移[編輯 | 編輯原始碼]

這是 Zotac ION-ITX-A-U 主板上的一個真實例子。將堆芯温度值降低了20°C(過高),並根據英特爾規格進行了調整。

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +57.0°C  (crit = +125.0°C)
Core 1:       +55.0°C  (crit = +125.0°C)
...

使用 -u 開關來運行 sensors,以查看每個物理晶片有哪些可用選項(原始模式)。如果您看到的一些原始標籤似乎是不可配置的,請查看 /sys/class/hwmon 目錄樹。這裏提到的每個設備都有一個 name 文件,可以用來匹配它引用的設備。然後嘗試該目錄引用的標籤。

$ sensors -u
coretemp-isa-0000
Adapter: ISA adapter
Core 0:
  temp2_input: 57.000
  temp2_crit: 125.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 55.000
  temp3_crit: 125.000
  temp3_crit_alarm: 0.000
...

創建以下文件以覆蓋默認值:

/etc/sensors.d/Zotac-IONITX-A-U
chip "coretemp-isa-0000"
  label temp2 "Core 0"
  compute temp2 @-20,@-20

  label temp3 "Core 1"
  compute temp3 @-20,@-20

現在調用 sensors 顯示調整後的值:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +37.0°C  (crit = +105.0°C)
Core 1:       +35.0°C  (crit = +105.0°C)
...

示例 2. 重命名標籤[編輯 | 編輯原始碼]

這是華碩 A7M266 上的一個真實例子。用户希望温度標籤temp1temp2的名稱更加詳細:

$ sensors
as99127f-i2c-0-2d
Adapter: SMBus Via Pro adapter at e800
...
temp1:        +35.0°C  (high =  +0.0°C, hyst = -128.0°C)
temp2:        +47.5°C  (high = +100.0°C, hyst = +75.0°C)
...

創建以下文件以覆蓋默認值:

/etc/sensors.d/Asus_A7M266
chip "as99127f-*"
  label temp1 "Mobo Temp"
  label temp2 "CPU0 Temp"

現在調用 sensors 顯示調整後的值:

$ sensors
as99127f-i2c-0-2d
Adapter: SMBus Via Pro adapter at e800
...
Mobo Temp:        +35.0°C  (high =  +0.0°C, hyst = -128.0°C)
CPU0 Temp:        +47.5°C  (high = +100.0°C, hyst = +75.0°C)
...

示例 3. 多 CPU 系統的核心重新編號[編輯 | 編輯原始碼]

這是帶有雙至強 CPU 的惠普 Z600 工作站上的一個真實例子。物理核心的實際編號不正確:編號為 0、1、9、10,重複到第二個 CPU 中。大多數用户希望堆芯温度按順序報吿,即 0,1,2,3,4,5,6,7。

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core 1:       +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core 9:       +66.0°C  (high = +85.0°C, crit = +95.0°C)
Core 10:      +66.0°C  (high = +85.0°C, crit = +95.0°C)

coretemp-isa-0004
Adapter: ISA adapter
Core 0:       +54.0°C  (high = +85.0°C, crit = +95.0°C)
Core 1:       +56.0°C  (high = +85.0°C, crit = +95.0°C)
Core 9:       +60.0°C  (high = +85.0°C, crit = +95.0°C)
Core 10:      +61.0°C  (high = +85.0°C, crit = +95.0°C)
...

同樣,使用 -u 開關來運行 sensors,以查看每個物理晶片有哪些可用選項:

$ sensors -u coretemp-isa-0000
coretemp-isa-0000
Adapter: ISA adapter
Core 0:
  temp2_input: 61.000
  temp2_max: 85.000
  temp2_crit: 95.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 61.000
  temp3_max: 85.000
  temp3_crit: 95.000
  temp3_crit_alarm: 0.000
Core 9:
  temp11_input: 62.000
  temp11_max: 85.000
  temp11_crit: 95.000
Core 10:
  temp12_input: 63.000
  temp12_max: 85.000
  temp12_crit: 95.000
$ sensors -u coretemp-isa-0004
coretemp-isa-0004
Adapter: ISA adapter
Core 0:
  temp2_input: 53.000
  temp2_max: 85.000
  temp2_crit: 95.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 54.000
  temp3_max: 85.000
  temp3_crit: 95.000
  temp3_crit_alarm: 0.000
Core 9:
  temp11_input: 59.000
  temp11_max: 85.000
  temp11_crit: 95.000
Core 10:
  temp12_input: 59.000
  temp12_max: 85.000
  temp12_crit: 95.000
...

創建以下文件以覆蓋默認值:

/etc/sensors.d/HP_Z600
chip "coretemp-isa-0000"
  label temp2 "Core 0"
  label temp3 "Core 1"
  label temp11 "Core 2"
  label temp12 "Core 3"

chip "coretemp-isa-0004"
  label temp2 "Core 4"
  label temp3 "Core 5"
  label temp11 "Core 6"
  label temp12 "Core 7"

現在調用 sensors 顯示調整後的值:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core0:        +64.0°C  (high = +85.0°C, crit = +95.0°C)
Core1:        +63.0°C  (high = +85.0°C, crit = +95.0°C)
Core2:        +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core3:        +66.0°C  (high = +85.0°C, crit = +95.0°C)

coretemp-isa-0004
Adapter: ISA adapter
Core4:        +53.0°C  (high = +85.0°C, crit = +95.0°C)
Core5:        +54.0°C  (high = +85.0°C, crit = +95.0°C)
Core6:        +59.0°C  (high = +85.0°C, crit = +95.0°C)
Core7:        +60.0°C  (high = +85.0°C, crit = +95.0°C)
...

自動化 lm_sensors 部署[編輯 | 編輯原始碼]

希望在多台機器上部署 lm_sensors 的用户可以使用以下命令接受所有問題的默認設置:

# sensors-detect --auto

S.M.A.R.T. 驅動器温度[編輯 | 編輯原始碼]

從內核 5.6 開始 drivetemp 模塊將通過硬件監控系統報吿 SATA/SAS 温度,但 sensors-detect 無法自動檢測到這一點,因此該模塊必須 手動加載

# modprobe drivetemp

現在,您應該在 sensors 的輸出中看到類似的條目:

sensors
drivetemp-scsi-1-0
Adapter: SCSI adapter
temp1:        +33.0°C 

drivetemp-scsi-2-0
Adapter: SCSI adapter
temp1:        +32.0°C  (low  =  +0.0°C, high = +70.0°C)
                       (crit low =  +0.0°C, crit = +70.0°C)
                       (lowest = +29.0°C, highest = +41.0°C)

您現在可以在啟動時加載模塊。或者,手動將其添加到 /etc/conf.d/lm-sensorsHWMON_MODULES 行中。請注意,當 sensors-detect 被允許再次寫入此文件時,它將不會自動添加。

持久化設備名稱[編輯 | 編輯原始碼]

許多軟件都希望在 /sys/class/hwmon/hwmonX 中找到傳感器設備,但通常情況下,提供 hwmon 接口的設備超過 1-2 個的系統上就無法在 /sys/class/hwmon/hwmonX 中正常找到傳感器設備了。軟件可能應該解析 hwmon?/name 或使用 lmsensors 庫,但遺憾的是,它們通常不會。一些軟件(例如 Monitorix英語Monitorix 或它的某些模塊,即 amdgpu)期望在其他地方使用持久名稱。

因此,以下類型的 udev 規則可能是有用的。並不是所有的軟件都能使用它們(例如,KDE 系統監視器 - 不幸的是,這使得這些軟件在許多系統上幾乎毫無用處)。在許多情況下,只需在 udev 規則中匹配 hwmon 子系統和合適的名稱就足夠了,但並不總是如此!有關編寫規則的更多信息,請參閱 Udev 頁面。

不能在 /sys 層次下重命名或符號連結。 SYMLINK+= -語句也將不起作用。因此,我們需要使用 RUN+= 語句(注意,符號連結不必要像本例中那樣位於 /dev 之下 - 既沒有標準,也沒有合適的位置)。

/udev/rules.d/99-persistent-hwmon-names
# 我的主板传感器芯片:
ACTION=="add", SUBSYSTEM=="hwmon", ATTRS{name}=="nct6687", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/nct6678'"
# 提供传感器的 USB 设备:
ACTION=="add", SUBSYSTEM=="hwmon", ATTRS{name}=="corsaircpro", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/corsaircpro'"
# 我的 GPU:
ACTION=="add", SUBSYSTEM=="hwmon", ATTRS{vendor}=="0x1002", ATTRS{device}=="0x73bf", RUN+="/bin/sh -c 'ln -s /sys$devpath /dev/rx6900xt'"

疑難解答[編輯 | 編輯原始碼]

K10Temp 模塊[編輯 | 編輯原始碼]

一些 K10 處理器的温度傳感器存在問題。有關更多信息,請參見k10temp文檔

在受影響的機器上,模塊將報吿「不可靠的 CPU 熱傳感器;監控已禁用(unreliable CPU thermal sensor; monitoring disabled)」。要強制監控,您可以運行以下命令:

# rmmod k10temp
# modprobe k10temp force=1

確認傳感器實際上是有效和可靠的。如果是,可以編輯 /etc/modprobe.d/k10temp.conf 並添加:

options k10temp force=1

這將允許模塊在引導時加載。

華碩 B450M-A/A320M-K/A320M-K-BR 主板[編輯 | 編輯原始碼]

自2020年11月,這些主板使用的是不受 it87 內核驅動支持的 IT8655E 晶片 [1]。不過,內核驅動的上游版本 [2] 支持它。DKMS 變體包含在 it87-dkms-gitAUR 中。

使用 AM4 插槽的華碩 B450/X399/X470 主板[編輯 | 編輯原始碼]

某些新近的華碩主板使用 ITE IT8665E 晶片,訪問温度,風扇和電壓傳感器可能需要 asus-wmi-sensors 模塊。從 5.17 開始它成為了主線內核的一部分:加載使用了 UEFI 接口的 asus-wmi-sensors 內核模塊,可能需要在某些主板上進行 BIOS 更新 [3]

或者,it87 模塊直接從晶片讀取值,安裝 it87-dkms-gitAUR 並加載 it87 內核模塊

華碩 H97/Z97/Z170/Z370i/X570/B550 主板[編輯 | 編輯原始碼]

對於某些新近的華碩主板,風扇和電壓傳感器訪問可能需要加載 nct6775 內核模塊

你還可能需要添加以下 內核參數

acpi_enforce_resources=lax

更多信息見 https://bugzilla.kernel.org/show_bug.cgi?id=204807。

注意: 從內核 5.16 開始 [4],對於大多數主板來説,不再需要上述內核參數,應該避免使用。

華擎 Deskmini H470[編輯 | 編輯原始碼]

Deskmini H470 的 STX 主板使用 NCT6683 晶片,為了訪問温度、風扇和電壓傳感器,需要加載 nct6683 模塊。

為了獲得 nct6683 模塊的正確值,請創建一個模塊配置文件:

/etc/modprobe.d/nct6683.conf
options nct6683 force=1 

技嘉 B250/Z370/B450M/B560M/B660M/Z690 主板[編輯 | 編輯原始碼]

自2019年5月,一些技嘉主板使用 ITE IT8686E, ITE8689 (用於 B560 and B660M) 或 ITE8689E (用於 Z690) 晶片,it87 內核驅動不支持這些晶片 [5]。不過,內核驅動的上游版本 [6] 支持它。DKMS 變體包含在 it87-dkms-gitAUR 中。與 #華碩 H97/Z97/Z170/Z370i/X570/B550 主板一樣,在嘗試安裝模塊之前需要內核參數

acpi_enforce_resources=lax

此外,在加載模塊時提供晶片的 id,如下所示:

# modprobe it87 force_id=0x8686
或
# modprobe it87 force_id=0x8689  # for B560
# modprobe it87 force_id=0x8628  # for Z690

或者你可以在啟動過程中通過創建以下兩個文件加載模塊

/etc/modules-load.d/it87.conf
it87

對於 Z690

/etc/modprobe.d/it87.conf
options it87 force_id=0x8628

對於其它的

/etc/modprobe.d/it87.conf
options it87 ignore_resource_conflict=1

一旦模塊被加載,您就可以使用 sensors 工具來探測晶片。

現在,您還可以使用風扇轉速控制來控制機箱風扇的轉速級數。

可選地,安裝 zenpower3-dkmsAUR 可以允許對主板的冷卻系統進行更大的微調。不過,它會禁用默認的 k10temp 模塊。

技嘉 GA-J1900N-D3V[編輯 | 編輯原始碼]

該主板使用 ITE IT8620E 晶片(也可用於讀取電壓、主板温度和風扇速度)。自2014年10月,lm_sensors 不支持晶片 ITE IT8620E 的驅動程序 [7] [8]。lm_sensors 的開發人員報吿稱,該晶片與用於硬件監控的 IT8728F 部分兼容。然而,自2016年8月,[9] 列出了支持的 IT8620E。

你以在運行時使用 modprobe 加載模塊:

$ modprobe it87 force_id=0x8728

或者你可以在啟動過程中通過創建以下兩個文件加載模塊

/etc/modules-load.d/it87.conf
it87
/etc/modprobe.d/it87.conf
options it87 force_id=0x8603

一旦模塊被加載,您就可以使用 sensors 工具來探測晶片。

現在,您還可以使用風扇轉速控制來控制機箱風扇的轉速級數。

運行 sensors-detect 後筆記本電腦出現屏幕問題[編輯 | 編輯原始碼]

這是由於 lm-sensors 在探測傳感器時干擾了屏幕的 Vcom 值造成的。論壇上已經討論並解決了這個問題: https://bbs.archlinux.org/viewtopic.php?id=193048 。不過,在運行任何建議的命令之前,請確保仔細閱讀帖子。

在 AMD Navi 2 GPU 上的 i2c 總線錯誤[編輯 | 編輯原始碼]

目前,在 AMD Navi 2 GPU 上內核處理 i2c 總線讀取的方式中存在一個錯誤。該總線目前只能與 EEPROM 一起使用,嘗試將其與其他設備一起使用會導致其故障。這可能會導致崩潰、黑屏,甚至導致顯卡的異常行為,比如無法切換電源狀態。如果您有基於 Navi 2 的顯卡,目前建議不要掃描 i2c 總線。您可以在此處閱讀更多信息: https://gitlab.freedesktop.org/drm/amd/-/issues/1470