mirror of
https://github.com/hirschmann/nbfc.git
synced 2026-04-26 09:06:00 +03:00
[GH-ISSUE #793] HP Spectre x360 - 13-aw0013dx (ice lake) - profile configuration/findings #694
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#694
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 @ghost on GitHub (Nov 24, 2019).
Original GitHub issue: https://github.com/hirschmann/nbfc/issues/793
I'm trying to create the profile for this laptop but having a difficulty to force the fan to work in manual mode.
After the whole day of testing I suspect that the correct writeRegister is 0x2E, however no matter what I do, I'm unable to force the fan into manual mode.
In the guide we can read "you must enable the EC's manual control mode which disables the EC's builtin fan control logic and lets you control the fan(s) manually" does anyone have any tip on how to find it? I've tries to change a few suspected registers but no luck.
Here is the extract from probe-monitor:
My suspiction is that 0x2E is readRegister, 0x2F is wrtireRegister, while 0x49 allows to select the current thermal zone and 0x59 and allows us to get (or set) the temperature of the currently selected thermal zone.
Here is a probe dump from the time when the fan was running:
and here from the time when the fan was stopped:
Also chhached an extract of DSDT.
Anyone have any idea?
DSDT.txt
@hirschmann commented on GitHub (Dec 2, 2019):
Have a look at this field:
You should be able to read the fan speeds from 0xB2 (RPM1) and 0xB3 (RPM2) and set something fan related by writing either 0 or 2 to 0xF4 (SFAN).
There are also 2 methods in the DSDT which access those fields:
I know it's not much, but I hope it helps anyway :)
@hirschmann commented on GitHub (Dec 2, 2019):
To be more clear - you can get the fan RPM like this: ((RPM2 << 8) | RPM1) / 0x00075300
@ghost commented on GitHub (Dec 7, 2019):
With your help I was able to create a profile which makes the fan start only at 80C and stop when reaching 65C (by modifying the 0xF4 register). Not optimal, but much better then default. Thank you!
@sensus261 commented on GitHub (Dec 19, 2019):
@pkakol7 , Hello mate,
Have you succeded in making a config for it ? If so, care to share ?
@ghost commented on GitHub (Dec 23, 2019):
Here is the profile I use:
https://www59.zippyshare.com/v/uBJKg4eW/file.html
it's configured in a way that the fan will only spin after reaching 80C and will stop when below 65C. You can change those values as you wish of course. Note that when fan start sniping, it's controlled by laptop itself so it will ramp up to quite fast (and loud) speed very quickly.
@sensus261 commented on GitHub (Dec 24, 2019):
Thank you, will try ! :)
@mrgoindol commented on GitHub (Jan 11, 2020):
Hello! I have some questions.
I use same laptop (spectre x360 13, aw0000).
and I did..
but, I think.. it's not working.
temperature is just appear correctly.
What did I wrong?
@nimda32 commented on GitHub (Jan 12, 2020):
Thanks for sharing @pkakol7 !
This link is now dead - could you please reupload it?
@nimda32 commented on GitHub (Jan 13, 2020):
I was wrong, it's working just not with adblock. Thanks. Here's a mirror
@tomasiser commented on GitHub (Feb 11, 2020):
My laptop sometimes only turns on the left fan instead of both of them, which enabled me to support my hypothesis that
0x2E-0x2Fand0xB0-0xB3all correspond to the fans. Here are my observations:0x2E-0x2Fand0xB0-0xB3are all 0,0x2E,0xB0-0xB1are non-zero,0x2E-0x2Fand0xB0-0xB3are non-zero.Hence, I suspect
0x2Eand0x2Fto specify the target speed of the left and right fans, respectively, and then0xB0-0xB1and0xB2-0xB3are the measured RPM of the left and right fans, respectively.Furthermore, I think that
0x48,0x49,0x58,0x59,0x9Drepresent some kind of temperatures as these values got higher in load and then lower again after the fans were turned on for a while.Separately from that,
0xF4can be used to completely stop all fans by setting it to a non-zero value, which is what you are already doing in the configs you uploaded here.Unfortunately, I still have no idea how to set the fans to a manual speed. I would assume that setting
0x2Eand0x2Fvalues would start the fans, but that did not work for me, probably because it is overridden by another process / BIOS.It is interesting, though, that only
0xB2-0xB3and0xF4are present in the DSDT code.It would be super cool if we finally managed to control both fans manually as no one has managed to figure that out yet for HP Spectre.
Attaching a log from when both fans were running:

@github-actions[bot] commented on GitHub (Aug 11, 2020):
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