GNU/Linux >> Znalost Linux >  >> Ubuntu

Ovládání ventilátoru na notebooku Msi:Žádné senzory schopné Pwm?

Snažím se ovládat rychlost ventilátoru mého notebooku MSI GS60-2PC na Ubuntu 16.04.

Ale pwmconfig hlásí, že

There are no pwm-capable sensors modules installed

Jsem si docela jistý, že tyto ventilátory lze ovládat, protože některé nástroje ve Windows je mohou ovládat.

Co jsem udělal

  1. Spustil jsem sensors-detect (jako root) takto:

     yes | sensors-detect
    

Zdá se, že detekuje pouze „coretemp“. Zde je úplný výsledek.

  1. Poté pwmconfig (jako root):

    pwmconfig
    

A dostávám slavnou zprávu There are no pwm-capable sensors modules installed .

  1. Zkoušel jsem následující věci, které nefungovaly:
    • Přidání do grub (a následné restartování):acpi_osi=Linux
    • Přidání do grub (a následné restartování):acpi_osi=!Windows 2012
    • Přidání do grub (a následné restartování):acpi_enforce_resources=lax

Co dostanu, když spustím sensors příkaz

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:Zde je výsledek lspci.

Přijatá odpověď:

Podařilo se mi mít nějaké ovládání ventilátoru ve Windows pomocí „Fan Control Tools“ od Pherein, pomocí přiloženého profilu GS660 pro můj notebook MSI GS60 6QC. Takže jsem vytvořil malý python skript, který je linuxovým ekvivalentem Phereinova „Fan Profile Applier.exe“:

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

Zde je vstupní soubor, který aktuálně používám jako argument, je to soubor Quiet.rw vygenerovaný pomocí nástroje 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

S nejnovějším EC Firmwarem ve skutečnosti nejsou otáčky ventilátoru mezi 0 RPM a 3000 RPM.

Související:Jak restartovat X Window Server z příkazového řádku v Ubuntu?
Ubuntu
  1. Chyba při používání Speedfan – Jak mohu ovládat rychlost ventilátoru?

  2. Teplota Asus Ux533f je příliš vysoká a ventilátor je vypnutý na Ubuntu 20,04 Lts?

  3. Nefunguje ovládání jasu displeje ve verzi 17.10?

  1. Ovládání ventilátoru a teploty pevného disku na Thecus N2100 s Debian Lenny

  2. Jak nainstalovat EHCP na Ubuntu 18.04 LTS

  3. Chci bezhlavý hudební přehrávač, který budu ovládat z notebooku

  1. 19:10:Cpu vždy přiškrcen?

  2. Žádná regulace jasu na notebooku Asus 75?

  3. Gui pro ovládání zvuku?