UraniumDonut / nbfc-revive

NoteBook FanControl
Other
172 stars 25 forks source link

Can't find read and write register for Asus UX325EA #72

Open michisha1 opened 2 years ago

michisha1 commented 2 years ago

Hi, i tried to make nfc work with my Laptop to compensate for it's bad fan control. Therefore i've tried like all config's for Asus Laptops but no Config worked.

So i tried to to get the read and writing registers for this Laptop with the EC probing tool. I've tried to change some of the offsets that i got from the ec probing tool but nothing worked. I hope sb. can help me with this.

These were some of the Readings i got: EC-Readings.txt

I figuered out, that 0x0C was the temperature. It startet with no fan noise. Then with moderate prime95 the fan started spinning a little bit untill 0x0C at 37 then it went down again. After that and real stresstest with prime95 the temperature got up to like 85 to 90 degrees (0x0C = 45) and the fan ran at 100%. After that the fan slowly got slower until it stopped again at the End (0x0C = 24)

Sadly i wasn't able to figure out which one of the eh-registers was the read or write register ...

mfg Michael

michisha1 commented 2 years ago

After some more tests with the EC probing tool, i figuered out, that 0x08 or 0x60 are following the actual fan speed. The fans stopped exactly when 0x08 or 0x60 changed to 22. Before that 0x09 and 0x7f also change to 22, so i guess that they are the Registers for the target fan speed. I tried it several times and each time i got the same results. Here are some of the new readings. Ec-Register.txt

The problem is, that changing the value of register 0x09 or 0x7f didn't change the actual fan speeds, because 0x08 or 0x60 didn't respond to the changed values of Register 0x09 or 0x7f...

michisha1 commented 2 years ago

Now i also got the DSDT with RW, but i didnt discover the register to control the fan. The "qfan" register (0x61), which i discovered before with the ec-probing tool, is the one to switch between the standart (00), performance (02) and silent (01) fan mode. Perheps someone else can help me with this. DSDT.txt

In the SSDT i also found code for the Thermalzone and Fans, but unfortunately i dont understand it. Thermal zone, Fans (SSDT).txt

viktorxda commented 2 years ago

The values for the fan control are stored on SRAM2 (0xC200) which is not directly accessible by NBFC.

ec

However, we can use this ite-ec tool to adjust the fan speed values manually.

ite-ec /W /4E4F 0xC2D1 0x0A
ite-ec /W /4E4F 0xC2D2 0x0A
ite-ec /W /4E4F 0xC2D3 0x0A
ite-ec /W /4E4F 0xC2D4 0x0A
ite-ec /W /4E4F 0xC2D5 0x0A
ite-ec /W /4E4F 0xC2D6 0x0A
ite-ec /W /4E4F 0xC2D7 0x0A
ite-ec /W /4E4F 0xC2D8 0x0A
ite-ec /W /4E4F 0xC2D9 0x0A
ite-ec /W /4E4F 0xC2DA 0x0A
ite-ec /W /4E4F 0xC2DB 0x0A
ite-ec /W /4E4F 0xC2DC 0x0A
ite-ec /W /4E4F 0xC2DD 0x0A
ite-ec /W /4E4F 0xC2DE 0x0A

ec2

viktorxda commented 2 years ago

I noticed that the ACPI accesses the embedded controller via the shared memory interface:

dsdt

ec

The size of the window is controlled by HRAMW1S:

ec3

If the window size is increased from 256byte to 512byte it is possible to also access the fan control profile via memory:

ite-ec /W /4E4F 0x105E 0x05

ec2

michisha1 commented 1 year ago

Thanks for your Input! On my Asus the OperationRegion is different.

image

In the memory Interface i get almost the same values as in the EC-Controller. Especially the TSR1-5 are the same and the ec-controller follows the memory. So if i change the Memory value the ec also changes like 1-2 sec later... But this doesn't help.

image

With the increased window size (256byte to 512byte) i only see a full window of "FF"s.

Furthermore i found some SSDT lines were FAN1 and FNCL is mentioned...

