T-Troll / alienfx-tools

Alienware systems lights, fans, and power control tools and apps
MIT License
490 stars 45 forks source link

Dell G5 15 5515 #46

Closed Hellohi3654 closed 3 years ago

Hellohi3654 commented 3 years ago

Hi I have a https://www.dell.com/en-au/shop/gaming-and-games/g15-ryzen-edition-gaming-laptop/spd/g-series-15-5515-laptop/hng551503au and I cannot get your tool to work not sure if it's compatible just checking

Thanks

T-Troll commented 3 years ago

It depends of hardware. For mine - power mode 4 and gpu 4 is power-save. For you.... I have bad news. You have 3 power modes (manual, code 97, code 99) - but you only can switch to manual. The rest require some other stuff i don't know (but check later on). For GPU - it have 4 modes support, but they do nothing at all (check "Method(GPS" function 0x13 - they just return "Ok" but do nothing).

As far as i see, boosts should work (they set it into hardware, at least). What do you expect they doing? In real, minimal RPMs defined in BIOS and better not being altered. Boost 100 adds about 1000 rpm ABOVE current bios level. At current hardware, CPU can't work at fan off - it's so hot and they save so much money at cooling system.

Any fan will only follow curve if GUI running - it's a software feature, not hardware. Fans will follow BIOS instead.

T-Troll commented 3 years ago

Ok, so i release this version as a BASIC support for G15, mess in power modes need to be studied. You can also play with direct calls in CLI to find other control ways meanwhile - possible combinations can be found in you ACPI dump.

Hellohi3654 commented 3 years ago

It depends of hardware. For mine - power mode 4 and gpu 4 is power-save. For you.... I have bad news. You have 3 power modes (manual, code 97, code 99) - but you only can switch to manual. The rest require some other stuff i don't know (but check later on). For GPU - it have 4 modes support, but they do nothing at all (check "Method(GPS" function 0x13 - they just return "Ok" but do nothing).

As far as i see, boosts should work (they set it into hardware, at least). What do you expect they doing? In real, minimal RPMs defined in BIOS and better not being altered. Boost 100 adds about 1000 rpm ABOVE current bios level. At current hardware, CPU can't work at fan off - it's so hot and they save so much money at cooling system.

Any fan will only follow curve if GUI running - it's a software feature, not hardware. Fans will follow BIOS instead.

Oh ok

Well I think fan control is not working at all then

When I set every temp to boost 100 it doesn't change anything until I close it Even then it's only fan#1 that's running The CPU is at like 95C and the GPU is cool because fan#1 is working Fan#0 only works if I restart and then don't open alienfan I have also tried setting the boost to a lower value but that doesn't seem to do anything either Also when I only select fan#0 (Fan 1 in the GUI) the graph to change the fan curve displays nothing and I can't change anything But when I select both Fan 1 (Fan#0 in CLI) and Fan 2 (Fan#1 in CLI) or just Fan 2 it shows the graph and I can change the fan curve but it doesn't actually affect the fan until I close the GUI (but that's probably just it going back to normal and realizing that the GPU is too hot) Even after closing the GUI the CPU fan doesn't spin and the CPU temp is 90+ (which means it is probably thermal throttling) and my laptop has to be restarted for Fan 1 to spin again

Hellohi3654 commented 3 years ago

Ok, so i release this version as a BASIC support for G15, mess in power modes need to be studied. You can also play with direct calls in CLI to find other control ways meanwhile - possible combinations can be found in you ACPI dump.

ok cool thanks

T-Troll commented 3 years ago

Well I think fan control is not working at all then

