mirror of
https://github.com/hirschmann/nbfc.git
synced 2026-04-26 09:06:00 +03:00
[GH-ISSUE #947] Config for the HP ENVY x360 13-ay0779ng #819
Labels
No labels
Stale
bug
config
discussion
duplicate
enhancement
experimental
feature
help-wanted
info
invalid
invalid
pull-request
question
up-for-grabs
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/nbfc-hirschmann#819
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Zamundaaa on GitHub (Jul 11, 2020).
Original GitHub issue: https://github.com/hirschmann/nbfc/issues/947
I tried finding out the registers for this model but I could use some help, I don't know how to proceed.
DSDT.txt
I think the interesting parts are in the Scope (_TZ) beginning from line 7699 but I'm kind of stuck at finding out what register the values FNMX, FNMN, FRPM and FWPM (probably max, min, current and target RPM) are in.
The values are in the section
What I have found out though is that the power profile thing from HP is in the register 0x29, if it helps someone else with this laptop: the states from 0 to 3 are power, recommended, cool and silent.
@Valdiralita commented on GitHub (Jul 12, 2020):
I have the 15-ee0477ng but i think its very similar.
By testing a bunch of configs i found that "HP ENVY m6-1254eo" is working somewhat, so it uses the correct registers but wrong values.
The important part is that you have to set Register 0x0F to 8 to enable manual mode. (it writes 0b1000 in OR mode, that means the other bits are untouched)
Then you can set register 0x14 to control the CPU fan.
Currently I try to find out how to control the GPU fan but i didnt make any progress there. I suspect there is another manual mode bit inside 0x0F to set the GPU fan to manual mode.
@Zamundaaa commented on GitHub (Jul 12, 2020):
Thanks a lot, that does indeed work. I adjusted some values to make it turn the fan off completely under 40°C, make them turn on to barely running from 45°C on and step them up quite a bit when reaching 55°C and on. That way it cools well when actually needed and stays completely silent when not.
https://gist.github.com/Zamundaaa/f1c15d9fcc277bd629290d82117cd44b
Now I just need to make shortcuts for setting the power profiles and this laptop is finally feature-complete on Linux :D
@gp-slick-coder commented on GitHub (Jul 15, 2020):
Thanks @Zamundaaa for providing the profile. Works great!
@snovvmann commented on GitHub (Jul 30, 2020):
The 15-ee has only one fan, with the eGPU and all. Or, do you mean logical fan? I repsted the CPU the moment I got it. With regular browsing, the CPU hovers around 30-35, but the fan still runs. I will try the profile below and see if it can behave better. Thanks for sharing the profile info.
@snovvmann commented on GitHub (Jul 30, 2020):
@Zamundaaa I am trying to follow what you mean by those register values. I also have a 15-ee. I can't find 0x0F and 0x14 in the settings, nor the XML file. I would appreciate some more guidance. Thanks.
@Zamundaaa commented on GitHub (Jul 30, 2020):
I'm not the one with the 15-ee but the 0x14 is hexadecimal for 20 (that is the write register in the config) and 0x0F is 15 (in the section RegisterWriteConfiguration section)
@marcantoinem commented on GitHub (Aug 1, 2020):
I also have an hp envy x360 15ee0xxx, have you find a way to control the GPU fan?
@Valdiralita commented on GitHub (Aug 1, 2020):
I can confirm that there are 2 fans in my 15-ee0477ng and i can only control the fan on the left side of the device.
@user78246 commented on GitHub (Aug 4, 2020):
On the HP ENVY x360 Convertible 15-ee0477ng I confirm the settings described by Valdiralita.
Additionally I disable the second fan (as a workaround) to have a silent system.
This works because the ee0477ng has one CPU-Chip with integrated GPU and thus the device has one heatpipe that transports the heat to one heatsink where two fans let flow the air. This means, it is possible to cool the system with only one fan, but this reduces the used size of the heatsink, what is not ideal. I prefer a solution with both fans active, but for now the "one fan solution" works for me, because I do NOT require high hardwarwe performance (e.g. gaming).
To disable the second fan:
After that, to controll the left fan:
3) set register 0x0F to value 0x08
4) set register 0x14 to values in the range from 0x00 to 0x39
On exit, to give controll back to the embedded system:
5) set register 0x0F to value 0x01
6) set register 0x14 to value 0xFF
7) set register 0xB7 to value 0x20
After disabling the turbo boost of the CPU, what I found is, that this device stays totally silent and is passively cooled when working remote, listening music or watching videos with temperatures up to 45°C.
@snovvmann commented on GitHub (Aug 8, 2020):
@user78246 I can use a bit of help implementing this. I now get that 0x are hex that are translated to decimal for Notebook Fan Control. In the config editor, I see fan configuration and register write configuration. To where to I implement these values? Also, to exit, I presume I would place the respective values in the reset on exit area?
If you can attach the xml file that would be very cool.
@Valdiralita thanks for your reply re the fans. You are right. I do have two fans. Don't know why I got confused ¯_(ツ)_/¯
Lastly, has anyone seen this: https://github.com/Rem0o/FanControl.Releases
Getting it to work with the 15-ee would be very nice....
@snovvmann commented on GitHub (Aug 8, 2020):
Here is a discussion to FanControl https://linustechtips.com/main/topic/1099996-fancontrol-my-take-on-a-speedfan-replacement/
@Valdiralita commented on GitHub (Aug 8, 2020):
@snovvmann I also found that 0xB7 can control BOTH fans to some degree but it seems to reset at random intervals back to values around 0x20 =/
I also could not find any value that lets the fan spin below 40%
@user78246 commented on GitHub (Aug 10, 2020):
This is the xml-file that works for me: HP ENVY x360 Convertible 15-ee0xxx.zip
It does not use values, that are written only on initialisation of the program.
On lower temperatures (totally silent mode), register 0x0F is set to value 0x01 AND register 0xB7 is set to value 0x00. Thus both fans are turned off. If we try this only during initialization of the program, it is not always successful.
On higher temperatures, register 0x0F is set to value 0x08 and register 0x14 is set to values in the range from 0x00 to 0x39.
I could use some help, configuring the thresholds. For me, this concept of thresholds (with the idea of histeresis?) was a little confusing.
@user78246 commented on GitHub (Aug 10, 2020):
What I found so far is, that if we set register 0xB7 to value 0x00, then the content of register 0xB7 is not changing "by itself".
But if we set register 0xB7 to value e.g. 0x20 (may be other values greater zero work too), then the value of register 0xB7 slowly adapts to the value, that is stored in register 0xB6. On higher temperatures, both registers have higher values than on lower temperatures.
@GrafGruselfusel commented on GitHub (Sep 1, 2020):
Hi Zamundaaa,
do you think that it is likely that your config will work with different Envy x360 (2020) 13-ayxxx - models as long as they have the Ryzen 7 4700U? When i tried a NBFC-Config for the Envy x360 (2019) 13-ag0xxx it worked with different ones.
@blauer4 commented on GitHub (Sep 9, 2020):
I can confirm that the profile that @Zamundaaa made works on ryzen 4700u on another different HP Envy x360 ay0285ng model. I think it works on every 13-ay0xxx model
@Zamundaaa commented on GitHub (Sep 9, 2020):
Sorry, totally forgot to answer this @GrafGruselfusel . I think it should work on all 13" Ryzen 4000 HP Envy x360 models; It would be very weird if HP made different firmware and use different registers for every model.
@GrafGruselfusel commented on GitHub (Sep 9, 2020):
Hi, no worries :D. Thank you!
@henfri commented on GitHub (Sep 27, 2020):
Hello,
works for my ay0278g
Thanks!
@killya01 commented on GitHub (Oct 19, 2020):
Hello,
Can you make one that can control both the cpu and gpu fans for the 15 inch model?
The one I am specifically talking about is the 15m-ee0013dx
Thank you!
@Zamundaaa
@Zamundaaa commented on GitHub (Oct 19, 2020):
Well, I don't have that laptop, so not really. I assume though that when someone here figures it out they will post the solution here.
@SirSepl commented on GitHub (Nov 9, 2020):
Your profile works great - only thing I have found is that when charging or using laptop while being charged, the CPU temp jumps up to around 70-80 degrees causing fans to spin quite rapidly. Did anyone experience the same problem?
@Zamundaaa commented on GitHub (Nov 21, 2020):
I have experienced that myself. Here's a config that you can try: https://gist.github.com/Zamundaaa/d6ee57bcf6326d8ebb8af8115179de4f
It's still not quite perfect (sadly the nature of nbfcs fan control doesn't work that well for charging) but it should be better.
@SirSepl commented on GitHub (Nov 22, 2020):
Thanks for the reply. I read on a different site to adjust the max performance of the processor to 99 from 100 in the energy options. As I have similar to none expertise when it comes to computers, I cannot say why this worked, but it definitely helped to reduce the CPU temp while charging and therefore also the fan speed. Might be an amateur trick - not sure - but thought would maybe be worth sharing
@henfri commented on GitHub (Nov 22, 2020):
Hello,
That makes the system quiet, but also disables all boosts -which especially help when you need much performance for a short time (e.g. starting a program).
If you do not need the performance, you should have bought a less performing device ;-)
Regards,
Hendrik
@henfri commented on GitHub (Nov 23, 2020):
Hello,
@Zamundaaa Your profile works great here!
Thanks!
@grimbart83 commented on GitHub (Jan 25, 2021):
@Zamundaaa Thanks for sharing your profile. Do you think it would also work for the HP ENVY x360 13-ay0251ng? It has a Ryzen 5 4500U CPU and Vega6 GPU.
Appreciate your help.
@Zamundaaa commented on GitHub (Jan 25, 2021):
Yes, it should work
@Maghsad commented on GitHub (May 3, 2021):
It does not work for "HP ENVY x360 15-ee0003ca, AMD Ryzen 7 4700U". It shows the CPU temperature when the "HP ENVY x360 Convertible 15-cn0xxx" profile is selected. However, it cannot read the fan speed (it says a high negative number: -10603.7%) and cannot control the fan speed.
@OneB1t commented on GitHub (May 4, 2021):
works also for my 13-x360 ryzen 3 4300U :-)
@Valdiralita commented on GitHub (Jun 28, 2021):
Ive fan control over both fans with a hardware modification.
Ive cut the trace for the PWM signal of the right fan and connected the one from the left to it.
Now both fans run at the same RPM set by NBFC:
@Crogge commented on GitHub (Jul 9, 2021):
Does anyone have a profile for the right fan of the 15-dr1233ng model?
I can control the left fan just fine with the 15-dr1xxx profile, but it is not enough to prevent GPU speed throttling due to temperature. The default fan profile of HP is a little too slow.
@Bobbsterman commented on GitHub (Dec 18, 2021):
Had to log in just to say thank you @user78246 for the profile!
My tests agrees: I believe 0xB7 and 0xB6 are both temperature readouts – I discourage trying to overwrite them @snovvmann !
After staring at RW.exe for hours, going through each line of registers, unfortunately I did not find any read/write registers for the second fan. It seems to not be controlled by the EC? Or a different EC? Or RW is not showing all the registers? I'm out of my depth.
I might have to go with @Valdiralita 's soldered solution! Thanks for posting the pic!
@github-actions[bot] commented on GitHub (Jun 18, 2022):
This issue is stale because it has been open more than 180 days with no activity. If nobody comments within 7 days, this issue will be closed