seerge / g-helper

Lightweight Armoury Crate alternative for Asus laptops and ROG Ally. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models
https://seerge.github.io/g-helper/
GNU General Public License v3.0
6.97k stars 254 forks source link

XG Mobile power limit stuck #729

Closed Wolper321 closed 1 year ago

Wolper321 commented 1 year ago

Recently my XG Mobile stuck at 100w (should go to 165w in Turbo) and no tweaks in G-Helper can help it. I have tried changing the power modes, and CPU power limits but the only thing that helps is disconnecting XG Mobile and connecting it back. After this, all starts to work normally and the power limit starts to shift between the modes as intended. Unfortunately, if you restart the computer the problem will come back again.

Steps to reproduce the behaviour:

  1. Go to FurMark
  2. Click on "Start the stress test"
  3. Look at 100w

Deleting G-Helper and installing Armoury Crate with MyAsus back resolves the problem. What causes it seems to be a hard reset when you hold the power button for 10 sec or so (sometimes the laptop refuses to wake up).

Laptop model: ROG Flow X13 GV301RA OS: Win 11

I have tried different versions before and now switched to 0.94. log.txt

Wolper321 commented 1 year ago

@JoePavel do you have 100w problem even with AC ? you can just try that command as is

When activated with AC i always get 165w With Ghelper im stuck at 100w after reboot, deactivating/reactivating will put it back to 165w untill i reboot again

Exactly the same behaviour as mine. Good to hear that I am not alone. Seems like today is our glorious day because the magic command let it connect in AC-like way :D Probably need to get 3070/3080 and 4090 XGM owners to test if the command doesn't break their stuff.

seerge commented 1 year ago

@JoePavel then try with G-Helper and activate with that command

seerge commented 1 year ago

I have adjusted activation command in the app itself, so it will use 0x101 as parameter now

GHelper.zip

Wolper321 commented 1 year ago

I have adjusted activation command in the app itself, so it will use 0x101 as parameter now

GHelper.zip

Bild works nicely. Activating/Deactivating no issues. Custom fans work. Power limit adjusts. HUGE THANKS!

seerge commented 1 year ago

Good, now i need to test somehow if it still works for others. Cause you both here have 6850M , right ?

Wolper321 commented 1 year ago

Good, now i need to test somehow if it still works for others. Cause you both here have 6850M , right ?

Yes. XGM Model GC32L 6850M XT

JoePavel commented 1 year ago

Good, now i need to test somehow if it still works for others. Cause you both here have 6850M , right ?

6850m right, just tested and everything is working great!

I have 3 questions about ghelper that are unrelated to the XG mobile.

  1. Why does it always revert back to Eco mode instead of staying on the Standard mode?
  2. Would it be possible to have individual slider for SPL / SPPT and FPPT for the ROG ally.
  3. Is there any way we could undervolt / overclock the 6850M XT with Ghelper?
seerge commented 1 year ago

@JoePavel

  1. Cause this is something BIOS does, if you have Ally i assume it's not important for you
  2. Currently you have only SPL+SPPt merged (as SPPT is actually 2 minutes long, and i prefer to keep things a bit simpler).
  3. I don't think so
JoePavel commented 1 year ago

@JoePavel

  1. Cause this is something BIOS does, if you have Ally i assume it's not important for you
  2. Currently you have only SPL+SPPt merged (as SPPT is actually 2 minutes long, and i prefer to keep things a bit simpler).
  3. I don't think so
  1. Since we can't activate the XG in eco mode, it would just be a nice QOL to have it go to standard mode automatically instead of Eco. Could there be a check boxes in options so automatically go into standard mode upon booting Ghelper?
  2. Gotcha
  3. Gotcha
seerge commented 1 year ago

@JoePavel this build should allow activating XGMobile from Eco

GHelper.zip

seerge commented 1 year ago

@Wolper321 when XGM is not activated (but connected physically) do you see it somehow in device manager ?

As I'm not sure if running 0x101 command for ALL versions of XGM is a good idea ..

Wolper321 commented 1 year ago

