hirschmann / nbfc

NoteBook FanControl
Other
2.9k stars 487 forks source link

Error trying to extract DSDT #266

Closed j1cs closed 5 years ago

j1cs commented 7 years ago

Hi again.

Following the wiki says me to create my own configuration I'll need to extract the DSDT with the java application provide by hirschmann. But When I trying to extract it display me the following error: Could not parse ACPI tables, AE_ALREADY_EXISTS

I have some problem with my tables? Thanks for advanced.

hirschmann commented 7 years ago

You could search for an updated iasl (Intel ASL compiler) version in your distro's repos or download it from https://www.acpica.org/downloads

If even an up-to-date iasl can't disassemble your DSDT, you could give the MS ASL compiler a try (it works on Windows only though).

You can open the disassembled DSDT in the editor which is linked in the tutorial.

hirschmann commented 7 years ago

The ACPI errors are no problem for NBFC, because it bypasses the ACPI subsystem and accesses the EC directly. But it is indeed a problem, that there are no field definitions in the EmbeddedControl space. This means the EC is (probably) not meant to be controlled via its registers. You could give ec-probe a try: https://github.com/hirschmann/nbfc/wiki/Probe-the-EC%27s-registers

mcku commented 7 years ago

Hi. I have the same GL553VD laptop. Runnin Arch linux on it, kernel 4.12. I came across your issue when looking for a fix.

It was indeed possible to get dsdt by using the tools in kernel source tree. Compile tools/power/acpi/acpidump.

And extracted into dsl by acpixtract. (Still i have the same AE_ALREADY_EXIST errors in the dmesg log) acpixtract -l acpidump.hex output:

Signature  Length      Revision   OemId    OemTableId   OemRevision CompilerId CompilerRevision

   SSDT   0x0000029F     0x02    "INTEL "  "sensrhub"   0x00000000    "INTL"     0x20160422
   MCFG   0x0000003C     0x01    "_ASUS_"  "Notebook"   0x01072009    "MSFT"     0x00000097
   SSDT   0x0000098A     0x02    "INTEL "  "xh_rvp11"   0x00000000    "INTL"     0x20160422
   APIC   0x000000BC     0x03    "_ASUS_"  "Notebook"   0x01072009    "AMI "     0x00010013
   ECDT   0x000000C1     0x01    "OEM   "  "OEM     "   0x00000001    "OEM."     0x00000003
   SSDT   0x00001D06     0x01    "OptRef"  "OptTabl "   0x00001000    "INTL"     0x20160422
   TPM2   0x00000034     0x03    "      "  "Tpm2Tabl"   0x00000001    "AMI "     0x00000000
   SSDT   0x0000340B     0x02    "SaSsdt"  "SaSsdt  "   0x00003000    "INTL"     0x20160422
   NHLT   0x0000002D     0x00    "INTEL "  "EDK2    "   0x00000002    "    "     0x01000013
   SSDT   0x000000B4     0x02    "SgRef "  "SgPeg   "   0x00001000    "INTL"     0x20160422
   UEFI   0x00000042     0x01    "INTEL "  "EDK2    "   0x00000002    "    "     0x01000013
   DSDT   0x0002F3D8     0x02    "_ASUS_"  "Notebook"   0x01072009    "INTL"     0x20160422
   WSMT   0x00000028     0x01    "INTEL "  "KBL     "   0x00000000    "MSFT"     0x0000005F
   LPIT   0x00000094     0x01    "INTEL "  "KBL     "   0x00000000    "MSFT"     0x0000005F
   SSDT   0x00003002     0x02    "INTEL "  "PtidDevc"   0x00001000    "INTL"     0x20160422
   DBG2   0x00000054     0x00    "INTEL "  "        "   0x00000002    "MSFT"     0x0000005F
   SSDT   0x00000EDE     0x02    "CpuRef"  "CpuSsdt "   0x00003000    "INTL"     0x20160422
   SSDT   0x00000651     0x02    "PmRef "  "Cpu0Ist "   0x00003000    "INTL"     0x20160422
   DMAR   0x000000CC     0x01    "INTEL "  "KBL     "   0x00000001    "INTL"     0x00000001
   FACP   0x00000114     0x06    "_ASUS_"  "Notebook"   0x01072009    "AMI "     0x00010013
   FPDT   0x00000044     0x01    "_ASUS_"  "Notebook"   0x01072009    "AMI "     0x00010013
   SSDT   0x000028D3     0x02    "PegSsd"  "PegSsdt "   0x00001000    "INTL"     0x20160422
   SSDT   0x000002F2     0x01    "SataRe"  "SataTabl"   0x00001000    "INTL"     0x20160422
   MSDM   0x00000055     0x03    "_ASUS_"  "Notebook"   0x01072009    "ASUS"     0x00000001
   DBGP   0x00000034     0x01    "INTEL "  "        "   0x00000002    "MSFT"     0x0000005F
   SSDT   0x0000028D     0x02    "INTEL "  "zpodd   "   0x00001000    "INTL"     0x20160422
   HPET   0x00000038     0x01    "INTEL "  "KBL     "   0x00000001    "MSFT"     0x0000005F
   FIDT   0x0000009C     0x01    "_ASUS_"  "Notebook"   0x01072009    "AMI "     0x00010013
   FACS   0x00000040
   BGRT   0x00000038     0x01    "_ASUS_"  "Notebook"   0x01072009    "AMI "     0x00010013
   SSDT   0x000003FF     0x02    "PmRef "  "Cpu0Cst "   0x00003001    "INTL"     0x20160422
   SSDT   0x0000018A     0x02    "PmRef "  "ApCst   "   0x00003000    "INTL"     0x20160422
   SSDT   0x0000065C     0x02    "PmRef "  "ApIst   "   0x00003000    "INTL"     0x20160422
   SSDT   0x00000115     0x02    "PmRef "  "Cpu0Hwp "   0x00003000    "INTL"     0x20160422
   SSDT   0x00000197     0x02    "PmRef "  "ApHwp   "   0x00003000    "INTL"     0x20160422
   SSDT   0x000001A4     0x02    "PmRef "  "HwpLvt  "   0x00003000    "INTL"     0x20160422

