我正在尝试在 Ubuntu 16.04 上控制我的 MSI GS60-2PC 笔记本电脑的风扇速度。
但pwmconfig
有报道称
There are no pwm-capable sensors modules installed
我很确定这些风扇是可以控制的,因为 Windows 上的一些实用程序可以控制它们。
我做了什么
我已经
sensors-detect
以 root 身份运行了如下命令:yes | sensors-detect
它似乎只能检测“coretemp”。以下是完整结果。
然后
pwmconfig
(以root身份):pwmconfig
和我收到了著名的消息 There are no pwm-capable sensors modules installed
。
- 我尝试了以下方法,但没有效果:
- 添加到 grub(然后重新启动):
acpi_osi=Linux
- 添加到 grub(然后重新启动):
acpi_osi=!Windows 2012
- 添加到 grub(然后重新启动):
acpi_enforce_resources=lax
- 添加到 grub(然后重新启动):
运行sensors
命令后得到的结果
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +105.0°C)
temp2: +29.8°C (crit = +105.0°C)
temp3: +50.0°C (crit = +100.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +48.0°C (high = +84.0°C, crit = +100.0°C)
Core 0: +48.0°C (high = +84.0°C, crit = +100.0°C)
Core 1: +44.0°C (high = +84.0°C, crit = +100.0°C)
Core 2: +46.0°C (high = +84.0°C, crit = +100.0°C)
Core 3: +44.0°C (high = +84.0°C, crit = +100.0°C)
答案1
我设法使用 Pherein 的“风扇控制工具”在 Windows 中对风扇进行一些控制,使用 MSI GS60 6QC 笔记本电脑附带的 GS660 配置文件。所以我制作了一个小型 Python 脚本,它是 Pherein 的“Fan Profile Applier.exe”的 Linux 版本:
#!/usr/bin/env python
import os
import sys
EC_IO_FILE="/sys/kernel/debug/ec/ec0/io"
if not os.path.exists(EC_IO_FILE):
os.system("modprobe ec_sys write_support=1")
def ec_write(addr,value):
with open(EC_IO_FILE,"rb") as f:
f.seek(addr)
old_value=ord(f.read(1))
if (value != old_value):
print(" %3d => %3d" % (old_value, value))
with open(EC_IO_FILE,"wb") as f:
f.seek(addr)
f.write(bytearray([value]))
else:
print(" = %3d" % value)
for line in open(sys.argv[1]).readlines():
print(line.strip())
if line.startswith(">WEC "):
addr,value=line.split()[1:3]
ec_write(int(addr,0), int(value,0))
这是我当前用作参数的输入文件,它是使用 Pherein 工具生成的 Quiet.rw 文件:
-Profile Name: Quiet
[Temperatures_1]
>WEC 0x6A 0x2f
>WEC 0x6B 0x35
>WEC 0x6C 0x43
>WEC 0x6D 0x50
>WEC 0x6E 0x5A
>WEC 0x6F 0x5F
>WEC 0x70 0x64
----
[FanSpeeds_1]
>WEC 0x72 0x00
>WEC 0x73 0x10
>WEC 0x74 0x3E
>WEC 0x75 0x45
>WEC 0x76 0x4C
>WEC 0x77 0x54
>WEC 0x78 0x5B
----
[Temperatures_2]
>WEC 0x82 0x37
>WEC 0x83 0x41
>WEC 0x84 0x4B
>WEC 0x85 0x55
>WEC 0x86 0x5A
>WEC 0x87 0x5D
>WEC 0x88 0x66
----
[FanSpeeds_2]
>WEC 0x8A 0x0
>WEC 0x8B 0x3B
>WEC 0x8C 0x46
>WEC 0x8D 0x54
>WEC 0x8E 0x5B
>WEC 0x8F 0x5B
>WEC 0x90 0x5B
----
>RwExit
使用最新的 EC 固件,风扇速度实际上没有介于 0 RPM 和 3000 RPM 之间的值。
答案2
这款笔记本电脑使用 Intel HM87 芯片组。此芯片组的移动版本不包含 PWM 硬件,因此风扇无法由操作系统控制。如果可以控制风扇,则必须通过 BIOS 进行控制。
MSI G60 的用户手册指出,这款笔记本电脑的某些型号有一个“冷却器增强”按钮,用于控制风扇速度。手册还显示,按 Fn+F5 可使笔记本电脑在不同电源管理模式之间循环。