[GH-ISSUE #246] How do I identify the registry that controls fan speed? #218

Closed
opened 2026-02-26 00:32:03 +03:00 by kerem · 20 comments
Owner

Originally created by @smtrejo on GitHub (May 25, 2017).
Original GitHub issue: https://github.com/hirschmann/nbfc/issues/246

More than an issue mine is a question as I didn't find a better place to ask.

I know there's a tool included to dump the EC regs to a text file. How do I know which are the ones that control the fan for my specific model?

I'll try to make a config for a HP Pavilion dv7 1240us as from what I remember a while ago I tried the HP Pavilion dv6 config and didn't work for me. By the way, this model (dv7 1240us) doesn't have a "fan control service" (Windows service I assume) and the fan is a 2-wire connector (black and red), so speed's controlled by voltage provided by the motherboard.

Thanks in advance.

Originally created by @smtrejo on GitHub (May 25, 2017). Original GitHub issue: https://github.com/hirschmann/nbfc/issues/246 More than an issue mine is a question as I didn't find a better place to ask. I know there's a tool included to dump the EC regs to a text file. How do I know which are the ones that control the fan for my specific model? I'll try to make a config for a HP Pavilion dv7 1240us as from what I remember a while ago I tried the HP Pavilion dv6 config and didn't work for me. By the way, this model (dv7 1240us) doesn't have a "fan control service" (Windows service I assume) and the fan is a 2-wire connector (black and red), so speed's controlled by voltage provided by the motherboard. Thanks in advance.
kerem 2026-02-26 00:32:03 +03:00
  • closed this issue
  • added the
    question
    label
Author
Owner

@smtrejo commented on GitHub (May 25, 2017):

I found this config for a DV7:

https://github.com/hirschmann/nbfc/issues/137

I'll give it a try and reply.

By the way, for other users, NBFC CLI (Notebook Fancontrol Command Line Interface) has a "recommend" command:

hirschmann commented on Dec 30 2016

Btw the NBFC CLI is able to recommend configs:
nbfc config --recommend

https://github.com/hirschmann/nbfc/issues/139

<!-- gh-comment-id:304146820 --> @smtrejo commented on GitHub (May 25, 2017): I found this config for a DV7: https://github.com/hirschmann/nbfc/issues/137 I'll give it a try and reply. By the way, for other users, NBFC CLI (Notebook Fancontrol Command Line Interface) has a "recommend" command: > hirschmann commented on Dec 30 2016 > > Btw the NBFC CLI is able to recommend configs: > nbfc config --recommend https://github.com/hirschmann/nbfc/issues/139
Author
Owner

@kocane commented on GitHub (May 26, 2017):

I've just found this software and I'm keen on getting it to work with my elitebook 840 G1. Non of the existing profiles seem to do too great a job. Some seem to read fan speed (and allow setting it), but setting the lowest fan speed isn't really all that quiet..

Our models aren't similar but if you discover more on how to create a config for an unsupported model, then please let me know. Right now I don't really know what to do with the EC probe dumps...

<!-- gh-comment-id:304403418 --> @kocane commented on GitHub (May 26, 2017): I've just found this software and I'm keen on getting it to work with my elitebook 840 G1. Non of the existing profiles seem to do too great a job. Some seem to read fan speed (and allow setting it), but setting the lowest fan speed isn't really all that quiet.. Our models aren't similar but if you discover more on how to create a config for an unsupported model, then please let me know. Right now I don't really know what to do with the EC probe dumps...
Author
Owner

@smtrejo commented on GitHub (May 26, 2017):

Hey @kocane , I'm also a newbie on the world of EC regs, but I found a post that could help. It consists on constantly checking the changing values at the EC table to determine the registers that control fan speed: http://voltground.com/haven/threads/69/

As I read at the manual:

Additionally on some notebooks there is a BIOS option named "fan always on while on AC power" (or similar).
You have to deactivate this option in order to give NBFC the opportunity to completely deactivate the fan.

In your case maybe turning off this option at BIOS settings may suffice.

<!-- gh-comment-id:304407677 --> @smtrejo commented on GitHub (May 26, 2017): Hey @kocane , I'm also a newbie on the world of EC regs, but I found a post that could help. It consists on constantly checking the changing values at the EC table to determine the registers that control fan speed: http://voltground.com/haven/threads/69/ [As I read at the manual](http://forum.notebookreview.com/attachments/notebook-fancontrol-user-manual-pdf.105862/): > Additionally on some notebooks there is a BIOS option named "fan always on while on AC power" (or similar). > You have to deactivate this option in order to give NBFC the opportunity to completely deactivate the fan. In your case maybe turning off this option at BIOS settings may suffice.
Author
Owner

@kocane commented on GitHub (May 27, 2017):

Thanks! I'll have a look at that post later tonight, I think.

My laptop does indeed have a function to not force fan while on AC but it's really the on/off/on/off cycle that bothers me. It's nice when the laptop is fully quiet but sometimes a very low fan may be even easier to get used to.

<!-- gh-comment-id:304440523 --> @kocane commented on GitHub (May 27, 2017): Thanks! I'll have a look at that post later tonight, I think. My laptop does indeed have a function to _not_ force fan while on AC but it's really the on/off/on/off cycle that bothers me. It's nice when the laptop is fully quiet but sometimes a very low fan may be even easier to get used to.
Author
Owner

@kocane commented on GitHub (May 28, 2017):

Mmh, I give up for now. The read/write EC is correct and I can indeed adjust the fan speed in RW Everything, and I try to translate the max and min values into decimal and then put em into NBFC. It kinda works but it doesn't seem to have much regard for my auto-fan adjustments and also it seems to just live its own life sometimes, where I gotta shut off the laptop and pull out the battery for it to "reset".

That being said, I guess it is hardly relevant to your trouble :-P

<!-- gh-comment-id:304511803 --> @kocane commented on GitHub (May 28, 2017): Mmh, I give up for now. The read/write EC is correct and I can indeed adjust the fan speed in RW Everything, and I try to translate the max and min values into decimal and then put em into NBFC. It kinda works but it doesn't seem to have much regard for my auto-fan adjustments and also it seems to just live its own life sometimes, where I gotta shut off the laptop and pull out the battery for it to "reset". That being said, I guess it is hardly relevant to your trouble :-P
Author
Owner

@rwese commented on GitHub (May 29, 2017):

@kocane it can be tricky to get the addresses right. if it fails to reset the automatic/manual mode the memory address or default/reset-value is likely wrong.

<!-- gh-comment-id:304575625 --> @rwese commented on GitHub (May 29, 2017): @kocane it can be tricky to get the addresses right. if it fails to reset the automatic/manual mode the memory address or default/reset-value is likely wrong.
Author
Owner

@kocane commented on GitHub (May 30, 2017):

@rwese where can I tweak that?

<!-- gh-comment-id:304962611 --> @kocane commented on GitHub (May 30, 2017): @rwese where can I tweak that?
Author
Owner

@hirschmann commented on GitHub (Jun 13, 2017):

Check out https://github.com/hirschmann/nbfc/wiki/How-to-create-a-NBFC-config

<!-- gh-comment-id:308122715 --> @hirschmann commented on GitHub (Jun 13, 2017): Check out https://github.com/hirschmann/nbfc/wiki/How-to-create-a-NBFC-config
Author
Owner

@mirh commented on GitHub (Jun 13, 2017):

I also had a DSDT parser in the works.
Anyway why are you using 5 years old iasl?

<!-- gh-comment-id:308136118 --> @mirh commented on GitHub (Jun 13, 2017): I also had a DSDT parser in the works. Anyway why are you using 5 years old iasl?
Author
Owner

@hirschmann commented on GitHub (Jun 13, 2017):

I couldn't find a more up-to-date version of the DSDT Editor linked in the tutorial, but imho it's still the best platform independent DSDT editor available.
If you prefer a more up-to-date iasl, just replace the version which is shipped with the editor with an updated one.

<!-- gh-comment-id:308142348 --> @hirschmann commented on GitHub (Jun 13, 2017): I couldn't find a more up-to-date version of the DSDT Editor linked in the tutorial, but imho it's still the best platform independent DSDT editor available. If you prefer a more up-to-date iasl, just replace the version which is shipped with the editor with an updated one.
Author
Owner

@mirh commented on GitHub (Jun 13, 2017):

Oh sorry, I thought it was a tool of yours.

<!-- gh-comment-id:308165242 --> @mirh commented on GitHub (Jun 13, 2017): Oh sorry, I [thought](https://web.archive.org/web/20120519053449/http://www.insanelymac.com/forum/index.php?showtopic=223205) it was a tool of yours.
Author
Owner

@hirschmann commented on GitHub (Jun 13, 2017):

No problem :)
If you've finished your DSDT parser, please let me know!

<!-- gh-comment-id:308167653 --> @hirschmann commented on GitHub (Jun 13, 2017): No problem :) If you've finished your DSDT parser, please let me know!
Author
Owner

