笔记本电脑风扇总是说转速为 8 RPM

笔记本电脑风扇总是说转速为 8 RPM

我有一台 Lenovo Legion Y520,其规格如下:

zjeffer@ArchLinux 
----------------- 
OS: Arch Linux x86_64 
Host: 80WK Lenovo Y520-15IKBN 
Kernel: 5.1.7-arch1-1-ARCH 
Uptime: 42 mins 
Packages: 1659 (pacman) 
Shell: zsh 5.7.1 
Resolution: 1920x1080, 1920x1080 
WM: bspwm 
Theme: OSX-Arc-Plus [GTK2/3] 
Icons: Papirus-Light [GTK2/3] 
Terminal: gnome-terminal 
CPU: Intel i7-7700HQ (8) @ 3.800GHz 
GPU: NVIDIA GeForce GTX 1050 Mobile 
GPU: Intel HD Graphics 630 
Memory: 1369MiB / 7866MiB 

我在用着思凡尝试控制我的CPU风扇。遗憾的是,我看不到真正的风扇速度是多少,因为它总是显示 8 RPM。

这是我的 thinkfan.conf,如果重要的话:

######################################################################
# thinkfan 0.7 example config file
# ================================
#
# ATTENTION: There is only very basic sanity checking on the configuration.
# That means you can set your temperature limits as insane as you like. You
# can do anything stupid, e.g. turn off your fan when your CPU reaches 70°C.
#
# That's why this program is called THINKfan: You gotta think for yourself.
#
######################################################################
#
# IBM/Lenovo Thinkpads (thinkpad_acpi, /proc/acpi/ibm)
# ====================================================
#
# IMPORTANT:
#
# To keep your HD from overheating, you have to specify a correction value for
# the sensor that has the HD's temperature. You need to do this because
# thinkfan uses only the highest temperature it can find in the system, and
# that'll most likely never be your HD, as most HDs are already out of spec
# when they reach 55 °C.
# Correction values are applied from left to right in the same order as the
# temperatures are read from the file.
#
# For example:
# tp_thermal /proc/acpi/ibm/thermal (0, 0, 10)
# will add a fixed value of 10 °C the 3rd value read from that file. Check out
# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
# want to add to certain temperatures.

#  Syntax:
#  (LEVEL, LOW, HIGH)
#  LEVEL is the fan level to use (0-7 with thinkpad_acpi)
#  LOW is the temperature at which to step down to the previous level
#  HIGH is the temperature at which to step up to the next level
#  All numbers are integers.
#

# I use this on my T61p:
# tp_fan /proc/acpi/ibm/fan
# tp_thermal /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp2_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp3_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp4_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp5_input
hwmon /sys/devices/virtual/thermal/thermal_zone1/temp


(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767) 

这是输出dmesg | grep -i thinkpad

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=661a855a-c479-4291-bcb2-95b148ce2020 rw quiet nowatchdog nvidia-drm.modeset=1 thinkpad_acpi fan_control=1
[    0.155975] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=661a855a-c479-4291-bcb2-95b148ce2020 rw quiet nowatchdog nvidia-drm.modeset=1 thinkpad_acpi fan_control=1
[    4.231093] thinkpad_acpi: ThinkPad ACPI Extras v0.26
[    4.231094] thinkpad_acpi: http://ibm-acpi.sf.net/
[    4.231094] thinkpad_acpi: ThinkPad BIOS 4KCN40WW, EC unknown
[    4.231094] thinkpad_acpi: Lenovo Lenovo Y520-15IKBN, model 80WK
[    4.231554] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
[    4.231620] thinkpad_acpi: Console audio control enabled, mode: monitor (read only)
[    4.232877] thinkpad_acpi: battery 1 registered (start 0, stop 0)
[    4.232879] battery: new extension: ThinkPad Battery Extension
[    4.232896] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input8

这里说EC unknown,所以我不知道我有哪个 EC,并且无法在互联网上找到有关我的型号的任何信息。

s-tui我在、/proc/acpi/ibm/fan、 中检查了这个速度sensors:它总是在 8 RPM,如果我在玩游戏时能听到它全速爆炸的话,这当然是不可能的。

在 Windows 10 中我发现speedfan没有找到任何风扇。我还将 BIOS 版本从 4KCN40WW 更新为 4KCN45WW。没有变化。


如何查看我的真实风扇速度?

答案1

部分答案:

从你的dmesg,thinkpad_acpi被加载。我快速浏览了内核源代码,似乎没有输出任何与风扇相关的消息。

然而,代码中的一些注释说:

ThinkPad EC 寄存器 0x​​84 (LSB)、0x85 (MSB):主风扇转速计读数(以 RPM 为单位)

该寄存器存在于所有具有新型 EC 的 ThinkPad 上,并且已知 A21m/e 和 T22 上不存在,因为根据 ACPI DSDT,偏移 0x84 中还有其他内容。同一时期(或更早)的其他 ThinkPad 可能也没有转速表。

不幸的是,许多具有新型 EC 的 ThinkPad 从未被 IBM 修复以报告 EC 固件版本字符串,但它们的固件可能支持转速计(如早期的 X 型号),因此检测它相当困难。我们需要更多数据才能确定。

固件错误:始终先读取 0x84,否则可能会导致读取错误。

固件错误:当 EC 切换到全速模式时可能会变得陈旧。

对于固件错误,请参阅: http://thinkwiki.org/wiki/Embedded_Controller_Firmware#Firmware_Issues

欧共体是嵌入式控制器您的笔记本电脑。

因此,存在三个潜在问题:在某些 Thinkpad 上,转速计根本不可用;在某些 ThinkPad 上,此位置有其他东西;在某些 ThinkPad 上,固件错误。

这意味着你必须匹配你的联想拯救者Y520无论您使用什么版本命名法,并查找固件错误。

如有疑问,我会通过内核错误跟踪器联系该模块的维护者,看看他们是否对您的特定模型有任何想法。

答案2

我联系了 Lenovo 支持人员,他们说我的笔记本电脑 BIOS 的当前(最新)版本不支持风扇控制。

相关内容