cancel
Showing results for 
Search instead for 
Did you mean: 

Making of "Official NotebookFanControl NBFC G751JY Profile"

NitroX
Level 10
So, since I was pretty upset about my problems with the NotebookFanController (NBFC) I have studied the program for the last 2 weeks. I have read the NBFC Guide from the developer and I have talked with him on the German forum from where I got the NBFC software. Therefore I have managed to understand how NBFC works and I will try to make a tutorial so all people will know how to work with this program.

I DO NOT recommend Notebook Fan Control to users that do not have experience with monitoring their system temperatures and/or people that are not aware of the risks of using this sort of software.
I DO NOT recommend using Notebook Fan Control if your CPU temperatures are already staying under 80-85C in high load.


Personally, I am always using MSI Afterburner with OnScreenDisplay to monitor my temperatures and frequencies when I'm gaming, and I'm also keeping a monitoring program turned 24/7 when I'm using the laptop.



Update 4 (25.05.2018): I am sorry for all the messages I haven't replied to. I have not been active on the forum for a long time, and I don't think this will change soon. I am very happy to see people are getting along with NBFC and that some of you actually read the whole tutorial to make your own profiles.

You can always get the newest version of NBFC right from the developer's site: https://github.com/hirschmann/nbfc/releases
You can also freely download the CPU+GPU Profile* for G751JY over here: https://1drv.ms/u/s!Am2-POias53yh3eux3zQzhG4m7cl

*Disclaimer: As I said, for many times in this thread, I do not recommend using the CPU+GPU Profile if you are not an experienced user. I will not be made responsible for any hardware/software damage caused by the misuse of the profile.

Update 3 (12.02.2016): There is a new version of NBFC (1.4.2). Download link below! Follow the same steps from Update 2 to install the newest version. For more info about the changes follow the download link:

Update 2 (28.June.2015): There is a new version of NBFC available which has the G751 profile included in the install pack. Also, the developer said that he solved some bugs and issues. I have tested the new version and it works great. Uninstall the older version 1.1.19 -> restart your laptop -> Install the newer version 1.1.34 and select the G751 profile -> Restart your laptop again -> Enjoy your lower temps. (See download link below)

Update1: The G751 single fan profile has been officially added in the NBFC profile list http://www.computerbase.de/forum/showthread.php?t=1070494&page=50&p=17110538#post17110538


Download links:
You can download the G751 profile over here: https://onedrive.live.com/redir?resid=F29DB39AE83CBE6D!766&authkey=!AGWQurkNXivtlNw&ithint=file%2cxm... (This profile is only for controlling the CPU Fan since only CPU temperature problems have been reported)
You can download the 1.1.1.19 NBFC Version from here: https://onedrive.live.com/?cid=f29db39ae83cbe6d&id=F29DB39AE83CBE6D%21763&ithint=file,exe&authkey=!A...
You can download the 1.1.34 NBFC Version from here: https://onedrive.live.com/redir?resid=F29DB39AE83CBE6D!946&authkey=!AGcpvPcYuJxz8wY&ithint=file%2cex...
You can download the 1.1.42 NBFC Version from here: https://github.com/hirschmann/nbfc/releases



If you want to learn how to make your own profiles, read the section below:

Ok, so to get started we must first understand how does the NBFC work. NBFC is capable of controlling our notebook fans by overwriting some values in the Embedded Controller table that stores most of the information about the Power Management of the laptop (Example: temperature readings, battery capacity, both fans speeds, etc.). Here is an example of how the Embedded Controller Table looks like at idle:

47018

As you can see there are many values over there that give information about our laptops well being. I don't know to explain all of them but we don't even need to know. The only 2 values that are important to us in order to control the laptop fans are the "01" values marked with red (CPU) and green (GPU). Those 2 values represent the fans current state. So, for the state 01 we have a certain fan speed which for the CPU is 2200-2300rpm (it varies between) and a for the GPU I have to find out because I can't seem to find any monitor that shows me the GPU fan rpm. You can also see there that I have highlighted 2 more values for each color. Those values are directly connected to the fans state and I have highlighted them so you know why they are always changing in the EC Table.