@mirh commented on GitHub (Jun 13, 2017):

> finish exams
> relax finish another parser for CPUID whatever
> .... ?
> profit!

<!-- gh-comment-id:308172101 --> @mirh commented on GitHub (Jun 13, 2017): \> finish exams \> ~~relax~~ finish *another* parser for CPUID whatever \> .... ? \> profit!
Author
Owner

@hirschmann commented on GitHub (Jun 13, 2017):

Good luck with your exams :)

<!-- gh-comment-id:308176434 --> @hirschmann commented on GitHub (Jun 13, 2017): Good luck with your exams :)
Author
Owner

@kocane commented on GitHub (Jul 11, 2017):

@hirschmann Made this work beautifully with my 840 G1 btw! Amazing tool, wish it was around back in the day with all them noise laptops I've had. It's especially great with this undervolted i7 since it floats around 45-55c in temperature but doesn't really go over 60 even when watching 720p video. Before the fan would kick in at 50c so it was really a lot of on/off. Putting this to 65 ensures quietness most of the time :-3

<!-- gh-comment-id:314538103 --> @kocane commented on GitHub (Jul 11, 2017): @hirschmann Made this work beautifully with my 840 G1 btw! Amazing tool, wish it was around back in the day with all them noise laptops I've had. It's especially great with this undervolted i7 since it floats around 45-55c in temperature but doesn't really go over 60 even when watching 720p video. Before the fan would kick in at 50c so it was really a lot of on/off. Putting this to 65 ensures quietness most of the time :-3
Author
Owner