Found 36 ACPI tables in acpidump.hex

In parallel, ran fwts wmi -:

$ sudo fwts wmi -
Results generated by fwts: Version V17.06.00 (2017-06-15 00:23:38).

Some of this work - Copyright (c) 1999 - 2017, Intel Corp. All rights reserved.
Some of this work - Copyright (c) 2010 - 2017, Canonical.
Some of this work - Copyright (c) 2016 - 2017, IBM.
Some of this work - Copyright (c) 2017, ARM Ltd.

This test run on 24/09/17 at 11:56:29 on host Linux zulfikar 4.12.13-1-ARCH #1 SMP PREEMPT Fri
Sep 15 06:36:43 UTC 2017 x86_64.

Command: "fwts wmi -".
Running tests: wmi.

wmi: Extract and analyse Windows Management Instrumentation (WMI).
----------------------------------------------------------------------------------------------
Test 1 of 1: Windows Management Instrumentation test.

\_SB_.PCI0.WMI2._WDG (1 of 2)
  GUID: CA4982BF-C230-458E-B12F-6F16475F351B
  WMI Method:
    Flags          : 0x02 (Method)
    Object ID      : OP
    Instance       : 0x01
PASSED: Test 1, CA4982BF-C230-458E-B12F-6F16475F351B has associated method
\_SB_.PCI0.WMI2.WMOP

\_SB_.PCI0.WMI2._WDG (2 of 2)
  GUID: A486D8F8-0BDA-471B-A72B-6042A6B5BEE0
  WMI Object:
    Flags          : 0x00 (None)
    Object ID      : SM
    Instance       : 0x01

\_SB_.PCI0.WMI1._WDG (1 of 1)
  GUID: F6CB5C3C-9CAE-4EBD-B577-931EA32A2CC0
  WMI Method:
    Flags          : 0x02 (Method)
    Object ID      : MX
    Instance       : 0x01
    Driver         : mxm-wmi (MXM)
PASSED: Test 1, F6CB5C3C-9CAE-4EBD-B577-931EA32A2CC0 has associated method
\_SB_.PCI0.WMI1.WMMX