SSDT 53 53 44 54 A2 0E 00 00 02 36 5F 41 53 55 53 5F SSDT.....6_ASUS_ 54 68 65 72 5F 52 76 70 00 10 00 00 49 4E 54 4C Ther_Rvp....INTL 18 10 19 20 A0 43 29 00 15 5C 2E 5F 53 42 5F 41 ... .C)..\._SB_A 50 53 56 00 00 15 5C 2E 5F 53 42 5F 41 43 52 54 PSV...\._SB_ACRT 00 00 15 5C 2E 5F 53 42 5F 41 41 43 30 00 00 15 ...\._SB_AAC0... 5C 2E 5F 53 42 5F 44 54 53 45 00 00 15 5C 2E 5F \._SB_DTSE...\._ 53 42 5F 50 4B 47 41 00 00 15 5C 2E 5F 53 42 5F SB_PKGA...\._SB_ 50 44 54 53 00 00 15 5C 2E 5F 53 42 5F 50 52 30 PDTS...\._SB_PR0 30 00 00 15 5C 2E 5F 53 42 5F 50 52 30 31 00 00 0...\._SB_PR01.. 15 5C 2E 5F 53 42 5F 50 52 30 32 00 00 15 5C 2E .\._SB_PR02...\. 5F 53 42 5F 50 52 30 33 00 00 15 5C 2E 5F 53 42 _SB_PR03...\._SB 5F 50 52 30 34 00 00 15 5C 2E 5F 53 42 5F 50 52 _PR04...\._SB_PR 30 35 00 00 15 5C 2E 5F 53 42 5F 50 52 30 36 00 05...\._SB_PR06. 00 15 5C 2E 5F 53 42 5F 50 52 30 37 00 00 15 5C ..\._SB_PR07...\ 2E 5F 53 42 5F 50 52 30 38 00 00 15 5C 2E 5F 53 ._SB_PR08...\._S 42 5F 50 52 30 39 00 00 15 5C 2E 5F 53 42 5F 50 B_PR09...\._SB_P 52 31 30 00 00 15 5C 2E 5F 53 42 5F 50 52 31 31 R10...\._SB_PR11 00 00 15 5C 2E 5F 53 42 5F 50 52 31 32 00 00 15 ...\._SB_PR12... 5C 2E 5F 53 42 5F 50 52 31 33 00 00 15 5C 2E 5F \._SB_PR13...\._ 53 42 5F 50 52 31 34 00 00 15 5C 2E 5F 53 42 5F SB_PR14...\._SB_ 50 52 31 35 00 00 15 5C 43 54 59 50 01 00 15 5C PR15...\CTYP...\ 54 43 4E 54 01 00 15 5C 56 46 4E 30 01 00 15 5C TCNT...\VFN0...\ 56 46 4E 31 01 00 15 5C 56 46 4E 32 01 00 15 5C VFN1...\VFN2...\ 56 46 4E 33 01 00 15 5C 56 46 4E 34 01 00 15 5C VFN3...\VFN4...\ 45 43 4F 4E 01 00 15 5C 41 43 30 46 01 00 15 5C ECON...\AC0F...\ 41 43 31 46 01 00 15 5C 43 52 54 54 01 00 15 5C AC1F...\CRTT...\ 50 53 56 54 01 00 15 5C 41 43 54 54 01 00 15 5C PSVT...\ACTT...\ 41 43 54 31 01 00 15 5C 54 43 31 56 01 00 15 5C ACT1...\TC1V...\ 54 43 32 56 01 00 15 5C 54 53 50 56 01 00 15 5C TC2V...\TSPV...\ 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 48 5F /._SB_PC00LPCBH_ 45 43 45 43 41 56 01 00 15 5C 2F 05 5F 53 42 5F ECECAV...\/._SB_ 50 43 30 30 4C 50 43 42 48 5F 45 43 45 43 52 44 PC00LPCBH_ECECRD 08 01 15 5C 2F 05 5F 53 42 5F 50 43 30 30 4C 50 ...\/._SB_PC00LP 43 42 48 5F 45 43 45 43 57 54 08 02 15 5C 2F 05 CBH_ECECWT...\/. 5F 53 42 5F 50 43 30 30 4C 50 43 42 48 5F 45 43 _SB_PC00LPCBH_EC 45 43 4D 44 08 01 15 5C 2F 05 5F 53 42 5F 50 43 ECMD...\/._SB_PC 30 30 4C 50 43 42 48 5F 45 43 50 45 4E 56 05 00 00LPCBH_ECPENV.. 15 5C 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 .\/._SB_PC00LPCB 48 5F 45 43 50 45 43 48 05 00 15 5C 2F 05 5F 53 H_ECPECH...\/._S 42 5F 50 43 30 30 4C 50 43 42 48 5F 45 43 50 45 B_PC00LPCBH_ECPE 43 4C 05 00 15 5C 2F 05 5F 53 42 5F 50 43 30 30 CL...\/._SB_PC00 4C 50 43 42 48 5F 45 43 50 4C 4D 58 05 00 15 5C LPCBH_ECPLMX...\ 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 48 5F /._SB_PC00LPCBH_ 45 43 54 53 52 35 05 00 10 49 BE 5C 5F 54 5A 5F ECTSR5...I.\_TZ_ 08 45 54 4D 44 01 5B 02 46 43 45 54 08 46 43 52 .ETMD.[.FCET.FCR 4E 00 5B 01 46 43 4D 54 00 08 43 56 46 30 00 08 N.[.FCMT..CVF0.. 43 56 46 31 00 08 43 56 46 32 00 08 43 56 46 33 CVF1..CVF2..CVF3 00 08 43 56 46 34 00 5B 01 46 4D 54 30 00 5B 01 ..CVF4.[.FMT0.[. 46 4D 54 31 00 5B 01 46 4D 54 32 00 5B 01 46 4D FMT1.[.FMT2.[.FM 54 33 00 5B 01 46 4D 54 34 00 5B 84 4C 07 46 4E T3.[.FMT4.[.L.FN 30 30 00 00 00 14 26 5F 53 54 41 08 70 00 61 70 00....&_STA.p.ap 5B 23 46 4D 54 30 E8 03 60 A0 10 93 60 00 70 43 [#FMT0..`...`.pC 56 46 30 61 5B 27 46 4D 54 30 A4 61 14 25 5F 4F VF0a['FMT0.a.%_O 4E 5F 08 70 5B 23 46 4D 54 30 E8 03 60 A0 10 93 N_.p[#FMT0..`... 60 00 70 01 43 56 46 30 5B 27 46 4D 54 30 46 4E `.p.CVF0['FMT0FN 43 4C 14 25 5F 4F 46 46 08 70 5B 23 46 4D 54 30 CL.%_OFF.p[#FMT0 E8 03 60 A0 10 93 60 00 70 00 43 56 46 30 5B 27 ..`...`.p.CVF0[' 46 4D 54 30 46 4E 43 4C 5B 82 2A 46 41 4E 30 08 FMT0FNCL[.*FAN0. 5F 48 49 44 0C 41 D0 0C 0B 08 5F 55 49 44 00 08 _HID.A...._UID.. 5F 50 52 30 12 06 01 46 4E 30 30 14 08 5F 53 54 _PR0...FN00.._ST 41 08 A4 00 5B 84 4C 07 46 4E 30 31 00 00 00 14 A...[.L.FN01.... 26 5F 53 54 41 08 70 00 61 70 5B 23 46 4D 54 31 &_STA.p.ap[#FMT1 E8 03 60 A0 10 93 60 00 70 43 56 46 31 61 5B 27 ..`...`.pCVF1a[' 46 4D 54 31 A4 61 14 25 5F 4F 4E 5F 08 70 5B 23 FMT1.a.%_ON_.p[# 46 4D 54 31 E8 03 60 A0 10 93 60 00 70 01 43 56 FMT1..`...`.p.CV 46 31 5B 27 46 4D 54 31 46 4E 43 4C 14 25 5F 4F F1['FMT1FNCL.%_O 46 46 08 70 5B 23 46 4D 54 31 E8 03 60 A0 10 93 FF.p[#FMT1..`... 60 00 70 00 43 56 46 31 5B 27 46 4D 54 31 46 4E `.p.CVF1['FMT1FN 43 4C 5B 82 2A 46 41 4E 31 08 5F 48 49 44 0C 41 CL[.*FAN1._HID.A D0 0C 0B 08 5F 55 49 44 01 08 5F 50 52 30 12 06 ...._UID.._PR0.. 01 46 4E 30 31 14 08 5F 53 54 41 08 A4 00 5B 84 .FN01.._STA...[. 4C 07 46 4E 30 32 00 00 00 14 26 5F 53 54 41 08 L.FN02....&_STA. 70 00 61 70 5B 23 46 4D 54 32 E8 03 60 A0 10 93 p.ap[#FMT2..`... 60 00 70 43 56 46 32 61 5B 27 46 4D 54 32 A4 61 `.pCVF2a['FMT2.a 14 25 5F 4F 4E 5F 08 70 5B 23 46 4D 54 32 E8 03 .%_ON_.p[#FMT2.. 60 A0 10 93 60 00 70 01 43 56 46 32 5B 27 46 4D `...`.p.CVF2['FM 54 32 46 4E 43 4C 14 25 5F 4F 46 46 08 70 5B 23 T2FNCL.%_OFF.p[# 46 4D 54 32 E8 03 60 A0 10 93 60 00 70 00 43 56 FMT2..`...`.p.CV 46 32 5B 27 46 4D 54 32 46 4E 43 4C 5B 82 2B 46 F2['FMT2FNCL[.+F 41 4E 32 08 5F 48 49 44 0C 41 D0 0C 0B 08 5F 55 AN2._HID.A...._U 49 44 0A 02 08 5F 50 52 30 12 06 01 46 4E 30 32 ID..._PR0...FN02 14 08 5F 53 54 41 08 A4 00 5B 84 4C 07 46 4E 30 .._STA...[.L.FN0 33 00 00 00 14 26 5F 53 54 41 08 70 00 61 70 5B 3....&_STA.p.ap[ 23 46 4D 54 33 E8 03 60 A0 10 93 60 00 70 43 56 #FMT3..`...`.pCV 46 33 61 5B 27 46 4D 54 33 A4 61 14 25 5F 4F 4E F3a['FMT3.a.%_ON 5F 08 70 5B 23 46 4D 54 33 E8 03 60 A0 10 93 60 _.p[#FMT3..`...` 00 70 01 43 56 46 33 5B 27 46 4D 54 33 46 4E 43 .p.CVF3['FMT3FNC 4C 14 25 5F 4F 46 46 08 70 5B 23 46 4D 54 33 E8 L.%_OFF.p[#FMT3. 03 60 A0 10 93 60 00 70 00 43 56 46 33 5B 27 46 .`...`.p.CVF3['F 4D 54 33 46 4E 43 4C 5B 82 2B 46 41 4E 33 08 5F MT3FNCL[.+FAN3._ 48 49 44 0C 41 D0 0C 0B 08 5F 55 49 44 0A 03 08 HID.A...._UID... 5F 50 52 30 12 06 01 46 4E 30 33 14 08 5F 53 54 _PR0...FN03.._ST 41 08 A4 00 5B 84 4C 07 46 4E 30 34 00 00 00 14 A...[.L.FN04.... 26 5F 53 54 41 08 70 00 61 70 5B 23 46 4D 54 34 &_STA.p.ap[#FMT4 E8 03 60 A0 10 93 60 00 70 43 56 46 34 61 5B 27 ..`...`.pCVF4a[' 46 4D 54 34 A4 61 14 25 5F 4F 4E 5F 08 70 5B 23 FMT4.a.%_ON_.p[# 46 4D 54 34 E8 03 60 A0 10 93 60 00 70 01 43 56 FMT4..`...`.p.CV 46 34 5B 27 46 4D 54 34 46 4E 43 4C 14 25 5F 4F F4['FMT4FNCL.%_O 46 46 08 70 5B 23 46 4D 54 34 E8 03 60 A0 10 93 FF.p[#FMT4..`... 60 00 70 00 43 56 46 34 5B 27 46 4D 54 34 46 4E `.p.CVF4['FMT4FN 43 4C 5B 82 2B 46 41 4E 34 08 5F 48 49 44 0C 41 CL[.+FAN4._HID.A D0 0C 0B 08 5F 55 49 44 0A 04 08 5F 50 52 30 12 ...._UID..._PR0. 06 01 46 4E 30 34 14 08 5F 53 54 41 08 A4 00 14 ..FN04.._STA.... 40 1B 46 4E 43 4C 00 70 00 60 70 00 61 70 00 62 @.FNCL.p.`p.ap.b 70 00 63 70 00 64 70 5B 23 46 4D 54 30 E8 03 65 p.cp.dp[#FMT0..e A0 10 93 65 00 70 43 56 46 30 60 5B 27 46 4D 54 ...e.pCVF0`['FMT 30 70 5B 23 46 4D 54 31 E8 03 65 A0 10 93 65 00 0p[#FMT1..e...e. 70 43 56 46 31 61 5B 27 46 4D 54 31 70 5B 23 46 pCVF1a['FMT1p[#F 4D 54 32 E8 03 65 A0 10 93 65 00 70 43 56 46 32 MT2..e...e.pCVF2 62 5B 27 46 4D 54 32 70 5B 23 46 4D 54 33 E8 03 b['FMT2p[#FMT3.. 65 A0 10 93 65 00 70 43 56 46 33 63 5B 27 46 4D e...e.pCVF3c['FM 54 33 70 5B 23 46 4D 54 34 E8 03 65 A0 10 93 65 T3p[#FMT4..e...e 00 70 43 56 46 34 64 5B 27 46 4D 54 34 70 60 5C .pCVF4d['FMT4p`\ 56 46 4E 30 70 61 5C 56 46 4E 31 70 62 5C 56 46 VFN0pa\VFN1pb\VF 4E 32 70 63 5C 56 46 4E 33 70 64 5C 56 46 4E 34 N2pc\VFN3pd\VFN4 A0 4F 0E 5C 45 43 4F 4E A0 47 0E 90 5C 2F 05 5F .O.\ECON.G..\/._ 53 42 5F 50 43 30 30 4C 50 43 42 48 5F 45 43 45 SB_PC00LPCBH_ECE 43 41 56 45 54 4D 44 A0 3D 90 92 93 60 00 92 93 CAVETMD.=...`... 61 00 5C 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 a.\/._SB_PC00LPC 42 48 5F 45 43 45 43 57 54 41 43 30 46 71 5C 2F BH_ECECWTAC0Fq\/ 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 48 5F 45 ._SB_PC00LPCBH_E 43 50 45 4E 56 A1 41 07 A0 3C 90 93 60 00 92 93 CPENV.A..<..`... 61 00 5C 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 a.\/._SB_PC00LPC 42 48 5F 45 43 45 43 57 54 41 43 31 46 71 5C 2F BH_ECECWTAC1Fq\/ 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 48 5F 45 ._SB_PC00LPCBH_E 43 50 45 4E 56 A1 31 5C 2F 05 5F 53 42 5F 50 43 CPENV.1\/._SB_PC 30 30 4C 50 43 42 48 5F 45 43 45 43 57 54 00 71 00LPCBH_ECECWT.q 5C 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 48 \/._SB_PC00LPCBH 5F 45 43 50 45 4E 56 5C 2F 05 5F 53 42 5F 50 43 _ECPENV\/._SB_PC 30 30 4C 50 43 42 48 5F 45 43 45 43 4D 44 0A 1A 00LPCBH_ECECMD.. 5B 85 40 68 54 5A 30 30 08 50 54 4D 50 0B B8 0B [.@hTZ00.PTMP... 14 0D 5F 53 43 50 09 70 68 5C 43 54 59 50 14 0A .._SCP.ph\CTYP.. 5F 43 52 54 08 A4 0B 5C 0F 14 0A 5F 48 4F 54 08 _CRT...\..._HOT. A4 0B 8A 0E 14 48 04 5F 41 43 30 08 A0 31 5B 12 .....H._AC0..1[. 5C 2E 5F 53 42 5F 41 41 43 30 00 A0 22 92 93 5C \._SB_AAC0.."..\ 2E 5F 53 42 5F 41 41 43 30 00 A4 72 0B AC 0A 77 ._SB_AAC0..r...w 5C 2E 5F 53 42 5F 41 41 43 30 0A 0A 00 00 A4 72 \._SB_AAC0.....r 0B AC 0A 77 5C 41 43 54 54 0A 0A 00 00 14 15 5F ...w\ACTT......_ 41 43 31 08 A4 72 0B AC 0A 77 5C 41 43 54 31 0A AC1..r...w\ACT1. 0A 00 00 14 19 5F 41 43 32 08 A4 74 72 0B AC 0A ....._AC2..tr... 77 5C 41 43 54 31 0A 0A 00 00 0A 32 00 14 19 5F w\ACT1.....2..._ 41 43 33 08 A4 74 72 0B AC 0A 77 5C 41 43 54 31 AC3..tr...w\ACT1 0A 0A 00 00 0A 64 00 14 19 5F 41 43 34 08 A4 74 .....d..._AC4..t 72 0B AC 0A 77 5C 41 43 54 31 0A 0A 00 00 0A 96 r...w\ACT1...... 00 08 5F 41 4C 30 12 06 01 46 41 4E 30 08 5F 41 .._AL0...FAN0._A 4C 31 12 06 01 46 41 4E 31 08 5F 41 4C 32 12 06 L1...FAN1._AL2.. 01 46 41 4E 32 08 5F 41 4C 33 12 06 01 46 41 4E .FAN2._AL3...FAN 33 08 5F 41 4C 34 12 06 01 46 41 4E 34 14 41 0D 3._AL4...FAN4.A. 5F 54 4D 50 08 A0 0A 92 45 54 4D 44 A4 0B B8 0B _TMP....ETMD.... A0 2C 5B 12 5C 2E 5F 53 42 5F 44 54 53 45 00 A0 .,[.\._SB_DTSE.. 1D 93 5C 2E 5F 53 42 5F 44 54 53 45 0A 03 A4 72 ..\._SB_DTSE...r 0B 10 0B 77 5C 43 52 54 54 0A 0A 00 00 A0 30 5B ...w\CRTT.....0[ 12 5C 2E 5F 53 42 5F 44 54 53 45 00 A0 21 93 5C .\._SB_DTSE..!.\ 2E 5F 53 42 5F 44 54 53 45 01 A4 72 0B AC 0A 77 ._SB_DTSE..r...w 5C 2E 5F 53 42 5F 50 44 54 53 0A 0A 00 00 A0 4C \._SB_PDTS.....L 05 5C 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 .\/._SB_PC00LPCB 48 5F 45 43 45 43 41 56 70 5C 2F 05 5F 53 42 5F H_ECECAVp\/._SB_ 50 43 30 30 4C 50 43 42 48 5F 45 43 45 43 52 44 PC00LPCBH_ECECRD 71 5C 2F 05 5F 53 42 5F 50 43 30 30 4C 50 43 42 q\/._SB_PC00LPCB 48 5F 45 43 54 53 52 35 60 72 0B AC 0A 77 60 0A H_ECTSR5`r...w`. 0A 00 60 70 60 50 54 4D 50 A4 60 A4 0B C2 0B 14 ..`p`PTMP.`..... 42 42 58 50 53 4C 08 A0 4F 0A 93 5C 54 43 4E 54 BBXPSL..O..\TCNT 0A 10 A4 12 43 0A 10 5C 2E 5F 53 42 5F 50 52 30 ....C..\._SB_PR0 30 5C 2E 5F 53 42 5F 50 52 30 31 5C 2E 5F 53 42 0\._SB_PR01\._SB 5F 50 52 30 32 5C 2E 5F 53 42 5F 50 52 30 33 5C _PR02\._SB_PR03\ 2E 5F 53 42 5F 50 52 30 34 5C 2E 5F 53 42 5F 50 ._SB_PR04\._SB_P 52 30 35 5C 2E 5F 53 42 5F 50 52 30 36 5C 2E 5F R05\._SB_PR06\._ 53 42 5F 50 52 30 37 5C 2E 5F 53 42 5F 50 52 30 SB_PR07\._SB_PR0 38 5C 2E 5F 53 42 5F 50 52 30 39 5C 2E 5F 53 42 8\._SB_PR09\._SB 5F 50 52 31 30 5C 2E 5F 53 42 5F 50 52 31 31 5C _PR10\._SB_PR11\ 2E 5F 53 42 5F 50 52 31 32 5C 2E 5F 53 42 5F 50 ._SB_PR12\._SB_P 52 31 33 5C 2E 5F 53 42 5F 50 52 31 34 5C 2E 5F R13\._SB_PR14\._ 53 42 5F 50 52 31 35 A0 4B 09 93 5C 54 43 4E 54 SB_PR15.K..\TCNT 0A 0E A4 12 4F 08 0E 5C 2E 5F 53 42 5F 50 52 30 ....O..\._SB_PR0 30 5C 2E 5F 53 42 5F 50 52 30 31 5C 2E 5F 53 42 0\._SB_PR01\._SB 5F 50 52 30 32 5C 2E 5F 53 42 5F 50 52 30 33 5C _PR02\._SB_PR03\ 2E 5F 53 42 5F 50 52 30 34 5C 2E 5F 53 42 5F 50 ._SB_PR04\._SB_P 52 30 35 5C 2E 5F 53 42 5F 50 52 30 36 5C 2E 5F R05\._SB_PR06\._ 53 42 5F 50 52 30 37 5C 2E 5F 53 42 5F 50 52 30 SB_PR07\._SB_PR0 38 5C 2E 5F 53 42 5F 50 52 30 39 5C 2E 5F 53 42 8\._SB_PR09\._SB 5F 50 52 31 30 5C 2E 5F 53 42 5F 50 52 31 31 5C _PR10\._SB_PR11\ 2E 5F 53 42 5F 50 52 31 32 5C 2E 5F 53 42 5F 50 ._SB_PR12\._SB_P 52 31 33 A0 47 08 93 5C 54 43 4E 54 0A 0C A4 12 R13.G..\TCNT.... 4B 07 0C 5C 2E 5F 53 42 5F 50 52 30 30 5C 2E 5F K..\._SB_PR00\._ 53 42 5F 50 52 30 31 5C 2E 5F 53 42 5F 50 52 30 SB_PR01\._SB_PR0 32 5C 2E 5F 53 42 5F 50 52 30 33 5C 2E 5F 53 42 2\._SB_PR03\._SB 5F 50 52 30 34 5C 2E 5F 53 42 5F 50 52 30 35 5C _PR04\._SB_PR05\ 2E 5F 53 42 5F 50 52 30 36 5C 2E 5F 53 42 5F 50 ._SB_PR06\._SB_P 52 30 37 5C 2E 5F 53 42 5F 50 52 30 38 5C 2E 5F R07\._SB_PR08\._ 53 42 5F 50 52 30 39 5C 2E 5F 53 42 5F 50 52 31 SB_PR09\._SB_PR1 30 5C 2E 5F 53 42 5F 50 52 31 31 A0 43 07 93 5C 0\._SB_PR11.C..\ 54 43 4E 54 0A 0A A4 12 47 06 0A 5C 2E 5F 53 42 TCNT....G..\._SB 5F 50 52 30 30 5C 2E 5F 53 42 5F 50 52 30 31 5C _PR00\._SB_PR01\ 2E 5F 53 42 5F 50 52 30 32 5C 2E 5F 53 42 5F 50 ._SB_PR02\._SB_P 52 30 33 5C 2E 5F 53 42 5F 50 52 30 34 5C 2E 5F R03\._SB_PR04\._ 53 42 5F 50 52 30 35 5C 2E 5F 53 42 5F 50 52 30 SB_PR05\._SB_PR0 36 5C 2E 5F 53 42 5F 50 52 30 37 5C 2E 5F 53 42 6\._SB_PR07\._SB 5F 50 52 30 38 5C 2E 5F 53 42 5F 50 52 30 39 A0 _PR08\._SB_PR09. 4F 05 93 5C 54 43 4E 54 0A 08 A4 12 43 05 08 5C O..\TCNT....C..\ 2E 5F 53 42 5F 50 52 30 30 5C 2E 5F 53 42 5F 50 ._SB_PR00\._SB_P 52 30 31 5C 2E 5F 53 42 5F 50 52 30 32 5C 2E 5F R01\._SB_PR02\._ 53 42 5F 50 52 30 33 5C 2E 5F 53 42 5F 50 52 30 SB_PR03\._SB_PR0 34 5C 2E 5F 53 42 5F 50 52 30 35 5C 2E 5F 53 42 4\._SB_PR05\._SB 5F 50 52 30 36 5C 2E 5F 53 42 5F 50 52 30 37 A0 _PR06\._SB_PR07. 45 05 93 5C 54 43 4E 54 0A 07 A4 12 49 04 07 5C E..\TCNT....I..\ 2E 5F 53 42 5F 50 52 30 30 5C 2E 5F 53 42 5F 50 ._SB_PR00\._SB_P 52 30 31 5C 2E 5F 53 42 5F 50 52 30 32 5C 2E 5F R01\._SB_PR02\._ 53 42 5F 50 52 30 33 5C 2E 5F 53 42 5F 50 52 30 SB_PR03\._SB_PR0 34 5C 2E 5F 53 42 5F 50 52 30 35 5C 2E 5F 53 42 4\._SB_PR05\._SB 5F 50 52 30 36 A0 4A 04 93 5C 54 43 4E 54 0A 06 _PR06.J..\TCNT.. A4 12 3E 06 5C 2E 5F 53 42 5F 50 52 30 30 5C 2E ..>.\._SB_PR00\. 5F 53 42 5F 50 52 30 31 5C 2E 5F 53 42 5F 50 52 _SB_PR01\._SB_PR 30 32 5C 2E 5F 53 42 5F 50 52 30 33 5C 2E 5F 53 02\._SB_PR03\._S 42 5F 50 52 30 34 5C 2E 5F 53 42 5F 50 52 30 35 B_PR04\._SB_PR05 A0 3F 93 5C 54 43 4E 54 0A 05 A4 12 34 05 5C 2E .?.\TCNT....4.\. 5F 53 42 5F 50 52 30 30 5C 2E 5F 53 42 5F 50 52 _SB_PR00\._SB_PR 30 31 5C 2E 5F 53 42 5F 50 52 30 32 5C 2E 5F 53 01\._SB_PR02\._S 42 5F 50 52 30 33 5C 2E 5F 53 42 5F 50 52 30 34 B_PR03\._SB_PR04 A0 35 93 5C 54 43 4E 54 0A 04 A4 12 2A 04 5C 2E .5.\TCNT....*.\. 5F 53 42 5F 50 52 30 30 5C 2E 5F 53 42 5F 50 52 _SB_PR00\._SB_PR 30 31 5C 2E 5F 53 42 5F 50 52 30 32 5C 2E 5F 53 01\._SB_PR02\._S 42 5F 50 52 30 33 A0 2B 93 5C 54 43 4E 54 0A 03 B_PR03.+.\TCNT.. A4 12 20 03 5C 2E 5F 53 42 5F 50 52 30 30 5C 2E .. .\._SB_PR00\. 5F 53 42 5F 50 52 30 31 5C 2E 5F 53 42 5F 50 52 _SB_PR01\._SB_PR 30 32 A0 21 93 5C 54 43 4E 54 0A 02 A4 12 16 02 02.!.\TCNT...... 5C 2E 5F 53 42 5F 50 52 30 30 5C 2E 5F 53 42 5F \._SB_PR00\._SB_ 50 52 30 31 A4 12 0C 01 5C 2E 5F 53 42 5F 50 52 PR01....\._SB_PR 30 30 14 48 04 58 50 53 56 08 A0 31 5B 12 5C 2E 00.H.XPSV..1[.\. 5F 53 42 5F 41 50 53 56 00 A0 22 92 93 5C 2E 5F _SB_APSV.."..\._ 53 42 5F 41 50 53 56 00 A4 72 0B AC 0A 77 5C 2E SB_APSV..r...w\. 5F 53 42 5F 41 50 53 56 0A 0A 00 00 A4 72 0B AC _SB_APSV.....r.. 0A 77 5C 50 53 56 54 0A 0A 00 00 14 0C 58 54 43 .w\PSVT......XTC 31 08 A4 5C 54 43 31 56 14 0C 58 54 43 32 08 A4 1..\TC1V..XTC2.. 5C 54 43 32 56 14 0C 58 54 53 50 08 A4 5C 54 53 \TC2V..XTSP..\TS 50 56 PV Signature "SSDT" Length 0x00000EA2 (3746) Revision 0x02 (2) Checksum 0x36 (54) OEM ID "_ASUS_" OEM Table ID "Ther_Rvp" OEM Revision 0x00001000 (4096) Creator ID "INTL" Creator Revision 0x20191018 (538513432) DefinitionBlock ("SSDT.AML", "SSDT", 0x02, "_ASUS_", "Ther_Rvp", 0x00001000) { If(Zero) { External(\_SB.APSV, 0x00, 0x00) External(\_SB.ACRT, 0x00, 0x00) External(\_SB.AAC0, 0x00, 0x00) External(\_SB.DTSE, 0x00, 0x00) External(\_SB.PKGA, 0x00, 0x00) External(\_SB.PDTS, 0x00, 0x00) External(\_SB.PR00, 0x00, 0x00) External(\_SB.PR01, 0x00, 0x00) External(\_SB.PR02, 0x00, 0x00) External(\_SB.PR03, 0x00, 0x00) External(\_SB.PR04, 0x00, 0x00) External(\_SB.PR05, 0x00, 0x00) External(\_SB.PR06, 0x00, 0x00) External(\_SB.PR07, 0x00, 0x00) External(\_SB.PR08, 0x00, 0x00) External(\_SB.PR09, 0x00, 0x00) External(\_SB.PR10, 0x00, 0x00) External(\_SB.PR11, 0x00, 0x00) External(\_SB.PR12, 0x00, 0x00) External(\_SB.PR13, 0x00, 0x00) External(\_SB.PR14, 0x00, 0x00) External(\_SB.PR15, 0x00, 0x00) External(\CTYP, 0x01, 0x00) External(\TCNT, 0x01, 0x00) External(\VFN0, 0x01, 0x00) External(\VFN1, 0x01, 0x00) External(\VFN2, 0x01, 0x00) External(\VFN3, 0x01, 0x00) External(\VFN4, 0x01, 0x00) External(\ECON, 0x01, 0x00) External(\AC0F, 0x01, 0x00) External(\AC1F, 0x01, 0x00) External(\CRTT, 0x01, 0x00) External(\PSVT, 0x01, 0x00) External(\ACTT, 0x01, 0x00) External(\ACT1, 0x01, 0x00) External(\TC1V, 0x01, 0x00) External(\TC2V, 0x01, 0x00) External(\TSPV, 0x01, 0x00) External(\_SB.PC00.LPCB.H_EC.ECAV, 0x01, 0x00) External(\_SB.PC00.LPCB.H_EC.ECRD, 0x08, 0x01) External(\_SB.PC00.LPCB.H_EC.ECWT, 0x08, 0x02) External(\_SB.PC00.LPCB.H_EC.ECMD, 0x08, 0x01) External(\_SB.PC00.LPCB.H_EC.PENV, 0x05, 0x00) External(\_SB.PC00.LPCB.H_EC.PECH, 0x05, 0x00) External(\_SB.PC00.LPCB.H_EC.PECL, 0x05, 0x00) External(\_SB.PC00.LPCB.H_EC.PLMX, 0x05, 0x00) External(\_SB.PC00.LPCB.H_EC.TSR5, 0x05, 0x00) } Scope(\_TZ) { Name(ETMD, One) Event(FCET) Name(FCRN, Zero) Mutex(FCMT, 0) Name(CVF0, Zero) Name(CVF1, Zero) Name(CVF2, Zero) Name(CVF3, Zero) Name(CVF4, Zero) Mutex(FMT0, 0) Mutex(FMT1, 0) Mutex(FMT2, 0) Mutex(FMT3, 0) Mutex(FMT4, 0) PowerResource(FN00, 0, 0) { Method(_STA, 0, Serialized) { Store(Zero, Local1) Store(Acquire(FMT0, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(CVF0, Local1) Release(FMT0) } Return(Local1) } Method(_ON, 0, Serialized) { Store(Acquire(FMT0, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(One, CVF0) Release(FMT0) } FNCL() } Method(_OFF, 0, Serialized) { Store(Acquire(FMT0, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(Zero, CVF0) Release(FMT0) } FNCL() } } Device(FAN0) { Name(_HID, EISAID("PNP0C0B")) Name(_UID, Zero) Name(_PR0, Package(1) {FN00}) Method(_STA, 0, Serialized) { Return(Zero) } } PowerResource(FN01, 0, 0) { Method(_STA, 0, Serialized) { Store(Zero, Local1) Store(Acquire(FMT1, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(CVF1, Local1) Release(FMT1) } Return(Local1) } Method(_ON, 0, Serialized) { Store(Acquire(FMT1, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(One, CVF1) Release(FMT1) } FNCL() } Method(_OFF, 0, Serialized) { Store(Acquire(FMT1, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(Zero, CVF1) Release(FMT1) } FNCL() } } Device(FAN1) { Name(_HID, EISAID("PNP0C0B")) Name(_UID, One) Name(_PR0, Package(1) {FN01}) Method(_STA, 0, Serialized) { Return(Zero) } } PowerResource(FN02, 0, 0) { Method(_STA, 0, Serialized) { Store(Zero, Local1) Store(Acquire(FMT2, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(CVF2, Local1) Release(FMT2) } Return(Local1) } Method(_ON, 0, Serialized) { Store(Acquire(FMT2, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(One, CVF2) Release(FMT2) } FNCL() } Method(_OFF, 0, Serialized) { Store(Acquire(FMT2, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(Zero, CVF2) Release(FMT2) } FNCL() } } Device(FAN2) { Name(_HID, EISAID("PNP0C0B")) Name(_UID, 0x02) Name(_PR0, Package(1) {FN02}) Method(_STA, 0, Serialized) { Return(Zero) } } PowerResource(FN03, 0, 0) { Method(_STA, 0, Serialized) { Store(Zero, Local1) Store(Acquire(FMT3, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(CVF3, Local1) Release(FMT3) } Return(Local1) } Method(_ON, 0, Serialized) { Store(Acquire(FMT3, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(One, CVF3) Release(FMT3) } FNCL() } Method(_OFF, 0, Serialized) { Store(Acquire(FMT3, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(Zero, CVF3) Release(FMT3) } FNCL() } } Device(FAN3) { Name(_HID, EISAID("PNP0C0B")) Name(_UID, 0x03) Name(_PR0, Package(1) {FN03}) Method(_STA, 0, Serialized) { Return(Zero) } } PowerResource(FN04, 0, 0) { Method(_STA, 0, Serialized) { Store(Zero, Local1) Store(Acquire(FMT4, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(CVF4, Local1) Release(FMT4) } Return(Local1) } Method(_ON, 0, Serialized) { Store(Acquire(FMT4, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(One, CVF4) Release(FMT4) } FNCL() } Method(_OFF, 0, Serialized) { Store(Acquire(FMT4, 0x03E8), Local0) If(LEqual(Local0, Zero)) { Store(Zero, CVF4) Release(FMT4) } FNCL() } } Device(FAN4) { Name(_HID, EISAID("PNP0C0B")) Name(_UID, 0x04) Name(_PR0, Package(1) {FN04}) Method(_STA, 0, Serialized) { Return(Zero) } } Method(FNCL, 0, NotSerialized) { Store(Zero, Local0) Store(Zero, Local1) Store(Zero, Local2) Store(Zero, Local3) Store(Zero, Local4) Store(Acquire(FMT0, 0x03E8), Local5) If(LEqual(Local5, Zero)) { Store(CVF0, Local0) Release(FMT0) } Store(Acquire(FMT1, 0x03E8), Local5) If(LEqual(Local5, Zero)) { Store(CVF1, Local1) Release(FMT1) } Store(Acquire(FMT2, 0x03E8), Local5) If(LEqual(Local5, Zero)) { Store(CVF2, Local2) Release(FMT2) } Store(Acquire(FMT3, 0x03E8), Local5) If(LEqual(Local5, Zero)) { Store(CVF3, Local3) Release(FMT3) } Store(Acquire(FMT4, 0x03E8), Local5) If(LEqual(Local5, Zero)) { Store(CVF4, Local4) Release(FMT4) } Store(Local0, \VFN0) Store(Local1, \VFN1) Store(Local2, \VFN2) Store(Local3, \VFN3) Store(Local4, \VFN4) If(\ECON) { If(LAnd(\_SB.PC00.LPCB.H_EC.ECAV, ETMD)) { If(LAnd(LNotEqual(Local0, Zero), LNotEqual(Local1, Zero))) { \_SB.PC00.LPCB.H_EC.ECWT(AC0F, RefOf(\_SB.PC00.LPCB.H_EC.PENV)) } Else { If(LAnd(LEqual(Local0, Zero), LNotEqual(Local1, Zero))) { \_SB.PC00.LPCB.H_EC.ECWT(AC1F, RefOf(\_SB.PC00.LPCB.H_EC.PENV)) } Else { \_SB.PC00.LPCB.H_EC.ECWT(Zero, RefOf(\_SB.PC00.LPCB.H_EC.PENV)) } } \_SB.PC00.LPCB.H_EC.ECMD(0x1A) } } } ThermalZone(TZ00) { Name(PTMP, 0x0BB8) Method(_SCP, 1, Serialized) { Store(Arg0, \CTYP) } Method(_CRT, 0, Serialized) { Return(0x0F5C) } Method(_HOT, 0, Serialized) { Return(0x0E8A) } Method(_AC0, 0, Serialized) { If(CondRefOf(\_SB.AAC0)) { If(LNotEqual(\_SB.AAC0, Zero)) { Return(Add(0x0AAC, Multiply(\_SB.AAC0, 0x0A))) } } Return(Add(0x0AAC, Multiply(\ACTT, 0x0A))) } Method(_AC1, 0, Serialized) { Return(Add(0x0AAC, Multiply(\ACT1, 0x0A))) } Method(_AC2, 0, Serialized) { Return(Subtract(Add(0x0AAC, Multiply(\ACT1, 0x0A)), 0x32)) } Method(_AC3, 0, Serialized) { Return(Subtract(Add(0x0AAC, Multiply(\ACT1, 0x0A)), 0x64)) } Method(_AC4, 0, Serialized) { Return(Subtract(Add(0x0AAC, Multiply(\ACT1, 0x0A)), 0x96)) } Name(_AL0, Package(1) {FAN0}) Name(_AL1, Package(1) {FAN1}) Name(_AL2, Package(1) {FAN2}) Name(_AL3, Package(1) {FAN3}) Name(_AL4, Package(1) {FAN4}) Method(_TMP, 0, Serialized) { If(LNot(ETMD)) { Return(0x0BB8) } If(CondRefOf(\_SB.DTSE)) { If(LEqual(\_SB.DTSE, 0x03)) { Return(Add(0x0B10, Multiply(\CRTT, 0x0A))) } } If(CondRefOf(\_SB.DTSE)) { If(LEqual(\_SB.DTSE, One)) { Return(Add(0x0AAC, Multiply(\_SB.PDTS, 0x0A))) } } If(\_SB.PC00.LPCB.H_EC.ECAV) { Store(\_SB.PC00.LPCB.H_EC.ECRD(RefOf(\_SB.PC00.LPCB.H_EC.TSR5)), Local0) Add(0x0AAC, Multiply(Local0, 0x0A), Local0) Store(Local0, PTMP) Return(Local0) } Return(0x0BC2) } Method(XPSL, 0, Serialized) { If(LEqual(\TCNT, 0x10)) { Return(Package(16) { \_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04, \_SB.PR05, \_SB.PR06, \_SB.PR07, \_SB.PR08, \_SB.PR09, \_SB.PR10, \_SB.PR11, \_SB.PR12, \_SB.PR13, \_SB.PR14, \_SB.PR15 }) } If(LEqual(\TCNT, 0x0E)) { Return(Package(14) { \_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04, \_SB.PR05, \_SB.PR06, \_SB.PR07, \_SB.PR08, \_SB.PR09, \_SB.PR10, \_SB.PR11, \_SB.PR12, \_SB.PR13 }) } If(LEqual(\TCNT, 0x0C)) { Return(Package(12) { \_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04, \_SB.PR05, \_SB.PR06, \_SB.PR07, \_SB.PR08, \_SB.PR09, \_SB.PR10, \_SB.PR11 }) } If(LEqual(\TCNT, 0x0A)) { Return(Package(10) { \_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04, \_SB.PR05, \_SB.PR06, \_SB.PR07, \_SB.PR08, \_SB.PR09 }) } If(LEqual(\TCNT, 0x08)) { Return(Package(8) { \_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04, \_SB.PR05, \_SB.PR06, \_SB.PR07 }) } If(LEqual(\TCNT, 0x07)) { Return(Package(7) { \_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04, \_SB.PR05, \_SB.PR06 }) } If(LEqual(\TCNT, 0x06)) { Return(Package(6) {\_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04, \_SB.PR05}) } If(LEqual(\TCNT, 0x05)) { Return(Package(5) {\_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03, \_SB.PR04}) } If(LEqual(\TCNT, 0x04)) { Return(Package(4) {\_SB.PR00, \_SB.PR01, \_SB.PR02, \_SB.PR03}) } If(LEqual(\TCNT, 0x03)) { Return(Package(3) {\_SB.PR00, \_SB.PR01, \_SB.PR02}) } If(LEqual(\TCNT, 0x02)) { Return(Package(2) {\_SB.PR00, \_SB.PR01}) } Return(Package(1) {\_SB.PR00}) } Method(XPSV, 0, Serialized) { If(CondRefOf(\_SB.APSV)) { If(LNotEqual(\_SB.APSV, Zero)) { Return(Add(0x0AAC, Multiply(\_SB.APSV, 0x0A))) } } Return(Add(0x0AAC, Multiply(\PSVT, 0x0A))) } Method(XTC1, 0, Serialized) { Return(\TC1V) } Method(XTC2, 0, Serialized) { Return(\TC2V) } Method(XTSP, 0, Serialized) { Return(\TSPV) } } } }
michisha1 commented 1 year ago

The values for the fan control are stored on SRAM2 (0xC200) which is not directly accessible by NBFC.

ec

May i ask, how to open that SRAM interface in PowerShell and how you figuered out which adresses are connected to the fancontrol? Did the values change with the fan behavoir?