I see. Seems like you have set not the boost, but something other. Let me study you ACPI dump more (and i'll ask you to issue some alienfan-cli direct= commands to check). We can control, but now need to make it the right way.

Hellohi3654 commented 3 years ago

yeah somethings definitely not right cli says

C:\Alienfan\Alienfan-Debug>alienfan-cli getfans
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Fan#0 now at 0
Fan#1 now at 0

but AWCC says image

I can hear the fans are at about 50%

T-Troll commented 3 years ago

No, it's ok - you in auto mode, boosts is 0. AWCC show percents (BTW, not so precise), i can do it as well.

Okk.... Interesting... Try to issue real chord: alienfan-cli rpm unlock setfans=50,50 getfans rpm

T-Troll commented 3 years ago

PS: And, by the way, stop AWCCService - it can reset fans...

Hellohi3654 commented 3 years ago

PS: And, by the way, stop AWCCService - it can reset fans...

ok thanks I will try doing alienfan-cli rpm unlock setfans=50,50 getfans rpm

Hellohi3654 commented 3 years ago

ok so I closed AWCC service and everything to do with it in task manager then I tried doing alienfan-cli rpm unlock setfans=50,50 getfans rpm and it works perfectly with both fans I then tried opening the GUI and both fans instantly stopped I then tried to set fan curves and it still doesn't work I went back to the cli and got the RPM of the fans and it says 0 for both I think the issue is to do with the GUI the cli seems to be working fine

Hellohi3654 commented 3 years ago

also as soon as I close the GUI and try doing alienfan-cli rpm unlock setfans=50,50 getfans rpm they start working again

Hellohi3654 commented 3 years ago

also I just got my fans to do 5700rpm lol

T-Troll commented 3 years ago

Well... It's a bit strange. CLI and GUI utilize the same low-level calls under the hood, the only difference GUI monitor temps and issue setfan 2 times per second if needed. I have one idea, so try this GUI version - alienfan-tools.zip

Also, there some funny CLI direct= codes for you to check (and i'm interested what they return at your gear):

Hellohi3654 commented 3 years ago

Well... It's a bit strange. CLI and GUI utilize the same low-level calls under the hood, the only difference GUI monitor temps and issue setfan 2 times per second if needed. I have one idea, so try this GUI version - alienfan-tools.zip

Also, there some funny CLI direct= codes for you to check (and i'm interested what they return at your gear):

  • direct=14,b,0 - current power mode (should be 0x95 or 0x99)
  • direct=14,6,32 (or 33) - current fan RPM in percent (it's what AWCC display). 32 - CPU, 33 - GPU
  • direct=14,8,XX, direct=14,9,XX (xx=32, 33) - min and max RPMs for current mode (questionable, so i interested into your values)

Yeah whatever you changed in that version of alienfan-tools has fixed the issue with the CPU fan

Hellohi3654 commented 3 years ago
C:\Alienfan\alienfan-tools>alienfan-cli direct=14,b,0
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 0
C:\Alienfan\alienfan-tools>alienfan-cli direct=14,b,1
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 0
C:\Alienfan\alienfan-tools>alienfan-cli direct=14,6,32
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 0
C:\Alienfan\alienfan-tools>alienfan-cli direct=14,6,33
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 0
C:\Alienfan\alienfan-tools>alienfan-cli direct=14,8,32
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 0
C:\Alienfan\alienfan-tools>alienfan-cli direct=14,8,33
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 0

This was using the alienfan-tools you just sent above

Hellohi3654 commented 3 years ago

oh btw I can set my fans to boost 200 in the cli but I can't get it to do any more than boost 100 in the GUI Using boost 200 adds about 1000rpm on top of boost 100

T-Troll commented 3 years ago

Yeah whatever you changed in that version of alienfan-tools has fixed the issue with the CPU fan

Seems like a bug into your ACPI - setting power mode reset fans for some time. Ok, noted.

Direct call result: 0

Ugh-oh. Result 0 mean "error" (BTW, need to fix it) for your ACPI. So it denies all direct commands. Ok, i'll check.

oh btw I can set my fans to boost 200 in the cli

So it can be both not boost or different scale! Ok, in this case, can you try to set it to 254 (or maybe 255) and see what happened? I'll add scaling to apps meanwhile.

T-Troll commented 3 years ago

Ok, try this one - alienfan-tools.zip

What changed.....

I also check direct codes. Seems like some not supported at your gear (it processes it, but function is dummy). Anyway, code 14,9,32 or 33 should work. Could you check, please?

Hellohi3654 commented 3 years ago

14,9,32

sure I'll check now

Hellohi3654 commented 3 years ago

alienfan-tools.zip

i'll also try this one and see if it sets fans to actual 100%

Hellohi3654 commented 3 years ago
C:\Alienfan\alienfan-toolsnew>alienfan-cli direct=14,9,32
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 4200

C:\Alienfan\alienfan-toolsnew>alienfan-cli direct=14,9,33
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Direct call result: 3900

C:\Alienfan\alienfan-toolsnew>alienfan-cli rpm
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Fan#0: 2200
Fan#1: 2700

they seem to give the fan rpms but they're not right they also aren't the max rpms either

Hellohi3654 commented 3 years ago
C:\Alienfan\alienfan-toolsnew>alienfan-cli rpm unlock setfans=100,100
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Fan#0: 2200
Fan#1: 2700
Unlock successful.
Set fan level failed!

C:\Alienfan\alienfan-toolsnew>alienfan-cli rpm unlock setfans=50,50
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Fan#0: 3300
Fan#1: 0
Unlock successful.
Set fan level failed!

C:\Alienfan\alienfan-toolsnew>alienfan-cli rpm unlock setfans=100,100
AlienFan-cli v1.1.1.0
Supported hardware detected, 2 fans, 2 sensors, 2 power states.
Fan#0: 4600
Fan#1: 0
Unlock successful.
Set fan level failed!

Setting fan level seems to set fan#0 to 100% and fan#1 to zero

Hellohi3654 commented 3 years ago

Also GUI seems to set both fans to max even though the CPU temps means the fans should only be at boost 50 image

T-Troll commented 3 years ago

Ok, thanks, going to think about it. BTW, if you are use old version and setfans above 100 (or this one near 100) - what getfans show?

T-Troll commented 3 years ago

I just see 88, but don't believe.

... Got it. It's a bug. Real boost at 34 (+- on curve).

Ok, let's see why it reacts this way.

T-Troll commented 3 years ago

Set fan level failed!

Ugh-oh. Something wrong here. Let me check.

Direct call result: 4200

It's not CURRENT fan RPMs, but target one. It gives me hint about currently selected fan mode. Thanks for checking!

T-Troll commented 3 years ago

Ohh.... Seems like you have PWM control (G5 have). In this case, it should be like this:

// Converts hex input to the EC format and limits the max fan speed to boost speed (5400 RPM).
uint8_t hex_to_EC(uint8_t hex){
    return std::min(std::max(255-hex, 91),255);
};

So it's reversed and from 91 to 255. Let me provide you test tool for check.

T-Troll commented 3 years ago

So, here is new alienfan-cli - overwrite old one, but keep the rest of files.

It has 2 hidden commands:

Can you check setfanpwm from 0 to 255? It should set RPMs from 0 to 5400 (5400 will be 164, in fact). Also, check fan stop value - it can be above zero. If it set correctly (so 0 - stop, 164 - max RPM), i'll update tools to map boost to this for your gear.

T-Troll commented 3 years ago

I add support for Dell G5 SE today, and we discuss your issue as well. So, instead of checking above, you can try this version - alienfan-tools.zip

CLI has new command - setfandirect=<fanID>,<value>.

So, try to play with it - but scale is reversed:

If it is, i need exact value for max. speed - try to find first value bring it to max speed and tell me, please!

Hellohi3654 commented 3 years ago

I add support for Dell G5 SE today, and we discuss your issue as well. So, instead of checking above, you can try this version - alienfan-tools.zip

CLI has new command - setfandirect=<fanID>,<value>.

So, try to play with it - but scale is reversed:

  • Setting the value to 255 should stop the fan.
  • Setting value to XX (try 91 or 40) should run it max speed.

If it is, i need exact value for max. speed - try to find first value bring it to max speed and tell me, please!

Thanks Been away for a few days i'll check out all the things you mentioned above

Hellohi3654 commented 3 years ago

Just been getting this error with version above image

T-Troll commented 3 years ago

Ok, let me check. Please, use previous one meanwhile.

PS: Or try release version.

Hellohi3654 commented 3 years ago

Ok, let me check. Please, use previous one meanwhile.

PS: Or try release version.

Release version has same problem

T-Troll commented 3 years ago

Ooops... Ok, i go investigate.

Try older one.

Hellohi3654 commented 3 years ago

Ok, try this one - alienfan-tools.zip

What changed.....

  • New detection system (you gear have more difference)
  • Now for your gear, 100% boost have value 254. So use 0-100 for both gui and cli. WARNING: i forget to check in CLI, so do not set more, then 100!

I also check direct codes. Seems like some not supported at your gear (it processes it, but function is dummy). Anyway, code 14,9,32 or 33 should work. Could you check, please?

this is the last one that still works

T-Troll commented 3 years ago

Found. Expect hotfix release soon.

T-Troll commented 3 years ago

https://github.com/T-Troll/alienfan-tools/releases/tag/1.2.0.1

Hellohi3654 commented 3 years ago

https://github.com/T-Troll/alienfan-tools/releases/tag/1.2.0.1

thanks

Hellohi3654 commented 3 years ago

I tried using the gui and my fans instantly went to max rpm

I had it set so it should be at boost 50 when at 70C but it went to max rpm even though the cpu was at 60C

Hellohi3654 commented 3 years ago

I add support for Dell G5 SE today, and we discuss your issue as well. So, instead of checking above, you can try this version - alienfan-tools.zip

CLI has new command - setfandirect=<fanID>,<value>.

So, try to play with it - but scale is reversed:

  • Setting the value to 255 should stop the fan.
  • Setting value to XX (try 91 or 40) should run it max speed.

If it is, i need exact value for max. speed - try to find first value bring it to max speed and tell me, please!

doing alienfan-cli setfandirect=0,255 sets the fan to max rpm

Hellohi3654 commented 3 years ago

I add support for Dell G5 SE today, and we discuss your issue as well. So, instead of checking above, you can try this version - alienfan-tools.zip CLI has new command - setfandirect=<fanID>,<value>. So, try to play with it - but scale is reversed:

  • Setting the value to 255 should stop the fan.
  • Setting value to XX (try 91 or 40) should run it max speed.

If it is, i need exact value for max. speed - try to find first value bring it to max speed and tell me, please!

doing alienfan-cli setfandirect=0,255 sets the fan to max rpm

doing alienfan-cli setfandirect=0,50 sets it to that speed

it seems like my fans are on a scale from 0 - 255 0 being off and 255 being max rpm

Hellohi3654 commented 3 years ago

I add support for Dell G5 SE today, and we discuss your issue as well. So, instead of checking above, you can try this version - alienfan-tools.zip CLI has new command - setfandirect=<fanID>,<value>. So, try to play with it - but scale is reversed:

  • Setting the value to 255 should stop the fan.
  • Setting value to XX (try 91 or 40) should run it max speed.

If it is, i need exact value for max. speed - try to find first value bring it to max speed and tell me, please!

doing alienfan-cli setfandirect=0,255 sets the fan to max rpm

doing alienfan-cli setfandirect=0,50 sets it to that speed

it seems like my fans are on a scale from 0 - 255 0 being off and 255 being max rpm

actually never mind I just done setfandirect=0,150 and now it's at max rpm

Hellohi3654 commented 3 years ago

I think it's 0 - 150 instead of 0 - 255

Hellohi3654 commented 3 years ago

I think it's 0 - 150 instead of 0 - 255

because setting the fan to 50 makes it go at that speed and setting it to 20 makes it go slower and setting it to 100 speeds it up but not max 150 seems to be max or somewhere around that value

Hellohi3654 commented 3 years ago

also I've noticed another weird issue

Hellohi3654 commented 3 years ago

when I set gpu to level 1 the fans completely stop working in the gui but when I set it to manual they work again

Hellohi3654 commented 3 years ago

oops

T-Troll commented 3 years ago

when I set gpu to level 1 the fans completely stop working in the gui but when I set it to manual they work again

It's wrong. GPU control haven't any influence to fans by design. It can't stop them.

So, your system have the flaw, i presume:

So, please check twice about other control apps, as well as check how BIOS acts without any of them. PASV border should be somewhere in EC, but offset is different for any model, so it's not easy to find.

Now you result just irrelevant, something interfere with common flow.

Hellohi3654 commented 3 years ago

when I set gpu to level 1 the fans completely stop working in the gui but when I set it to manual they work again

It's wrong. GPU control haven't any influence to fans by design. It can't stop them.

So, your system have the flaw, i presume:

  • (Most probably) You still have other fan control tool running. Did you stop not only AWCC app, but also AWCCService in system Services management? Are any other fan control app starting at boot (closing app can be not enough to stop control)?
  • (Less probably) Your BIOS have a high PASV (Passive) mode level, something in mid-50s. Then you test, temperature coming below PASV, so BIOS stop fans. But it's easy to check by any temperature monitoring.

So, please check twice about other control apps, as well as check how BIOS acts without any of them. PASV border should be somewhere in EC, but offset is different for any model, so it's not easy to find.

Now you result just irrelevant, something interfere with common flow.

I have never installed any other fan control software and I have every AWCC process closed

Fans go straight to max rpm even though they should only be slow

Command line works fine for setting fan speeds but gui just doesn't work

image

Hellohi3654 commented 3 years ago

when I set gpu to level 1 the fans completely stop working in the gui but when I set it to manual they work again

It's wrong. GPU control haven't any influence to fans by design. It can't stop them.

So, your system have the flaw, i presume:

  • (Most probably) You still have other fan control tool running. Did you stop not only AWCC app, but also AWCCService in system Services management? Are any other fan control app starting at boot (closing app can be not enough to stop control)?
  • (Less probably) Your BIOS have a high PASV (Passive) mode level, something in mid-50s. Then you test, temperature coming below PASV, so BIOS stop fans. But it's easy to check by any temperature monitoring.

So, please check twice about other control apps, as well as check how BIOS acts without any of them. PASV border should be somewhere in EC, but offset is different for any model, so it's not easy to find.

Now you result just irrelevant, something interfere with common flow.

Also I think my BIOS does have a high passive mode level the fans are really quiet up to boost 50 then they start getting louder and faster the further above 50 I set them