\_SB_.ATKD._WDG (1 of 2)
  GUID: 97845ED0-4E6D-11DE-8A39-0800200C9A66
  WMI Method:
    Flags          : 0x02 (Method)
    Object ID      : NB
    Instance       : 0x01
    Driver         : asus-wmi (Asus)
PASSED: Test 1, 97845ED0-4E6D-11DE-8A39-0800200C9A66 has associated method \_SB_.ATKD.WMNB

\_SB_.ATKD._WDG (2 of 2)
  GUID: 0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C
  WMI Event:
    Flags          : 0x08 (Event)
    Notification ID: 0xff
    Reserved       : 0x00
    Instance       : 0x01
    Driver         : asus-nb-wmi (Asus)
PASSED: Test 1, All events associated with \_SB_.ATKD._WDG are handled by a kernel driver.

\WMI0._WDG (1 of 22)
  GUID: 39142400-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 00
    Instance       : 0x01

\WMI0._WDG (2 of 22)
  GUID: 49142400-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 01
    Instance       : 0x01

\WMI0._WDG (3 of 22)
  GUID: 4A142400-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 02
    Instance       : 0x01

\WMI0._WDG (4 of 22)
  GUID: 49142401-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 11
    Instance       : 0x01

\WMI0._WDG (5 of 22)
  GUID: 4A142401-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 12
    Instance       : 0x01

\WMI0._WDG (6 of 22)
  GUID: 49142402-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 21
    Instance       : 0x01

\WMI0._WDG (7 of 22)
  GUID: 4A142402-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 22
    Instance       : 0x01

\WMI0._WDG (8 of 22)
  GUID: 49142403-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 31
    Instance       : 0x01

\WMI0._WDG (9 of 22)
  GUID: 4A142403-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 32
    Instance       : 0x01

\WMI0._WDG (10 of 22)
  GUID: 49142404-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 41
    Instance       : 0x01

\WMI0._WDG (11 of 22)
  GUID: 4A142404-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 42
    Instance       : 0x01

\WMI0._WDG (12 of 22)
  GUID: 49142405-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 51
    Instance       : 0x01

\WMI0._WDG (13 of 22)
  GUID: 4A142405-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 52
    Instance       : 0x01

\WMI0._WDG (14 of 22)
  GUID: 49142406-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 61
    Instance       : 0x01

\WMI0._WDG (15 of 22)
  GUID: 4A142406-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 62
    Instance       : 0x01

\WMI0._WDG (16 of 22)
  GUID: 49142407-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 71
    Instance       : 0x01

\WMI0._WDG (17 of 22)
  GUID: 4A142407-C6A3-40FA-BADB-8A2652834100
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : 72
    Instance       : 0x01

\WMI0._WDG (18 of 22)
  GUID: 59142400-C6A3-40FA-BADB-8A2652834100
  WMI Event:
    Flags          : 0x08 (Event)
    Notification ID: 0x80
    Reserved       : 0x00
    Instance       : 0x01
    Driver         : toshiba_acpi (Toshiba)

\WMI0._WDG (19 of 22)
  GUID: 69142400-C6A3-40FA-BADB-8A2652834100
  WMI Method:
    Flags          : 0x02 (Method)
    Object ID      : 05
    Instance       : 0x01
PASSED: Test 1, 69142400-C6A3-40FA-BADB-8A2652834100 has associated method \WMI0.WM05

\WMI0._WDG (20 of 22)
  GUID: 79142400-C6A3-40FA-BADB-8A2652834100
  WMI Method:
    Flags          : 0x02 (Method)
    Object ID      : 06
    Instance       : 0x01
PASSED: Test 1, 79142400-C6A3-40FA-BADB-8A2652834100 has associated method \WMI0.WM06

\WMI0._WDG (21 of 22)
  GUID: 89142400-C6A3-40FA-BADB-8A2652834100
  WMI Method:
    Flags          : 0x02 (Method)
    Object ID      : 07
    Instance       : 0x01
PASSED: Test 1, 89142400-C6A3-40FA-BADB-8A2652834100 has associated method \WMI0.WM07