Now, as I said there are some fan states for the CPU and GPU. Now, those fan states vary from 00 (which means the fans are turned off) to 06 (which means the fans run at max speed). For example we have 3300rpm for CPU at state "06" and for the GPU I must find out because it seems that the GPU fan goes faster than the CPU one at "06" state. And you can see an example in this next screenshot where I highlighted the same registries but with different values for the CPU/GPU fan.

47019


I hope that it is clear until now. Basically what NBFC does is to overwrite the default fan states with the ones that we impose by using a certain profile.

Now, if these things are clear we can go further with how I made a NBFC Profile from scratch, for our ASUS G751. (For other models you should read the developers guide because it is pretty well explained over there).

1) Firstly I have downloaded the latest version of NBFC 1.1.1.19 (Download here https://onedrive.live.com/redir?resid=F29DB39AE83CBE6D!763&authkey=!AD4wusmXdvLOO90&ithint=file%2cex... ) and an application to see the Embedded Controller Table, called ReadWrite Everything version 1.6.7 (Download here https://onedrive.live.com/redir?resid=F29DB39AE83CBE6D!764&authkey=!AEvC-UKeeATDqtQ&ithint=file%2czi... ) .

2) Now, after I have installed the application I had to make a new profile. But, before starting the profile I first had to find the Read/Write registers. Grantig, the developer, has explained well enough how to find the Read/Write registers by using RWEverything and stressing the CPU&GPU. Luckily for me, I already knew that the registers should be 151 for CPU and 152 for GPU because I have used before the profile for ASUS Zenbook UX32LN. So, this part was pretty easy but I had to check if the Read and Write registers are indeed the same because I was having some trouble with the profiles used before. But it is important to know that the Read and Write registers for the CPU and GPU are one and the same. So register 151 is acting as both Read and Write register for the CPU. This means that the NBFC reads the initial fan speeds and CPU temperature from that register and it also writes the new values to control the fans speed. This is quite annoying because the EC will constantly overwrite the default values and you need to find a suitable Poll Interval for the NBFC (see the next step for more infos about Poll Interval).

3) After verifying the Read/Write registers I was able to start making the new profile with NBFC Config Editor. I've hitted "New", added "G751JY" at the Notebook Model and then started to write the values. Now, as you may see, in NBFC there are more values that have to be set. So starting with the first tab "Basic Configuration" I have set the Poll Interval to 3000ms and the Critical Temperature to 100C. The Poll Interval represents how often does NBFC Write to the EC Table. This Poll Interval value is tricky because if you leave it too high, then your fan speed will vary too much because the values written by NBFC will be changed by the default values of the EC. So, after some tests I have seen that 3000ms was too much. Then I have tried setting it to minimum, which means 100ms. But this isn't good either because writing too often in the EC Table left me with some weird values written all over the registers. These values can make your notebook act weird, and I have some personal exampleslike: the fans start bursting into full speed, the battery led starts blinking orange, the battery is not detected, the notebook goes into sleep mode by random, or the battery capacity isn't showing correctly. Most of these problems are repaired by resetting the Embedded Controller by pressing and holding the power button for 10 secs until the battery led shuts off and starts again. Now, after I have found what did cause some of the biggest troubles I have found that a Poll Interval of 500ms is just right to avoid any of them.
Now, the critical temperature is a safe trigger which makes your fans go into 100% when it is reached. But I have set it to 100C as I find it unnecessary and annoying because when the fans are triggered by the Critical Temp. then they won't reduce the rpm until the temperature reaches "Critical temp. - 15C" .
And also in the Basic Configuration Tab we can also see the Read/Write Mode which means that by selecting "Byte" NBFC will only Read/Write in a single register. So, if you set the CPU fan to Read/Write from register 151 then it will only use that register. If you use "Word" then the NBFC will not only Read/Write to register 151 but also into register 152 at the same time. This might be useful for other notebooks but for our ASUS G751 "Byte" option is necessary.

47025




I have continued explaining in the next post!
82,443 Views
100 REPLIES 100

iraqiboy90
Level 9
As an update to the exclaimer/warning list for use of this software, I would like to add:

- Can result in sudden loss of functions of several keyboard keys at the same time. (Cannot confirm because I dont want to go through the same events again)


Scratch that. It was one button that was causing some issues for all the other keys, even though it was not being pressed.