@Tuimalila commented on GitHub (Mar 22, 2018):

@kocane How did you get it to work. I also have 840 G1 and it is driving me and my coworkers crazy with the constant noise the fans make. I've tried this utility but sometimes it works and others it doesn't since it does not have a configuration for 840. Can you upload your configuration or did you use some preconfigured one?

<!-- gh-comment-id:375234532 --> @Tuimalila commented on GitHub (Mar 22, 2018): @kocane How did you get it to work. I also have 840 G1 and it is driving me and my coworkers crazy with the constant noise the fans make. I've tried this utility but sometimes it works and others it doesn't since it does not have a configuration for 840. Can you upload your configuration or did you use some preconfigured one?
Author
Owner

@kocane commented on GitHub (Mar 22, 2018):

@Tuimalila my 840 G1 configuration isn't perfect, the fan speed reading seems to be wrong most of the time but it works fine for me. I've primarily just used the tool to basically increase the temp my computer needs to reach before the fans kick in. How hot is your PC, I mean the fans kicking in at 50c is just enough to annoy me when I sit alone in a quiet room but in a work environment, I'm surpriced anyone hear it.

I've attached my configuration:
HP EliteBook 840 G1.txt
Rename txt to xml

Remember it wont help much if there's some proces thats using the CPU enough for it to rise to the 70c, which I've set to the temperature where the fans should kick in, instead of 50c. It was simply because the computer easily can idle at 45-55c with the fan off, if there's little CPU activity.

<!-- gh-comment-id:375240904 --> @kocane commented on GitHub (Mar 22, 2018): @Tuimalila my 840 G1 configuration isn't perfect, the fan speed reading seems to be wrong most of the time but it works fine for me. I've primarily just used the tool to basically increase the temp my computer needs to reach before the fans kick in. How hot is your PC, I mean the fans kicking in at 50c is just enough to annoy me when I sit alone in a quiet room but in a work environment, I'm surpriced anyone hear it. I've attached my configuration: [HP EliteBook 840 G1.txt](https://github.com/hirschmann/nbfc/files/1836906/HP.EliteBook.840.G1.txt) Rename txt to xml Remember it wont help much if there's some proces thats using the CPU enough for it to rise to the 70c, which I've set to the temperature where the fans should kick in, instead of 50c. It was simply because the computer easily can idle at 45-55c with the fan off, if there's little CPU activity.
Author
Owner

@Tuimalila commented on GitHub (Mar 22, 2018):

@kocane Thank you very much. Will try it out.

Edit: After a few hours everything is still quiet and the CPU temperature is around 50-55 with a normal workload (this was also true before, but as you mentioned, the fans kicked in with a full force at 50 degrees). Thank you again, this really made a big difference.

<!-- gh-comment-id:375241444 --> @Tuimalila commented on GitHub (Mar 22, 2018): @kocane Thank you very much. Will try it out. Edit: After a few hours everything is still quiet and the CPU temperature is around 50-55 with a normal workload (this was also true before, but as you mentioned, the fans kicked in with a full force at 50 degrees). Thank you again, this really made a big difference.
Author
Owner

@theworm90 commented on GitHub (Apr 21, 2020):

No problem :)
If you've finished your DSDT parser, please let me know!
Hi I followed your guide to identify the addresses in the EC table, but I can't understand how to identify the correct ones, I have an asus x555la laptop if anyone can tell me how to test with rw everything

<!-- gh-comment-id:617137897 --> @theworm90 commented on GitHub (Apr 21, 2020): > No problem :) > If you've finished your DSDT parser, please let me know! Hi I followed your guide to identify the addresses in the EC table, but I can't understand how to identify the correct ones, I have an asus x555la laptop if anyone can tell me how to test with rw everything
Author
Owner

@xeniachile commented on GitHub (Oct 16, 2020):

with rweverything I have detected the value 183 as possible speed but when trying to change it it returns to its original value

what's going on, any suggestions?

<!-- gh-comment-id:709654507 --> @xeniachile commented on GitHub (Oct 16, 2020): with rweverything I have detected the value 183 as possible speed but when trying to change it it returns to its original value what's going on, any suggestions?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nbfc-hirschmann#218
No description provided.