\WMI0._WDG (22 of 22)
  GUID: 05901221-D566-11D1-B2F0-00A0C9062910
  WMI Object:
    Flags          : 0x01 (Expensive)
    Object ID      : BA
    Instance       : 0x01
PASSED: Test 1, All events associated with \WMI0._WDG are handled by a kernel driver.

==============================================================================================
8 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0 info only.
==============================================================================================

8 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0 info only.

Test Failure Summary
==============================================================================================

Critical failures: NONE

High failures: NONE

Medium failures: NONE

Low failures: NONE

Other failures: NONE

Test           |Pass |Fail |Abort|Warn |Skip |Info |
---------------+-----+-----+-----+-----+-----+-----+
wmi            |    8|     |     |     |     |     |
---------------+-----+-----+-----+-----+-----+-----+
Total:         |    8|    0|    0|    0|    0|    0|
---------------+-----+-----+-----+-----+-----+-----+

Now, looking at the above output, I thought SB.ATKD._WDG is very relevant, as asus is detected as their drivers. However in the DSL, I can see SB.ATKD but no _WDG in it. Any ideas? Also, it is noted above that SB.ATKD.WMNB is the handler. Namely:

\_SB_.ATKD._WDG (1 of 2)
  GUID: 97845ED0-4E6D-11DE-8A39-0800200C9A66
  WMI Method:
    Flags          : 0x02 (Method)
    Object ID      : NB
    Instance       : 0x01
    Driver         : asus-wmi (Asus)
PASSED: Test 1, 97845ED0-4E6D-11DE-8A39-0800200C9A66 has associated method \_SB_.ATKD.WMNB

\_SB_.ATKD._WDG (2 of 2)
  GUID: 0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C
  WMI Event:
    Flags          : 0x08 (Event)
    Notification ID: 0xff
    Reserved       : 0x00
    Instance       : 0x01
    Driver         : asus-nb-wmi (Asus)
PASSED: Test 1, All events associated with \_SB_.ATKD._WDG are handled by a kernel driver.

So i looked for WMNB, yes it is there but makes no sense to me. found something in WMNB method:

If ((IIA0 == 0x00120072))
                    {
                        Name (PSSI, Zero)
                        Name (FREQ, Zero)
                        Local0 = Package (0x0A)
                            {
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            }
                        If ((OSCP & 0x0400))
                        {
                            PSSI = SizeOf (\_PR.CPU0.TPSS)
                        }
                        Else
                        {
                            PSSI = SizeOf (\_PR.CPU0.LPSS)
                        }

                        FREQ = DerefOf (DerefOf (\_PR.CPU0.TPSS [Zero]) [Zero])
                        Local0 [0x04] = FREQ /* \_SB_.ATKD.WMNB.FREQ */
                        PSSI--
                        FREQ = DerefOf (DerefOf (\_PR.CPU0.TPSS [PSSI]) [Zero])
                        Local0 [0x06] = FREQ /* \_SB_.ATKD.WMNB.FREQ */
                        Return (Local0)
                    }

Any ideas on what to do next?

mcku commented 7 years ago

reading a bit more,

these may be related to the EC.

hwinfo:

 P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:17/PNP0C09:01
  E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:17/PNP0C09:01
  E: DRIVER=ec
  E: ID_VENDOR_FROM_DATABASE=The Linux Foundation
  E: MODALIAS=acpi:PNP0C09:
  E: SUBSYSTEM=acpi
  E: USEC_INITIALIZED=3429890
If ((IIA0 == 0x00110013))
                    {
                        Local0 = ^^PCI0.LPCB.EC0.F0TS /* \_SB_.PCI0.LPCB.EC0_.F0TS */
                        Divide (0x008C6180, 0x80, Local1, Local2)
                        Local3 = (0x3C * Local2)
                        Local0 *= 0x02
                        Divide (Local3, Local0, Local4, Local0)
                        Divide (Local0, 0x64, Local4, Local0)
                        If ((Local4 >= 0x32))
                        {
                            Local0 += One
                        }

                        Local0 |= 0x00010000
                        Return (Local0)
                    }

Aside, I have run cpuburn to speed up the fans. Then the ec-probe had some fluctuations at the output:

heat up

