我有一台 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 寄存器 0x84 (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 的当前(最新)版本不支持风扇控制。