MSI笔记本电脑上的风扇控制:没有支持pwm的传感器?


8

我正在尝试控制Ubuntu 16.04上MSI GS60-2PC笔记本电脑的风扇速度。

但是pwmconfig报告

There are no pwm-capable sensors modules installed

我非常确定可以控制这些风扇,因为Windows上的某些实用程序可以控制它们。

我做了什么

  1. 我已经sensors-detect像这样运行(作为根用户):

    yes | sensors-detect
    

看来只能检测到“ coretemp”。这是完整的结果

  1. 然后pwmconfig(作为根):

    pwmconfig
    

而且我得到了著名的信息 There are no pwm-capable sensors modules installed

  1. 我已经尝试了以下方法,但是没有用:
    • 添加到grub(然后重新启动): acpi_osi=Linux
    • 添加到grub(然后重新启动): acpi_osi=!Windows 2012
    • 添加到grub(然后重新启动): acpi_enforce_resources=lax

运行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)

编辑:这是lspci的结果。

Answers:


5

我使用MSI GS60 6QC笔记本电脑随附的GS660配置文件,使用Pherein的“风扇控制工具”设法对Windows中的风扇进行了一些控制。因此,我制作了一个小的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之间。


哇 !我刚刚尝试了一下,但是风扇速度却发生了变化,即使它没有以前那么安静。我非常有兴趣:-)一些问题:PC重新启动后,更改会重置,不是吗?是考虑每个传感器还是仅考虑CPU?
ElectronWill

我刚刚在这里找到了GS60的配置文件,它似乎比您提供的GX660的配置文件更好!至少在我的机器上。也许您使用其他固件版本可以使GX660的配置文件更好地工作?据我了解,差异是偏移量:我发现的配置文件从0x69开始,而不是0x6A。
ElectronWill

0

该笔记本电脑使用英特尔HM87芯片组。该芯片组的移动版本不包括PWM硬件,因此风扇无法由操作系统控制。如果可以进行任何风扇控制,则将通过BIOS。

MSI G60的用户手册指出,此款笔记本电脑的某些型号具有“冷却器升压”按钮,用于控制风扇速度。它还显示,按Fn + F5键可在不同的电源管理模式下循环笔记本电脑。


怪异:MSI声称该软件能够“控制”风扇。如果不可能怎么办?...也许它会闪烁EC固件?
ElectronWill

@Electronwill这不是应用程序软件,它是BIOS的功能。我已经更新了答案。
史蒂夫·鲁姆2016年

“冷却器提升按钮”是指这个按钮吗?看来我的GS60上没有这么凉的按钮。GE60和GE70上有此按钮。
ElectronWill

真可惜。笔记本电脑的手册说某些型号有售。
史蒂夫·鲁姆,2016年

我想知道您在哪里找到了手册。在MSI网站上官方没有提及任何更酷的按钮。快速指南也没有。无论如何,您对芯片组是正确的,所以我会接受您的回答。
ElectronWill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.