0x92: CE,   CD,CC,CE,CB,   CE,CB,CE,CD,   CC,CF,CC,CD,CC,   CE,CD,   D0,CD,CE,CC,CD,CC,   CD,CE,CB,         CE,CD,CE,CC,         CE,CC
0x9C: EC,EB,      EA,      E9,   E8,      E7,   E6,   E5,      E4,         E3,      E2,         E1,            E0,      DF,         DF
0xE2: 2D,   2C,      2D,2C,               2E,2F,30,31,32,33,34,   35,   36,         37,         38,               39,               39
0xE3: 2D,                        2C,         2E,   31,   32,34,   35,   36,               37,   38,               39,               39
0xE8: 44,            3F,3D,3C,3D,      3F,98,32,FF,   00,FF,01,FF,01,00,01,05,03,FF,FE,FD,      FF,FE,FF,FE,00,FE,   FF,   FE,00,FE,FF
0xE9: 03,                                 02,   01,   02,01,02,01,02,            01,                        02,01,            02,01,01
0xEC: 02,                              04,05,                                                                                       05
0xEE: 3A,31,            35,31,         44,47,48,49,4A,4B,   4C,4D,   4E,         4F,         50,            51,   50,51,            51

cool down

0x92: ...,CC,CD,CB,CA,CE,CB,CC,CD,CA,CD,CC,CB,CE,CB,CC,CD,CB,CD,   CC,            CD,         CB,CC,   CD,CC,         CD,CC,   CD,   CE,CB,CC,CB,CC,   CD,   CC,   CD,   CC,            CD,CB,CC,CD,CB,CC,   CB
0x9C: ...,DE,   DD,            DC,            DB,      DA,   D9,      D8,      D7,   D6,      D5,   D4,   D3,   D2,   D1,   D0,CF,   CE,CD,   CC,CB,   CA,      C9,   C8,   C7,      C6,   C5,         C4,   C4
0xE2: ...,33,32,31,   30,   2F,   2E,2D,      2C,         2B,            2A,               29,            28,                  27,         28,                                                               28
0xE3: ...,34,   32,31,   30,   2F,   2D,         2C,         2B,         2A,               29,               28,                  27,               28,               27,   28,                              28
0xE8: ...,5D,5C,A2,A1,A3,A5,   A6,   DE,4A,39,3B,   39,   3A,            3B,3A,      3B,3D,33,44,3B,39,3B,3C,39,3C,65,4F,2D,33,3F,30,2A,3C,42,2A,30,48,35,2F,39,3A,      3B,39,3B,   39,37,3A,3B,   39,3B,39,3C
0xE9: ...,02,                           03,                                                                           04,                                                                                    04
0xEC: ...,04,03,                     02,                                                                           01,                                                                                       01
0xED: ...,01,                                                                                                                  00,                                                                           00
0xEE: ...,37,36,   35,   34,   33,   32,   31,      30,         2F,                  2E,         2D,               2C,                        2D,      2C,               2D,   2C,   2D,2C,2D,               2E

i have noticed that 0xEC changes between 1 and 6 as fan speeds up.

hirschmann commented 7 years ago

Have you tried setting 0xEC to some value between 1 to 6?

mcku commented 7 years ago

Yes. I have used ./ec -w 0xEC -v 0x06 to set the register when its value was 1, that is cold. The fan immediately spins up. But later it starts to slow down automatically.

#./ec -h 
Usage:
1) ec -r [-s sleep]
2) ec -b byte_offset
3) ec -w byte_offset -v value

    -r [-s sleep]      : Dump EC registers
                         If sleep is given, sleep x seconds,
                         re-read EC registers and show changes
    -b offset          : Read value at byte_offset (in hex)
    -w offset -v value : Write value at byte_offset
    -h                 : Print this help

Offsets and values are in hexadecimal number system.
The offset and value must be between 0 and 0xff.
# ./ec -b 0xec
0x01
# ./ec -w 0xec -v 0x06
# ./ec -b 0xec
0x06

sudo mono ec-probe.exe monitor -i 1 -c