@JoePavel

  1. Cause this is something BIOS does, if you have Ally i assume it's not important for you
  2. Currently you have only SPL+SPPt merged (as SPPT is actually 2 minutes long, and i prefer to keep things a bit simpler).
  3. I don't think so
1. Since we can't activate the XG in eco mode, it would just be a nice QOL to have it go to standard mode automatically instead of Eco. Could there be a check boxes in options so automatically go into standard mode upon booting Ghelper?

2. Gotcha

3. Gotcha

We can activate XGM from Eco now. This got fixed very recently. No need to to toggle standard anymore, even if the button description says otherwise.

JoePavel commented 1 year ago

@Wolper321 when XGM is not activated (but connected physically) do you see it somehow in device manager ?

As I'm not sure if running 0x101 command for ALL versions of XGM is a good idea ..

I just tested and couldn't connect it from Eco, ill try again in a few minutes.

Ill check device manager as well

seerge commented 1 year ago

@JoePavel - is it cause UI is not allowing to (as before) or cause it just refused by hardware ?

Wolper321 commented 1 year ago

@Wolper321 when XGM is not activated (but connected physically) do you see it somehow in device manager ?

As I'm not sure if running 0x101 command for ALL versions of XGM is a good idea ..

Unfortunately, I don't see the clear name. It doesn't even matter if the "lock" slider is engaged. My keyboard and mouse are still working and my laptop is charging even if XGM is deactivated so maybe there is a name somewhere it's just I cannot see. I understand better not to break if something is working. 3080 XGM users are the majority. I hope someone can test it.

JoePavel commented 1 year ago

@Wolper321 when XGM is not activated (but connected physically) do you see it somehow in device manager ?

As I'm not sure if running 0x101 command for ALL versions of XGM is a good idea ..

I dont see the 6850m in display adapter unless activated but i see attached perephirals such as mouse/keyboard/sd in device manager. Is there something specific you want me to look for?

As for eco mode i just doubled check and there is just no physical XG mobile button unless clicking standard mode.

JoePavel commented 1 year ago

And after going to standard, connecting XG and disconnecting it goes to eco mode, xg mobile now appears but can't click it unless i go back to standard mode https://i.imgur.com/Fo5BcAc.png

seerge commented 1 year ago

@JoePavel is it with build that I linked last here for you ? cause I have removed that restriction for Ally

Can you post a log here ?

JoePavel commented 1 year ago

Yes it is with that build, what log do you need?

seerge commented 1 year ago

@JoePavel try this build GHelper.zip

Log from ``%appdata%\ghelper```

As for detecting specifically 6850M - can you do steps from https://github.com/seerge/g-helper/issues/38 (both methods) and post them here ?

seerge commented 1 year ago

@Wolper321, @JoePavel can you run in powershell as admin

 (Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DSTS(0x00090017)

For cases when XGM is attached (physically) and not attached to your laptop ?

And post results here for both cases

JoePavel commented 1 year ago

@JoePavel try this build GHelper.zip

Log from ``%appdata%\ghelper```

As for detecting specifically 6850M - can you do steps from #38 (both methods) and post them here ?

This version i can activate in Eco mode, but upon rebooting i get the 100W bug.

For steps 38, you want me to do that while XG is attached but not activated?

seerge commented 1 year ago

@JoePavel did you reboot when XGMobile was activated already ?

For steps from 38 - it doesn't matter if it's connected or not.

but for running (Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DSTS(0x00090017) - it does matter , as i need both cases :)

JoePavel commented 1 year ago

Not connected physically https://i.imgur.com/J59Fg7n.png

Connected not activated https://i.imgur.com/dUxOkF1.png

Connected and activated https://i.imgur.com/J0d8BaB.png

JoePavel commented 1 year ago

@JoePavel try this build GHelper.zip

