Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Rem0o

FanControl, my take on a SpeedFan replacement

Recommended Posts

Posted · Original PosterOP
9 hours ago, Daleyb93 said:

PID control with a target temperature setpoint would be a great addition to your software [...]

I have a degree in engineering, so I played quite a bit with PID and stuff like that. I considered it and did a quick prototype a while back, but it just doesn't work well for this application. The temperature changes are way to erratic and fast while the relation between fan speed and temperature is too slow and indirect to make anything practical out of this.

Link to post
Share on other sites

I came across this software a few days ago trying to find an alternative to Argus Monitor, and I just registered to say this is fantastic.

 

In case you are interested, system is:

Asus X370 Prime Pro  with Ryzen 9 3950X

Arctic Liquid Freezer II 280 + 2x Noctua NF-A15 140mm + 2x Thermaltake Riing 140 mm (3 pin) 

 

For some reason Argus Monitor crashes my system randomly (Kernel power error in the event log couple of times a day), but so far this one is running like charm. So far 3 days and counting. The fan control of the X370 Prime Pro bios can't use the CPU temperature sensor, and instead uses the socket sensor, and that way is really hard. This is a total ear saver. 

Link to post
Share on other sites

I am getting a lot of errors with a recent update, related to the NZXT Kraken X3:

 

25/10/2020 1:59:09 PM: Unhandled exception in FanControl v1.0.0.0
25/10/2020 1:59:09 PM: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at LibreHardwareMonitor.Hardware.Controller.Nzxt.KrakenX3.Update()
   at FanControl.Domain.UpdateVisitor.VisitHardware(IHardware hardware)
   at LibreHardwareMonitor.Hardware.Computer.Traverse(IVisitor visitor)
   at FanControl.Domain.ComputerAccessLayer.d()
   at FanControl.Domain.ComputerAccessLayer.Update()
   at FanControl.Domain.ApplicationClock.a(Object A_0, ElapsedEventArgs A_1)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

 

I ran the latest source for Libre Harware Monitor and didn't get any exceptions both running the UI and from a console.

Looking at the KrakenX3 class that crashed the code was commited to Libre 5 months ago, so i'm not sure why it is crashing now.

 

Link to post
Share on other sites
Posted · Original PosterOP

 @NextShift

 

That's odd, clearly it is crashing from LibreHardwareMonitor's update routine for the KrakenX3. The only array access in the code that might be making an out of bound is on line 154 here.

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/47ad851feb054246b03d9fcf5df9f041a0caa03d/LibreHardwareMonitorLib/Hardware/Controller/Nzxt/KrakenX3.cs

 

The pump value is read from the buffer and then used as an index in an array. The value is not bound checked or clamped, so it has to be this one.

Link to post
Share on other sites

@Rem0o Hi From the UK, Just wanted to give a massive thanks (sent you a donation) for this software, it's just amazing and a huge leap from speedfan which i was trying to get my head around and was having a google and found this

 

working like a charm on my secondhand build

 

gigabyte 990fxa-ud3 r5

amd fx8350

 

Link to post
Share on other sites
15 hours ago, Rem0o said:

 @NextShift

 

That's odd, clearly it is crashing from LibreHardwareMonitor's update routine for the KrakenX3. The only array access in the code that might be making an out of bound is on line 154 here.

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/47ad851feb054246b03d9fcf5df9f041a0caa03d/LibreHardwareMonitorLib/Hardware/Controller/Nzxt/KrakenX3.cs

 

The pump value is read from the buffer and then used as an index in an array. The value is not bound checked or clamped, so it has to be this one.

 

Seems odd that it didn't throw the exception when running from the latest source.

In any case, I added the clamp and substituted my rebuilt Libre dll in FanControl and it works, so i've submitted a PR to Libre.

Do you normally include the latest Libre build when you update or do I need to request it?

Link to post
Share on other sites
Posted · Original PosterOP
4 hours ago, NextShift said:

Do you normally include the latest Libre build when you update or do I need to request it?

I try to always include the latest.

Link to post
Share on other sites
On 10/26/2020 at 2:04 AM, Rem0o said:

I try to always include the latest.

@Rem0o Maybe it's just mi install but i was wondering if it's possible to speed up the programs launch on windows boot - it seems to be the last thing to load when my windows boots - was wondering a tweak to the task scheduler might sort it (change it from when user logs on to when windows loads maybe?)

 

thanks in advance

 

updated this morning and working well

Link to post
Share on other sites
Posted · Original PosterOP
6 hours ago, btsam said:

@Rem0o Maybe it's just mi install but i was wondering if it's possible to speed up the programs launch on windows boot - it seems to be the last thing to load when my windows boots - was wondering a tweak to the task scheduler might sort it (change it from when user logs on to when windows loads maybe?)

 

thanks in advance

 

updated this morning and working well

I've applied a 30 sec delay at startup because on some cases the app was not starting properly if it tried to open to early. You can tweak it down manually in the Task Scheduler in the "triggers" section.

Link to post
Share on other sites

About half the time when I boot up, FanControl does not open correctly but it is visible in the Task Manager where I have to kill it and manually relaunch it.

Should I increase the startup delay?

Is there any way to debug this?

Link to post
Share on other sites
Posted · Original PosterOP
3 hours ago, NextShift said:

About half the time when I boot up, FanControl does not open correctly but it is visible in the Task Manager where I have to kill it and manually relaunch it.

Should I increase the startup delay?

Is there any way to debug this?

This is the kind of behavior I was trying to overcome with the 30 secs delay.

Link to post
Share on other sites

Hey I just downloaded the application yesterday and it was working just fine. I powered down my computer for the night and turned it on this morning, however it is not starting upon startup. It does not start when I launch it manually now either. Yesterday it would at least give a icon in my taskbar in the bottom right corner but nothing now. I did notice in task manager that it shows up as a background process for just shy of a second and disappears. Any suggestions on how to resolve this? 

 

EDIT: I just fixed the issue. weirdly enough the application launcher was gone from my fan controller folder. I still had the zip file from when I downloaded it yesterday and copy and pasted the application launcher from there and it populated my old settings.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×