0x90: ...,07,                                                                                                                                                                                 07
0x92: ...,0F,E5,2F,14,3B,4E,18,3A,34,4C,42,1C,45,3A,06,3D,47,3B,35,16,EA,E3,62,D6,30,16,F7,07,C7,FE,DB,EB,0A,DA,17,FB,FF,1C,19,0D,66,00,F7,6E,43,93,EF,F0,B8,E1,EC,E4,E5,AB,A2,41,B2,D2,A8,E9,E7
0x93: ...,31,30,   31,                                                30,            31,30,31,30,         31,30,31,30,   31,      30,                                                         30
0x94: ...,E5,   E4,E3,      E2,   E1,   E0,   DF,   DE,   DD,   DC,   DB,   DA,         D9,         D8,      D7,            D6,      D5,         D4,         D3,      D2,            D1,      D0
0x95: ...,00,                                                                                                                                                                                 00
0x9A: ...,13,47,DF,D1,79,76,82,0C,44,98,8C,F1,57,7D,EE,7B,A1,74,57,95,FE,D8,5C,F0,87,7E,2B,40,62,5C,E2,AB,4E,BE,53,28,70,35,41,77,84,12,77,72,B7,30,9F,7B,AC,2B,4E,37,2F,9F,A4,29,6C,3E,E0,FD,77
0x9B: ...,FA,F9,   F8,FA,   F9,FA,         F9,FA,   F9,FA,         F9,F8,F9,F8,      FA,            F9,         FA,   F9,FA,      F9,F7,FA,F9,F8,F9,FA,   F9,FA,         F9,      F8,FA,F9,   FA
0x9C: ...,D4,                     D5,                              D6,                                    D7,                                    D8,                                    D9,   D9
0xE2: ...,29,                                                                                                                                                         28,   29,28,29,28,      28
0xE3: ...,29,                                                                                                                                                                  28,            28
0xE8: ...,3B,3A,      3B,3A,3B,38,   39,   36,   37,B2,77,44,17,F0,CE,AE,80,8F,A9,C6,E6,0A,42,46,44,3E,      3C,   3E,3C,         3E,   3C,   3E,   3C,3E,3C,3E,3C,3E,   3B,3C,3E,   3C,3B,3C,3D
0xE9: ...,04,                                       03,         02,                     03,                                                                                                   03
0xEC: ...,01,                                    06,                     02,                                                                                                                  02
0xEE: ...,2F,            2E,2F,2E,                                 2F,   2E,2F,      2E,                                    2D,2E,2F,30,2E,   2F,2E,                           2F,   2E,   2D,2D
mcku commented 7 years ago

I have noticed something. when fan speed level is set using the 0xEC, it keeps its new value until 0xEE is updated. For instance, update 0xEC to 0x06 from 0x02. Then 0xEE decreases at some point. As soon as that happens, 0xEC is set a new value, according to a policy by some other controller I think. It can be inferred that 0xEE represents the temperature.

0x92: FB,FE,FD,FC,FD,FF,00,01,03,01,05,04,   06,08,09,   08,0C,0D,0A,0D,0E,0F,0E,11,12,13
0x93: 36,               37,                                                            37
0x94: F1,F2,   F3,   F4,F5,      F6,   F7,   F8,F9,   FA,   FB,FC,   FD,      FE,   FF,00
0x95: 00,                                                                              01
0xE2: 2A,                                                         29,                  29
0xE3: 2A,                                                                           29,29
0xE8: 37,   39,37,   13,CF,AF,96,7D,65,53,42,20,10,04,F8,EC,E2,D8,C4,BB,BC,C2,CA,D4,E8,F3
0xE9: 03,               02,                           01,                              01
0xEC: 02,      06,                                                      02,            02
0xEE: 36,30,   2F,                                                      2E,            2E
0xFA: 8C,90,8D,   96,93,   9A,   9F,9C,99,97,   9E,96,98,9E,96,9A,9B,95,96,94,9D,98,99,AD
mcku commented 7 years ago

Interestingly, I was able to successfully install the Nvidia proprietary optimus driver released Sep.21. Previous driver was not working. And guess what, after running multiple optirun glxspheres64, the second fan starts and other values pop up on the EC registers

