nbfc-revive icon indicating copy to clipboard operation
nbfc-revive copied to clipboard

nbfcservice starts and stops every second or two.

Open Marekbig opened this issue 3 years ago • 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

NoteBookFanControlLog.txt

Additional context

Marekbig avatar Jul 14 '21 18:07 Marekbig

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)

UraniumDonut avatar Jul 15 '21 09:07 UraniumDonut

i mean the "old" Hirschmann Version 1.6.3.

btw. it runs great on my intel laptop with 9300h nvidia 1660ti

Marekbig avatar Jul 15 '21 12:07 Marekbig

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 ?

Marekbig avatar Jul 15 '21 13:07 Marekbig

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

UraniumDonut avatar Jul 15 '21 14:07 UraniumDonut

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.

Marekbig avatar Jul 15 '21 18:07 Marekbig

Any Updates?

Marekbig avatar Jul 22 '21 11:07 Marekbig

This happened on i5-11300h too When using ec-probe, work fine

image

NoteBookFanControlLog.txt

azhe403 avatar Jul 25 '21 02:07 azhe403

Currently studying, so no frequent updates. Feel free to try something out and do a PR.

UraniumDonut avatar Jul 27 '21 05:07 UraniumDonut

same problem, ryzen 5800u.

hh1599 avatar Aug 15 '21 00:08 hh1599

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.

Aandree94 avatar Aug 25 '21 05:08 Aandree94

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 avatar Nov 11 '21 08:11 ThePhoenixCoding

@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

UraniumDonut avatar Nov 11 '21 12:11 UraniumDonut

Unfortunately building is beyond my limitations and I don't have the time to figure this out. But hopefully Aandree94 will step in here :)

ThePhoenixCoding avatar Nov 11 '21 14:11 ThePhoenixCoding

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!

basso314 avatar Nov 12 '21 14:11 basso314

@basso314 Care to share please? 😇

Hammer57 avatar Nov 12 '21 22:11 Hammer57

OpenHardwareMonitorLib.zip

just tried it out: just replace the plugin will do it

basso314 avatar Nov 12 '21 22:11 basso314

@basso314 thanks for your sharing! Work like a charm!

image

azhe403 avatar Nov 13 '21 10:11 azhe403

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?

UraniumDonut avatar Nov 15 '21 08:11 UraniumDonut

I think might switch to LibreHardwareMonitor instead of OpenHardwareMonitor for more updated lib, and install it via Nuget not adding as project

azhe403 avatar Nov 15 '21 17:11 azhe403

OpenHardwareMonitorLib.zip

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.

ThePhoenixCoding avatar Nov 30 '21 15:11 ThePhoenixCoding

@basso314 thanks for your sharing! Work like a charm!

image

@basso314 thanks for your sharing! Work like a charm!

image

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!

arickec avatar Dec 23 '21 14:12 arickec

"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.

ThePhoenixCoding avatar Dec 25 '21 11:12 ThePhoenixCoding

"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. Captura de pantalla 2021-12-26 190419

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%.

arickec avatar Dec 28 '21 15:12 arickec

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 :)

ThePhoenixCoding avatar Dec 28 '21 15:12 ThePhoenixCoding

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 :/

TiagoRibeiro25 avatar May 27 '22 18:05 TiagoRibeiro25

using the newer openhardwaremonitorlib fixed the issue for me.

Kyr4l avatar Jun 19 '22 13:06 Kyr4l

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 avatar Jun 19 '22 19:06 arickec

@arickec Replace the dll: https://github.com/UraniumDonut/nbfc-revive/issues/27#issuecomment-967684864 And then play with existing HP configs. For HP check out this thread https://github.com/UraniumDonut/nbfc-revive/issues/87 - you can read/write registers using ec-probe.exe.

dzid26 avatar Jun 20 '22 00:06 dzid26

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.

StarMember74 avatar Jul 16 '22 21:07 StarMember74

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.

nikkopt avatar Aug 11 '22 18:08 nikkopt