Saya mencoba mengontrol kecepatan kipas laptop MSI GS60-2PC saya di Ubuntu 16.04.
Tapi pwmconfig
melaporkan bahwa
There are no pwm-capable sensors modules installed
Saya cukup yakin kipas ini dapat dikontrol, karena beberapa utilitas di Windows dapat mengontrolnya.
Apa yang telah saya lakukan
-
Saya telah menjalankan
sensors-detect
(sebagai root) seperti ini:yes | sensors-detect
Tampaknya hanya mendeteksi "coretemp". Inilah hasil lengkapnya.
-
Kemudian
pwmconfig
(sebagai root):pwmconfig
Dan saya mendapatkan pesan terkenal There are no pwm-capable sensors modules installed
.
- Saya sudah mencoba hal-hal berikut, yang tidak berhasil:
- Menambahkan ke grub (lalu mem-boot ulang):
acpi_osi=Linux
- Menambahkan ke grub (lalu mem-boot ulang):
acpi_osi=!Windows 2012
- Menambahkan ke grub (lalu mem-boot ulang):
acpi_enforce_resources=lax
- Menambahkan ke grub (lalu mem-boot ulang):
Apa yang saya dapatkan saat menjalankan sensors
perintah
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:Ini hasil dari lspci.
Jawaban yang Diterima:
Saya berhasil mengontrol 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))
Berikut adalah file input yang saat ini saya gunakan sebagai argumen, ini adalah 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 Firmware EC terbaru sebenarnya tidak ada antara 0 RPM dan 3000 RPM untuk kecepatan kipas.
Terkait:Bagaimana Cara Memulai Ulang Server X Window Dari Baris Perintah di Ubuntu?