0x0A: ...,DB,                                                                                                                                             AF,                                 AF
0x0B: ...,A3,                                                                                                                                                AE,                              AE
0x0C: ...,A5,                                                                                                                                                AF,                              AF
0x0D: ...,A0,                                                                                                                                                AE,                              AE
0x0E: ...,A3,                                                                                                                                                AF,                              AF
0x0F: ...,81,                                                                                                                           AE,                                                   AE
0x10: ...,DB,                                                                                                                           AF,                                                   AF
0x11: ...,81,                                                                                                                                             AE,                                 AE
0x90: ...,10,                                                                                                                                                            11,                  11
0x92: ...,5E,   5D,5E,60,61,   62,   65,63,65,66,64,66,   68,6A,68,6A,6B,      6C,6D,   6B,6E,6F,70,6F,71,72,73,74,   75,74,      77,78,            79,7A,      75,79,7C,7D,7B,7D,7E,   80,81,7E
0x94: ...,E1,   E2,E3,   E4,   E5,E6,   E7,   E8,   E9,   EA,   EB,   EC,   ED,EE,   EF,      F0,F1,   F2,   F3,F4,   F5,   F6,   F7,   F8,   F9,   FA,FB,   FC,   FD,   FE,   FF,   00,   01,01
0x95: ...,01,                                                                                                                                                                        02,      02
0x9A: ...,53,                                                                           52,   4D,53,52,            53,52,            50,4B,52,         42,44,3E,4A,43,45,42,43,3E,48,44,49,3D,42
0x9C: ...,FB,                                                                                                                                                                                 FB
0xE2: ...,2B,      2D,   2E,   2F,      30,      31,      30,   2F,            2E,   30,31,      32,   33,         34,      35,         36,            37,         38,         39,            3A
0xE3: ...,2B,                     2F,                     30,                                                   33,                     36,                        38,            39,         39
0xE8: ...,3D,3C,      3F,   1B,F4,B3,98,80,69,55,41,32,22,06,0E,1B,29,3B,4D,62,8E,A8,C4,B3,97,80,6A,53,51,   52,   51,53,50,52,53,52,51,50,43,31,22,11,FE,FC,   FB,F9,FC,FD,FB,   FC,FB,      FB
0xE9: ...,03,                  02,                                                                                                                     01,                                    01
0xEC: ...,02,            03,         05,                  03,               02,      03,04,                                             05,                                                   05
0xEE: ...,30,      3B,   40,   3D,3E,46,45,41,3E,40,43,   36,34,33,34,33,   32,   38,3E,41,42,      41,42,41,42,41,   45,44,42,43,   45,49,48,49,4B,44,4A,48,47,   48,4A,48,4A,49,4A,4C,4B,4A,49
0xFA: ...,99,91,D5,08,12,1D,11,06,17,16,1C,19,0B,1B,20,24,95,9C,86,8B,8F,96,95,88,FB,21,24,70,21,22,38,1A,15,32,37,18,33,45,20,2D,62,47,0C,31,0D,1D,2F,34,2A,   0D,2F,4C,D5,45,5C,72,5B,31,3F,41
0xFB: ...,00,      01,                                    00,                        01,                                                                                 00,01,               01
mcku commented 7 years ago

E2 should be the GPU temperature. But no idea about the fan speeds.

hirschmann commented 7 years ago

Controlling the GPU fan on a NVidia-Optimus enabled notebook could be a problem, see https://github.com/hirschmann/nbfc/wiki/FAQ#why-does-nbfc-stop-working-when-i-start-a-game

mcku commented 6 years ago

@glats Not really, I do not try to control the GPU fan as per @hirschmann suggests.

mcku commented 6 years ago

@glats Unfortunately, i do not have a config file at this time. I don't have an issue with the fan anymore.

mcku commented 6 years ago

@glats As far as I could remember, it was a problem when i first installed arch linux on the ROG laptop. The fan was terrible. But then after tweaking the system, it has gone away. And i am also getting a decent battery performance. I remember going through Arch linux power management for those. Also you can check if power management is enabled sufficiently using powertop, and even it can enable PM options.

VGerris commented 1 year ago

From Tonymacosx86 forum, for error Could not parse external ACPI tables, AE_ALREADY_EXISTS: Your files have embedded External opcodes. No need for -da. Disassemble with: iasl -dl DSDT.aml SSDT*.aml