Kontrol kipas di laptop MSI: tidak ada sensor yang mampu PWM?


8

Saya mencoba mengendalikan kecepatan kipas laptop MSI GS60-2PC saya di Ubuntu 16.04.

Tetapi pwmconfigmelaporkan itu

There are no pwm-capable sensors modules installed

Saya cukup yakin penggemar ini dapat dikontrol, karena beberapa utilitas di Windows dapat mengendalikan mereka.

Apa yang telah kulakukan

  1. Saya sudah menjalankan sensors-detect(sebagai root) seperti ini:

    yes | sensors-detect
    

Tampaknya hanya mendeteksi "coretemp". Inilah hasil lengkapnya .

  1. Kemudian pwmconfig(sebagai root):

    pwmconfig
    

Dan saya mendapatkan pesan terkenal itu There are no pwm-capable sensors modules installed .

  1. Saya sudah mencoba hal-hal berikut, yang tidak berhasil:
    • Menambahkan ke grub (lalu me-reboot): acpi_osi=Linux
    • Menambahkan ke grub (lalu me-reboot): acpi_osi=!Windows 2012
    • Menambahkan ke grub (lalu me-reboot): acpi_enforce_resources=lax

Apa yang saya dapatkan ketika saya menjalankan sensorsperintah

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)

EDIT: Inilah hasil lspci.

Jawaban:


5

Saya berhasil mengendalikan kipas di Windows dengan "Alat Kontrol Kipas" dari Pherein, menggunakan profil GS660 yang disertakan untuk laptop MSI GS60 6QC saya. Jadi saya membuat skrip python kecil yang setara dengan Linux dari "Fan Profile Applier.exe" Pherein:

#!/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))

Ini adalah file input yang saat ini saya gunakan sebagai argumen, ini file Quiet.rw yang dihasilkan dengan alat Pherein:

-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

Dengan EC Firmware terbaru sebenarnya tidak ada di antara 0 RPM dan 3000 RPM untuk kecepatan kipas.


Wow ! Saya baru saja mencobanya dan kecepatan kipas berubah, meskipun tidak sepi sebelumnya. Saya sangat tertarik :-) Beberapa pertanyaan: perubahan ulang ketika PC restart, bukan? Apakah memperhitungkan setiap sensor atau hanya CPU?
ElectronWill

Saya baru saja menemukan di sini profil untuk GS60 yang tampaknya berfungsi lebih baik daripada profil GX660 yang Anda berikan! Setidaknya di komputer saya. Mungkin Anda memiliki versi firmware berbeda yang membuat profil GX660 berfungsi lebih baik? Sejauh yang saya mengerti, perbedaannya adalah offset: profil yang saya temukan mulai dari 0x69, bukan 0x6A.
ElectronWill

0

Laptop ini menggunakan chipset Intel HM87. Versi mobile chipset ini tidak termasuk perangkat keras PWM sehingga kipas tidak dapat dikontrol oleh sistem operasi. Jika ada kontrol kipas dimungkinkan, itu akan melalui BIOS.

Manual pemilik untuk MSI G60 menyatakan bahwa beberapa model laptop ini memiliki tombol "cooler boost" yang mengontrol kecepatan kipas. Ini juga menunjukkan bahwa menekan Fn + F5 akan memutari laptop melalui mode manajemen daya yang berbeda.


Aneh: MSI mengklaim bahwa perangkat lunak ini mampu "mengendalikan" para penggemar. Bagaimana cara kerjanya jika tidak mungkin? ... Mungkin ini mem-flash firmware EC?
ElectronWill

@ Electronwill Ini bukan perangkat lunak aplikasi, ini adalah fitur dari BIOS. Saya telah memperbarui jawaban saya.
Steve Roome

Dengan "tombol pendorong dingin", maksud Anda tombol ini ? Tampaknya saya tidak memiliki tombol pendingin pada GS60 saya. Tombol ini tersedia di GE60 dan GE70.
ElectronWill

Sangat disayangkan. Manual untuk laptop Anda mengatakan ini tersedia pada beberapa model.
Steve Roome

Saya ingin tahu di mana Anda menemukan manual. Yang resmi, di situs web MSI , tidak menyebutkan tombol pendingin. Panduan cepat juga tidak . Bagaimanapun, Anda benar tentang chipset, jadi saya akan menerima jawaban Anda.
ElectronWill
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.