Log from ``%appdata%\ghelper```

As for detecting specifically 6850M - can you do steps from #38 (both methods) and post them here ?

So i just made sure to remove the older version and use this one only. With this version i can activate using Eco mode but upon rebooting the device i have 100W bug. Deactivating and reactivating will put it back to 165W

The other version, i couldn't connect in Eco mode but 165W would work upon rebooting.

Here's the log log.txt

seerge commented 1 year ago

@JoePavel this one should do both GHelper.zip

But I still need someone with other model of XGM to actually check if they are different and if it's ok to do a new Activation procedure there

JoePavel commented 1 year ago

@JoePavel this one should do both GHelper.zip

But I still need someone with other model of XGM to actually check if they are different and if it's ok to do a new Activation procedure there

So this version does work, can activate while in eco. And 165W stay upon rebooting.

Need me to do steps from 38 now?

JoePavel commented 1 year ago

@JoePavel did you reboot when XGMobile was activated already ?

For steps from 38 - it doesn't matter if it's connected or not.

but for running (Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DSTS(0x00090017) - it does matter , as i need both cases :)

XG Connected and activated using Ghelper. Step 1 :

60023 : ffffffffffff0004 (-65532)                                                                                       
60024 : a36c8086 (2741796998)                                                                                           
60026 : 0 (0)                                                                                                           
60059 : 0 (0)                                                                                                           
6005b : 3 (3)                                                                                                           
60061 : ffffffffffff0000 (-65536)                                                                                       
600c1 : 100 (256)                                                                                                       
80041 : ffffffffffff0000 (-65536)                                                                                       
80042 : ffffffffffff0000 (-65536)                                                                                       
80043 : ffffffffffff0000 (-65536)                                                                                       
80044 : ffffffffffff0000 (-65536)                                                                                       
90017 : 1 (1)                                                                                                           
90018 : 1 (1)                                                                                                           
90019 : 1 (1)                                                                                                           
9001a : ffffffffffff0000 (-65536)                                                                                       
9001c : 3 (3)                                                                                                           
90020 : 0 (0)                                                                                                           
90030 : c0 (192)                                                                                                        
100051 : 1 (1)                                                                                                          
110013 : 24 (36)                                                                                                        
110014 : 29 (41)                                                                                                        
110015 : ffffffffffff0000 (-65536)                                                                                      
110016 : ffffffffffff0000 (-65536)                                                                                      
110022 : ce (206)                                                                                                       
110023 : 97 (151)                                                                                                       
110024 : ffff0000 (-65536)
110025 : ffff0000 (-65536)                                                                                              
110026 : 49ff0000 (1241448448)                                                                                          
110027 : 2cff0000 (754909184)                                                                                           
120057 : 880000 (8912896)                                                                                               
120061 : 20001 (131073)
12006c : 2a (42)
120075 : 3 (3)
120079 : 58c (1420)
12007e : 0 (0)
120094 : 4c (76)
120097 : 32 (50)
1200a0 : 0 (0)
1200a1 : 0 (0)
1200a2 : 0 (0)
1200a3 : 0 (0)
1200b0 : 0 (0)
1200b1 : 0 (0)
1200c0 : 0 (0)
1200c1 : 0 (0)
1200c2 : 0 (0)
1200d2 : 8 (8)
1200d3 : 8 (8)
1200e2 : 0 (0)
130021 : 20007 (131079)
130022 : 0 (0)
130026 : ffffffffffff0000 (-65536)
130031 : 1 (1)

Step 2. How the hell do i upload a .rar or dsdt.dsl file here?

seerge commented 1 year ago

@JoePavel zip or rar will work, thanks

JoePavel commented 1 year ago

dsdt.zip

Let me know if you need anything else

seerge commented 1 year ago

@JoePavel, thanks! ZIP tells me that archive is invalid by some reason :)

seerge commented 1 year ago

@Wolper321 @JoePavel someone else on discord has responded that (Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DSTS(0x00090017) returns same response for 3080 as for 6850.

So on this stage I'm hesitant to allow this max-power "Activation" command for all devices (as i don't know about effects)

I have other option for you both. You can add a following line to the beginning of config.json

"xgm_special" : 1,

And then app will use new method. For others it will use old (for now)

Build that supports config flag : GHelper.zip

JoePavel commented 1 year ago

@JoePavel, thanks! ZIP tells me that archive is invalid by some reason :)

Any way you can send me your email, ill just mail it to you. Cant upload .rar here

JoePavel commented 1 year ago

@Wolper321 @JoePavel someone else on discord has responded that (Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DSTS(0x00090017) returns same response for 3080 as for 6850.

So on this stage I'm hesitant to allow this max-power "Activation" command for all devices (as i don't know about effects)

I have other option for you both. You can add a following line to the beginning of config.json

"xgm_special" : 1,

And then app will use new method. For others it will use old (for now)

Build that supports config flag : GHelper.zip

What could possibly go wrong with allowing max power? Im pretty sure the maximum GPU power is hard locked onto the GPU and even if you try to push higher nothing will actually happen.

Instead of adding a line of code, think you could have a checkable 6850M XT in options for 6850m XT user? Would be a lot easier for non tech savy people and would be easier to recommend.

Anything else you'd need tested at this point?

seerge commented 1 year ago

@JoePavel cause it's not about max power, that parameter 0x101 is for specific GPU only. I have no idea what it will do to 3080 or 4090

That's why it will stay in config for now :)

JoePavel commented 1 year ago

@JoePavel cause it's not about max power, that parameter 0x101 is for specific GPU only. I have no idea what it will do to 3080 or 4090

That's why it will stay in config for now :)

I will find someone with a 3080/4090 in rog ally discord and I'll let you know asap.

Anything else you need?

seerge commented 1 year ago

They need to run in powershell as admin, for connected but not activated XGM :

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00090019, 0x0101)
JoePavel commented 1 year ago

They need to run in powershell as admin, for connected but not activated XGM :

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00090019, 0x0101)

The ghelper version with 0x0101 activated worked perfectly on the XG 3080. Activating/deactivating worked 150w and kept 150w upon reboot.

Look like we may have a winner here

Anything else you'd need tested, any data needed or something?

seerge commented 1 year ago

@JoePavel that's good news.

Someone with the 4090 is currently testing the version that works on the 6850m

What happened to 4090 guy ? :)

seerge commented 1 year ago

@JoePavel https://github.com/seerge/g-helper/issues/467#issuecomment-1710042589 - reason why i need to figure out how to detect 6850 first, and not blindly run it for all models

privacyonly commented 1 year ago

@JoePavel #467 (comment) - reason why i need to figure out how to detect 6850 first, and not blindly run it for all models

wmic path win32_VideoController get name

edit:

Name Intel(R) Iris(R) Xe Graphics NVIDIA GeForce RTX 3070 Laptop GPU

seerge commented 1 year ago

@privacyonly but is it when it's Activated already ? or just physically connected ?

As app needs to know it before activating :) (and run "new" command only for 6850)

privacyonly commented 1 year ago

@privacyonly but is it when it's Activated already ? or just physically connected ?

activated,

for physically connected. NVIDIA GeForce RTX 3050 Laptop GPU Intel(R) Iris(R) Xe Graphics

for eco, Intel(R) Iris(R) Xe Graphics

seerge commented 1 year ago

@privacyonly ok, that's a problem then :) does XG Mobile identify itself somehow else when connected ?

Can you run Get-WmiObject Win32_PNPEntity | Select Name, DeviceID and post output here ?

privacyonly commented 1 year ago

Win32_PNPEntity Select Name DeviceID.txt

edit:

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00090019, 0x0101)

what does this do? there are no bsod or anything using this command.

seerge commented 1 year ago

@privacyonly it Activates XGM (literally same action when you press XGM button in app)

But you've told that you are getting BSOD from activation in the build i posted to you ?

P.S. Device list doesn't seem to show anything related to XGM :(

seerge commented 1 year ago

@privacyonly can you run scan script from https://github.com/seerge/g-helper/issues/38 and post results ? @Wolper321 have posted his (for 6850) mb it will be some reading that changes .... :|

privacyonly commented 1 year ago

Definitely BSOD while using your 0.119 build, but no BSOD while using 118 or using the command above. can you check again?

seerge commented 1 year ago

@privacyonly

Mb you use different build or something, try this one GHelper.zip

And if you get BSOD - can you post a log after ?

privacyonly commented 1 year ago

scan atkacpi.txt

  1. xg mobile activate.
  2. xg mobile deactivate.
  3. xg mobile activate.
  4. BSOD. log.txt

edit2: while we are at this, can you please make "Did you close all applications running on XG Mobile ?" Prompt to always on top? it is annoying to find it somewhere.