nbfcservice starts and stops every second or two.
Marekbig opened this issue · 40 comments
Describe the bug
The nbfcservice starts and stops every second or two. This happens with 1.6.3 and 1.7.0. I need to deactivate it in services otherwise uninstall is not possible because nbfcservice starts and stops so often.
To Reproduce
Steps to reproduce the behavior.
Expected behavior
the nbfcservice should run without restarting every second.
System information
windows 10 build 19042 german
- NBFC version 1.6.3 and 1.7.0.
- Acer Nitro AN517-41 AMD 5600h Nvidia 3060
Additional context
Thank you for the log, when you say "1.6.3", do you mean "1.6.3-Revive" (first build from this version), or "1.6.3" from the "old" Hirschmann legacy version?
If no, could you try the "old Hirschmann version"?
If yes, your issue might come from Zenpower sensors for AMD Ryzen. (which is on the roadmap)
i mean the "old" Hirschmann Version 1.6.3.
btw. it runs great on my intel laptop with 9300h nvidia 1660ti
could this work for zenpower? go to Core/Plugins/StagWare.Plugins.FSTemperatureMonitor/FSTemperatureMonitor.cs open it and edit line 28 to include "zenpower" , save and then compile it again ?
Thanks for testing! This should definitely have something to do with Ryzen 5000, because it is VERY new. If we are lucky it is fixed by zenpower, if not, we will have to add compatability for Ryzen 5000 manually. I will take on zenpower, right after I finish the configs. I will leave a test version in this thread
I gave it a try to edit and compile old hirschmanns 1.6.3 and your 1.7.0 but the Issue has not changed. Maybe i did something wrong, first time in my life i had to edit and compile code.
Any Updates?
Currently studying, so no frequent updates. Feel free to try something out and do a PR.
same problem, ryzen 5800u.
I had the same problem back in the day with the legacy hirschmann/nbfc.
Including the new HwMonLib fixed it.
Ws using old lib before that didnt include my processor, hence nbfc couldnt get thermals -> stuck in restart loop.
Any chance the new Lib made it's way to the new releases? Running on a i7-11800H the service still restarts frequently (in GUI this means the radio buttons jumps from "Read-Only" to "Disabled" and back every ~1s) and doesn't show any temp which might cause the issue. And apparently this happens not just for me if I take a look at the issues here.
@ThePhoenixCoding @Aandree94 As I currently only maintain this program and don't actively develop, it would be very appreciated if you would make a PR, adding the new HWMonLib
Unfortunately building is beyond my limitations and I don't have the time to figure this out. But hopefully Aandree94 will step in here :)
Good news, i had exactly the same problem (LG Gram 17 version 2021 with new intel cpu) with stopping and restarting every two seconds. With a local copy of sourcecode and some needed changes (source code and projects) i was able to include the actual version of hardwaremonitorlib and created a working version (windows only): no more stopping, temperature is displayed and fan speed can be changed!
just tried it out: just replace the plugin will do it
Good news, i had exactly the same problem (LG Gram 17 version 2021 with new intel cpu) with stopping and restarting every two seconds. With a local copy of sourcecode and some needed changes (source code and projects) i was able to include the actual version of hardwaremonitorlib and created a working version (windows only): no more stopping, temperature is displayed and fan speed can be changed!
Hey there, could you formulate your changes into a pull request?
I think might switch to LibreHardwareMonitor
instead of OpenHardwareMonitor
for more updated lib, and install it via Nuget not adding as project
just tried it out: just replace the plugin will do it
Tried that. NBFC won't start/stop anymore but the temp is at the lower limit of what an Integer can be instead of ~40°C, fan speed is not displayed properly and fans can't be controlled either, though registers are okay.
@basso314 thanks for your sharing! Work like a charm!
@basso314 thanks for your sharing! Work like a charm!
Hello, how did you work the new dll that basso uploaded? Did you replace it with the dll that is in the program's installation folder? I can't get my GPU FAN to appear. I have a hp gaming 15, ryzer 7 with nvidia gtx 1650. How did you get the program to give you the names of the fans? There is moment that the program works without problems. But there are times when the fans go to 100% and the program cannot control them. They are 100% being that the laptop is less than 35 degrees. It is as if another process or service takes control of the fans. Once this process is finished, the program again controls the fans. Thanks!
"Did you replace it with the dll that is in the program's installation folder?"
Yes, it's in the "plugins" subfolder. Just replace and restart your machine.
For the rest: Did you select a profile that's fitting your notebook? Doesn't sound like that if there is a fan missing.
If you don't have a fitting file, you have to create one yourself. There are some tutorials for that in this github repo.
Does your notebook have any software that can control the fans? Usually gaming notebooks have some kind of control center where you can select fan profiles etc.
Such kinds of software must be uninstalled, thrown out of the autostart or similar for NBFC to work properly.
"Did you replace it with the dll that is in the program's installation folder?" Yes, it's in the "plugins" subfolder. Just replace and restart your machine.
For the rest: Did you select a profile that's fitting your notebook? Doesn't sound like that if there is a fan missing. If you don't have a fitting file, you have to create one yourself. There are some tutorials for that in this github repo.
Does your notebook have any software that can control the fans? Usually gaming notebooks have some kind of control center where you can select fan profiles etc. Such kinds of software must be uninstalled, thrown out of the autostart or similar for NBFC to work properly.
Thank you very much for your reply.
I had indeed done it right before. But it still fails me. (I replaced the DLL)
I don't need to create the file on my notebook because it is already included with the update.
I don't have any programs to manage my fans. I only have Geforme experience installed with the latest drivers (GTX 1650) and the Radeon program for the integrated video (RX vega 10).
It is a HP pavilion 15, with AMD Ryzen 7 3750H, Nvidia GTX 1650.
The only thing you could say that controls the fans, is the option that is in the Bios "fans always on", but nothing else. I deactivated this option, but I don't know if NBFC needs it active.
The attached screenshot for example, the program indicated that the fan was at 25% speed, but the reality is that it had been at 100% for more than 30 minutes. It is as if there was another process on NBFC and after that process ends, NBFC takes over again.
If NBFC has already incorporated the model of my laptop, was it because it was tested and ensured the proper functioning?
It is strange the behavior of the fans. I don't use it for gaming, only for the office and I don't go over 45 degrees. It is impossible that it is always at 100%.
As far as I know, adding and testing the profiles is up to the users. It might be broken or it was just made for an older/newer version of the Pavilion 15 and doesn't work properly because of incompatibility.
What I would suggest:
- Double check that "fans always on" is disabled and you saved while exiting BIOS.
- Go into your energy settings and check that there is no option forcing the fans to run at 100%. Maybe turn "HP Coolsense" on or off, depending on where it's now.
- Set NBFC to "Disabled" and throw it out of the autostart (via the settings button in the down right corner)
- Restart the Machine
I expect that some of those steps lead to a normal fan behavior (fans spinning according to the temperature, not 100% fixed). If not, look for other options to fix this. If you can't, you might still proceed:
Now comes the fun part:
- Download "RWEverything Portable", run it and select the "Embedded Controller" button (might be called EC). There you can see the registers of your Embedded Controller and their values in hexadecimal.
- Download Cinebench R23
- Open the config file from the nbfc installation folder for your notebook in an editor. In there, you will see which registers were set for writing/reading fan speed, which min/max values were set for them etc.
- Closely watch the EC Register Values. Start R23 and see which ones change when the fan speeds change. If you have two fans then you're propably looking for 4 values. 2 write values, 2 read values. The write values should change slightly before the read values. The config file might help you. Maybe some of those values set there are already the ones you are looking for. If you can't see which ones control your fans, you might also just try modifying the registers that are set in the config files to see what happens
- Proceed at own risk, you will propably also void your warranty: If you think you got the right registers, double click the write registers and enter some numbers to see what happens.
If you found out which registers are the correct one for your machine, you can fix the config file. It needs to have the correct registers and the correct min/max values! For me max was 255 in reality but 22 was set in the config file. This way obviously nbfc would have run the fans at ~10 % instead of 100%. Maybe it's the other way around for your device.
Save the fixed config file, load it in nbcf again and see what happens :)
How do you add the GPU fan? It only lets me control the cpu fan but when I enable it, it puts my gpu fan at max and can't control it :/
using the newer openhardwaremonitorlib fixed the issue for me.
using the newer openhardwaremonitorlib fixed the issue for me.
Hi, what model of pc do you have? I have hp gaming 15. If it worked for you, could you leave me the steps you followed and the links to the files? I've been trying to fix the fans for a long time. (the patch solution is to hit the notebook to make them stop hahaha)
@arickec Replace the dll:
#27 (comment)
And then play with existing HP configs.
For HP check out this thread #87 - you can read/write registers using ec-probe.exe.
Hello, I need help with a config file for my pavilion, the exact model is dk-1027la
I've tried all the config files that currently are but none fits to my laptop. I only get the cpu fan to work and it always push ups to 100%. Even If I slide to 0%, it keeps spinning loudly. Maybe someone can help me with my model, I would appreciate it.
I'm running windows 11, and have no other software that controls fan speed.
I was trying to control the fan on my jasper lake mini pc in wondows since it won't go faster than 40% even if i force it in the bios. Unfortunately openhardwaremonitor doesn't have support for my superIOchip (EC) but librehardwaremonitor does.. it's a shame that we can't just switch dll's.
On the bright side, controlling the fan on linux with lm-sensors is a piece of cake.
just tried it out: just replace the plugin will do it
hi, I got the same issue - I also replaced already openhardwaremonitorlib.dll but it doesn't resolve the problem.
Windows 11 Pro , 10.0.22000 Build 22000 german.
HP ZBook Firefly 14 inch G9 Mobile Workstation PC (4C3U5AV)
any suggestions?
OpenHardwareMonitorLib.zip
just tried it out: just replace the plugin will do ithi, I got the same issue - I also replaced already openhardwaremonitorlib.dll but it doesn't resolve the problem.
Windows 11 Pro , 10.0.22000 Build 22000 german. HP ZBook Firefly 14 inch G9 Mobile Workstation PC (4C3U5AV)
any suggestions?
Same problem with my HP Firefly G9. Can't get it to work. Anybody out there, that can help us?
I wonder if there is any way to use LibreHardwareMonitor instead of OpenHardwareMonitor, since I have an i5 12500H and OpenHardwareMonitor doesn't support Alder Lake, even latest versions and swapping dll, when you open the OpenHardwareMonitor program it just doesn't show temperatures, suggesting no Alder Lake support, but with Libre it shows all the sensors you would expect including temperatures.
I managed to make a modification to OHM 0.9.7 version to support Alder Lake Mobile, and now it shows temperature and power, so it fully supports Alder Lake, but unfortunately the same happens when I swap the dll, service starts and stops, the only difference is that now temperature shows up the correct value in the program instead of always showing 0. So at this point I don't know how to fix it.
OpenHardwareMonitorLib.zip
Replace plugin support up to 13 gen, code from
openhardwaremonitor/openhardwaremonitor#1544
OpenHardwareMonitorLib.zip Replace plugin support up to 13 gen, code from openhardwaremonitor/openhardwaremonitor#1544
Thanks, I've been able to use this new lib successfully on a laptop with Intel 12500H, it's an Asus Vivobook S15, previously it would not work at all.
just tried it out: just replace the plugin will do it
Brilliant! After hours and hours of messing about, you nailed it.
Good news, i had exactly the same problem (LG Gram 17 version 2021 with new intel cpu) with stopping and restarting every two seconds. With a local copy of sourcecode and some needed changes (source code and projects) i was able to include the actual version of hardwaremonitorlib and created a working version (windows only): no more stopping, temperature is displayed and fan speed can be changed!
What settings are you using for your LG Gram? I didn't see any LG laptops supported.
Find attached my config ;-)
LG Electronics Gram 17.zip
Thank you! Maybe I should open a new issue, but I ran into a few quirks:
I keep getting stuck unable to change config in the fan controller. in the sub window, the edit button is greyed out. Sometimes I can click the dropdown box and choose something anyway, but usually in this circumstance if I click on the dropdown the options are 4 or so blank lines.
Sometimes that condition gets better after closing and reopening. Right now that hasn't worked several times in a row.
Other times that happens when I have the wrong config selected, and the util cycles between disabled and read only. I can't change the config until I wait until it's in read only and then quickly click disable.
When I imported your settings just now, it only the basic configuration imported. When I went to the fan configuration tab it was blank until I imported a second time on that tab. The register tab is still blank.
Anyway, I think all my issues started when I tried an incompatible config. I'll probably try reinstalling soon.