更换主板后,我尝试Psensor
正常工作,但我仍然无法获得适合我的 CPU 核心温度的正确温度,它始终为 -127 摄氏度。我安装lm-sensors
了检查温度所需的一切,所以运行后:
sudo sensors-detect
我回答yes
了一切,它发现:
Driver `f71882fg':
* ISA bus, address 0x295
Chip `Fintek F71882FG/F71883FG Super IO Sensors' (confidence: 9)
我跑了:
sudo service kmod start
当我做:
sudo modprobe f71882fg
我得到:
modprobe: ERROR: could not insert 'f71882fg': Device or resource busy
的输出dmesg | tail
说:
[47593.565779] f71882fg: Found f71882fg chip at 0x290, revision 32
[47593.565857] ACPI Warning: SystemIO range 0x00000290-0x00000297 conflicts with OpRegion 0x00000295-0x00000296 (\IP__) (20140424/utaddress-258)
[47593.565870] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
我的进一步行动是什么?
正如 Oli 所说,您只需要
coretemp
模块来读取 Intel CPU 核心温度。我的
w83667hg
硬件监视器驱动程序也有类似的问题。解决方法是添加acpi_enforce_resources=lax
到内核命令行。为此编辑
/etc/default/grub
并插入acpi_enforce_resources=lax
到 的参数字符串中GRUB_CMDLINE_LINUX
,例如然后运行
update-grub
并重新启动。我会跳过
lm-sensors
并直接阅读/sys/class/thermal/thermal_zone0/temp
。这应该为 ACPI 芯片自动注册。单位是摄氏度。可能有很多设备。根据我的经验,CPU 通常是第一个(每个内核一个),但我不确定我是否会依赖于这种情况。
thermal_zoneN
对于未通过 thermal sysfs API 注册的其他设备,您将需要
lm-sensors
或类似的东西。