Revealing EC on Acer Predator Helios 300 2019 PH315-52 (fans control)

Hi.
based on initial finding of @mikolaj612 who is a pioneer of fan controlling in Helioses 300 2019 I proceeded and tried some things myself using advices of NBFC app
https://github.com/hirschmann/nbfc

I used amazing app RW-Everything ver. 1.7

So, I disconnected fans from the system board so that they didn’t mess with their tacho signal and here is my findings so far



I didn’t try to control much but show stopper is already here that I can’t change anything related to fans because system immediately rewrite value with its own one

We need to find magic switch for manual control but probably it’s not even exist

Those four segments with green (that could be FF) are related to battery, if you’re using AC power supply it will be FF then.

It looks like this EC is used only for automatic control of fans

Because if you change control from Auto to Custom or to Max then no any register changed
When you change fans speed manually, no any register changed

So it’s like custom fan speed control is issued directly from the windows and not use this EC at all
So now I’m not sure that this switch manual/auto exists in EC at all

Yep - I switched plenty times and I didn’t saw any register that could be responsible for auto/manual mode.

@mikolaj612
Hi I have not too good results trying to overwrite 219 register (cpu temp) using either your or my profile of NBFC
This is because initially this value updated by EC quite slowly I think every 10 second and at the beginning it’s all fine but later system trying to update it more and more often and we are really struggling for this register)
I tried even to set poll interval 100 ms but still sometimes I can see that this value overwritten by system and this case you can see sound of starting fan. In some case system even shut down as it thinks it can’t start fans and then I have to reset EC (press power for 12 sec)

So it is not stable and fans trying to star sometimes and then immediately stop. We really need this manual mode switch.

Do you have similar behavior?

I had that issue few times, but right now I’ve got not such issue with idle fan stop.
As I said in other thread high CPU temp while idle is due to lack support/hardware sensor of your GPU and sensing is done trough driver which will drastically increase cpu load.
Temp could be lower for about 20-30C if we fix that issue (disable GPU monitoring while it’s not beign used).

I’ve done that and my idle temp are arround 40-50C and I could use my PC with idle fan stop without any issue at the moment.
I didn’t find any other option to control my fans behaviour, on linux it’s kinda easier to talk with EC but it work same way as on Windows - probably PredatorSense is using somekind of driver/low level tweak, maybe driver to control fans - there might be also hardware related stuff like IC etc.

What’s your latest nbfc profile, is it the same as you sent me or you have tweaked more?

I will share it in other community)

I wanted to create my own profile myself but this overwritten issues is showstopper for me

And what do you mean no gpu sensor, it is in 221 register but it is 00 when gpu is idle

Sensing temp for our GPU is done by driver instead of a diode which is better (low level), by driver I mean that if you’re using AIDA64, EVGA Precission, MSI Afterburner with monitoring turned on you will see that your system couldn’t go real idle state because nvidia will poke your gpu everytime to read it temp - how often it will depend how monitoring app was set (MSI Afterburner will poke every 1s).
For proper IDLE state of your CPU and good idle temp you need to disable monitoring of your GPU at all.

Either way you will get temp arround 60C or even higher with power draw at about 20W or higher while doing nothing - with disabled monitoring you could easily see 5W or sometimes even less and temp arround 40C or lower (lowest registered on my system was 31C) - without monitoring my CPU got absolutely no issue sitting at C8 power state :wink:

I didn’t tweaked that profile from that time, I still need to make a proper temp/fan corelation table but I’ve got no motivation to do that :smiley:
NBFC is not that advanced app so I’m not thinking about it anymore.

On linux you could do simple terminal script to do whatever you want related to EC.

I found no other option to control fans, CPU temp must be overriden constantly to use build-in fan curve and GPU sensor must be set to value of 42 or lower - higher value will try to take over fan control which will make fan spins for a short while and then they will stop - then it will start all over again.
Because our colling system in Helios 300 is partially common for both CPU and GPU high temp on at least one of it will increase fan speed for both fans to cool system down.
Even if your GPU is cool and CPU hot it will use GPU fan to cool CPU and vice versa.

This is why I used GPU sensor override function because NBFC is not monitoring it anyway, and if you use your GPU for demanding tasks like MSI Kombustor for example your CPU will get hot due to heat transfer via heatpipes and fans will get louder anyway - so I assume I couldn’t do any better for Helios 300 at the moment.

Our best shot is to find fan curve hidden in bios/find something useful in PredatorSense app/or just wait until we die for Acer mercy in that regard (maybe they wil bring something for us in newer bios releases - I hope for it).

oh just one thing cuz clearly iam not skilled to this task (and none said my wife) i recall that just changind the performance profile in Psense at iddling change the RPM of the fans for my part so yes indeed i think Psense driver is responsible for tweaking both of them …

Bios modding needed ?!

I have a PH315-51-78NP. I don’t know if fan control is handled in a similar manner, but I have an interest in figuring out how to handle the fans on this laptop.

I have an unlocked BIOS. I tried messing with the fan speed and thermal trip points (specifically, I tried setting like 15C on the CPU with a 100% fan speed), but this didn’t do anything.

lm_sensors in Linux (5.4+ kernels), and HWMonitor in Windows don’t show anything about fans; no RPM or any fans at all are reported.

PredatorSense (Acer’s fan control/OC program for Windows) shows the fan speed for both fans (CPU and GPU) and allows control of them no problem.

Hello,
I created an account to ask you if it were possible for me to have a copy of your config file, i’ve been looking for it for months now. I do have a working config file, but it causes audio popping/glitch, something called DPC. It can be detected using Latencymon, it gives very bad results (all red).

Please reply to me on this thread or send me a discord message at ewfw#0733

@Ishimaru20010 - You need to "tag" whoever you are asking that to above, just like I tagged your name here. Put @ directly followed by their exact forum name spelling (case sensitive)

thank you for clearing that up for me @Lost_N_BIOS
i also wanted to thank you for helping other members with issues like finding their own custom bios update tool or whatever. that is very kind of you.

I was talking to @Hyppo
He made an interesting post, i have my own config but i’m not satisfied with the results. very unstable :frowning:

Hi, just came across this, confirmed the EC with my model -78VL, and we can actually control the Coolboost bit and it works so I wrote a C program to do just that…

fanboostToggle.txt (1.38 KB)