Jump to content

FanControl, my take on a SpeedFan replacement

Hi Rem0o, 

 

I have been using your program after I just built my PC over the weekend, and I am enjoying it very much. One thing I noticed, however, is that the software only installed to my profile (my wife also has a profile on this PC). So when I use the computer, the custom curves work, but when she uses her profile, since the software does not show up in her files, her curves default to the BIOS settings. 

 

Did I install this incorrectly? Is there a way to make this work so its the same settings that run across multiple accounts (on the same PC)? 

 

Thank you again! 

Link to comment
Share on other sites

Link to post
Share on other sites

Another issue I noticed is that I keep getting errors regarding the Speed Sensor and Control Sensors when my system boots. Currently, the start up delay is set to 30 seconds. Is it normal to increase the delay time even beyond that? Or did I break something in the logic that is causing these to always pop up?

 

Capture1.thumb.JPG.3e6445c1ac7018b8f504667a471aec51.JPGCapture2.thumb.JPG.c40fc8591de1964016dc1707a7316338.JPG

Link to comment
Share on other sites

Link to post
Share on other sites

Hey @Rem0o I love your software, it is the best fan control software I've used.
I want to suggest some new features that I would absolute love:

 

Fan curve based on CPU/GPU Usage %
Fan Static Speed if a determined program is running


Let me try to explain why I want those features.

I want to do a "Zero RPM" for my case fans, i.e. only activate the case fans when GPU/CPU hits a certain temperature, otherwise the fans stays off.
However there are few problems when gaming. There are some situations where the temps drop and go up quickly, making the fans turn off and spin up. For example when you open/close a menu, the gpu temps go down when you open it and up when you go back to the game. I could solve that with a static min speed whenever a game is running.
 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Updated to version 114 and also to 115 but can't get the HWinfo Plugin to work.

 

Downloaded latest pre-compiled binary and copied only FanControl.HWInfo.dll & pdf to the plugin folder but plugin is not shown in the app.

 

What am I doing wrong?

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, C4rnage said:

Fan Static Speed if a determined program is running

That's actually a good suggestion. You are describing Application and profile linking.

 

You could have a default profile that manages fan speed until and unless a specific application is launched, at which point FanControl would detect that software running and switch to the linked profile.

 

Corsair iCue has this functionality. You can link profiles with applications so that specific applications have specific lighting, macros, fan controls, sound settings, mouse settings, keyboard settings, etc enabled. When iCue does not detect any of your linked applications as the "active" Window it switches back to the default profile.

 

Probably not the easiest thing to implement, though.

BabyBlu (Primary): 

  • CPU: Intel Core i9 9900K @ up to 5.3GHz, 5.0GHz all-core, delidded
  • Motherboard: Asus Maximus XI Hero
  • RAM: G.Skill Trident Z RGB 4x8GB DDR4-3200 @ 4000MHz 16-18-18-34
  • GPU: MSI RTX 2080 Sea Hawk EK X, 2070MHz core, 8000MHz mem
  • Case: Phanteks Evolv X
  • Storage: XPG SX8200 Pro 2TB, 3x ADATASU800 1TB (RAID 0), Samsung 970 EVO Plus 500GB
  • PSU: Corsair HX1000i
  • Display: MSI MPG341CQR 34" 3440x1440 144Hz Freesync, Dell S2417DG 24" 2560x1440 165Hz Gsync
  • Cooling: Custom water loop (CPU & GPU), Radiators: 1x140mm(Back), 1x280mm(Top), 1x420mm(Front)
  • Keyboard: Corsair Strafe RGB (Cherry MX Brown)
  • Mouse: MasterMouse MM710
  • Headset: Corsair Void Pro RGB
  • OS: Windows 10 Pro

Roxanne (Wife Build):

  • CPU: Intel Core i7 4790K @ up to 5.0GHz, 4.8Ghz all-core, relidded w/ LM
  • Motherboard: Asus Z97A
  • RAM: G.Skill Sniper 4x8GB DDR3-2400 @ 10-12-12-24
  • GPU: EVGA GTX 1080 FTW2 w/ LM
  • Case: Corsair Vengeance C70, w/ Custom Side-Panel Window
  • Storage: Samsung 850 EVO 250GB, Samsung 860 EVO 1TB, Silicon Power A80 2TB NVME
  • PSU: Corsair AX760
  • Display: Samsung C27JG56 27" 2560x1440 144Hz Freesync
  • Cooling: Corsair H115i RGB
  • Keyboard: GMMK TKL(Kailh Box White)
  • Mouse: Glorious Model O-
  • Headset: SteelSeries Arctis 7
  • OS: Windows 10 Pro

BigBox (HTPC):

  • CPU: Ryzen 5800X3D
  • Motherboard: Gigabyte B550i Aorus Pro AX
  • RAM: Corsair Vengeance LPX 2x8GB DDR4-3600 @ 3600MHz 14-14-14-28
  • GPU: MSI RTX 3080 Ventus 3X Plus OC, de-shrouded, LM TIM, replaced mem therm pads
  • Case: Fractal Design Node 202
  • Storage: SP A80 1TB, WD Black SN770 2TB
  • PSU: Corsair SF600 Gold w/ NF-A9x14
  • Display: Samsung QN90A 65" (QLED, 4K, 120Hz, HDR, VRR)
  • Cooling: Thermalright AXP-100 Copper w/ NF-A12x15
  • Keyboard/Mouse: Rii i4
  • Controllers: 4X Xbox One & 2X N64 (with USB)
  • Sound: Denon AVR S760H with 5.1.2 Atmos setup.
  • OS: Windows 10 Pro

Harmonic (NAS/Game/Plex/Other Server):

  • CPU: Intel Core i7 6700
  • Motherboard: ASRock FATAL1TY H270M
  • RAM: 64GB DDR4-2133
  • GPU: Intel HD Graphics 530
  • Case: Fractal Design Define 7
  • HDD: 3X Seagate Exos X16 14TB in RAID 5
  • SSD: Inland Premium 512GB NVME, Sabrent 1TB NVME
  • Optical: BDXL WH14NS40 flashed to WH16NS60
  • PSU: Corsair CX450
  • Display: None
  • Cooling: Noctua NH-U14S
  • Keyboard/Mouse: None
  • OS: Windows 10 Pro

NAS:

  • Synology DS216J
  • 2x8TB WD Red NAS HDDs in RAID 1. 8TB usable space
Link to comment
Share on other sites

Link to post
Share on other sites

18 hours ago, Reavermaster said:

Updated to version 114 and also to 115 but can't get the HWinfo Plugin to work.

 

Downloaded latest pre-compiled binary and copied only FanControl.HWInfo.dll & pdf to the plugin folder but plugin is not shown in the app.

 

What am I doing wrong?

I'm having the exact same problem, had to restore V108 from a month old backup in order to resolve this as none of the instructions or linked files worked in a dozen different permutations.

 

Got told to RTFM v0v

Link to comment
Share on other sites

Link to post
Share on other sites

It's odd, my HWInfo plugin is working with the latest versions. Have you checked that the dlls are not locked by windows security (if you have your FanControl in Program Files)?

 

To do so, right click on FanControl.HWInfo.dll, go to Properties and click on Unlock.

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, tenuis said:

It's odd, my HWInfo plugin is working with the latest versions. Have you checked that the dlls are not locked by windows security (if you have your FanControl in Program Files)?

 

To do so, right click on FanControl.HWInfo.dll, go to Properties and click on Unlock.

Okay - DLL security was a good hint but now I get the following error again and again in the log:
24.05.2022 23:44:35: Unhandled exception in FanControl v1.0.0.0
24.05.2022 23:44:35: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei FanControl.HWInfo.HWInfoRegistry.UpdateValues(HWInfoPluginSensor[] sensors)
   bei FanControl.HWInfo.HWInfoPlugin.Update()
   bei FanControl.Domain.BackendProviders.Plugin.PluginBackendProvider.Update()
   bei System.Collections.Generic.List`1.ForEach(Action`1 action)
   bei FanControl.Domain.ComputerAccessLayer.Update()
   bei FanControl.Domain.ApplicationClock.DoActions()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
24.05.2022 23:44:36: Unhandled exception in FanControl v1.0.0.0
24.05.2022 23:44:36: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei FanControl.HWInfo.HWInfoRegistry.UpdateValues(HWInfoPluginSensor[] sensors)
   bei FanControl.HWInfo.HWInfoPlugin.Update()
   bei FanControl.Domain.BackendProviders.Plugin.PluginBackendProvider.Update()
   bei System.Collections.Generic.List`1.ForEach(Action`1 action)
   bei FanControl.Domain.ComputerAccessLayer.Update()
   bei FanControl.Domain.ApplicationClock.DoActions()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 weeks later...

Question is there a list whit third party controller this program can work. 
want to take a usb2 interface from motherboard to some fans and control this whit this program. 

And which one is good to be used
Corsair icue commander core (but saw somewhere alot of complains about the software )
Aquacomputer QUADRO Fan Controller. 
 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

This is an awesome project. So awesome I donated $10! Big ups to everyone responsible for making it possible!😄

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

I am using fan control on a new x570s Aorus Master. I have all fans working but one of the  Speed cards is not linking to any of the Control cards. Would Copy+pasating my error logs help?

Link to comment
Share on other sites

Link to post
Share on other sites

Hey Rem0o,

 

You have made an awesome program for the fans!

I do have a question about Fan Control. I cannot select System fan 3 even though it says that it is working without a curve.

And does Fan control function for AMD GPU cards, if so, how do I set that up?

 

 

Fan control PNG.PNG

Link to comment
Share on other sites

Link to post
Share on other sites

I have to use the HWInfo plugin to get to my Water In and Water Out temperatures.

 

I kept getting the dreaded "HWInfo Sensor Change" exception, which would break the sensors. Stacktrace:

7/7/2022 3:09:01 PM: Unhandled exception in FanControl v1.0.0.0
7/7/2022 3:09:01 PM: System.Exception: HWInfo sensors were changed during operation
   at FanControl.HWInfo.HWInfoPlugin.Update() in C:\projects\fancontrol-hwinfo\HWInfoPlugin.cs:line 68
   at FanControl.Domain.BackendProviders.Plugin.PluginBackendProvider.Update()
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at FanControl.Domain.ComputerAccessLayer.Update()
   at FanControl.Domain.ApplicationClock.DoActions()
--- 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)

 

Sooo I checked out the source code for the plugin and removed the exceptions (I know HWInfo is still running):

                if (!hwinfo.IsActive())
                {
                    // Do nothing
                    //Close();
                    //throw new Exception("HWInfo was closed during operation.");
                }

                if (!hwinfo.UpdateValues(_sensors))
                {
                    // Do nothing
                    //Close();
                    //throw new Exception("HWInfo sensors were changed during operation");
                }

Recompiled, tossed the new dll into the plugins directory, and it's been smooth sailing ever since.

This is an ugly hack, but thought it could help someone out there.

Link to comment
Share on other sites

Link to post
Share on other sites

19 hours ago, radish said:

I have to use the HWInfo plugin to get to my Water In and Water Out temperatures.

 

I kept getting the dreaded "HWInfo Sensor Change" exception, which would break the sensors. Stacktrace:

7/7/2022 3:09:01 PM: Unhandled exception in FanControl v1.0.0.0
7/7/2022 3:09:01 PM: System.Exception: HWInfo sensors were changed during operation
   at FanControl.HWInfo.HWInfoPlugin.Update() in C:\projects\fancontrol-hwinfo\HWInfoPlugin.cs:line 68
   at FanControl.Domain.BackendProviders.Plugin.PluginBackendProvider.Update()
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at FanControl.Domain.ComputerAccessLayer.Update()
   at FanControl.Domain.ApplicationClock.DoActions()
--- 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)

 

Sooo I checked out the source code for the plugin and removed the exceptions (I know HWInfo is still running):

                if (!hwinfo.IsActive())
                {
                    // Do nothing
                    //Close();
                    //throw new Exception("HWInfo was closed during operation.");
                }

                if (!hwinfo.UpdateValues(_sensors))
                {
                    // Do nothing
                    //Close();
                    //throw new Exception("HWInfo sensors were changed during operation");
                }

Recompiled, tossed the new dll into the plugins directory, and it's been smooth sailing ever since.

This is an ugly hack, but thought it could help someone out there.

Could you identify which sensor went missing ?

Link to comment
Share on other sites

Link to post
Share on other sites

Of course! Thank you, by the way, for creating this outstanding software. It's an absolute game-changer for me. My motherboard is the ASUS ROG Maximus Z690 Formula. I run an open loop, and I wanted to base all my fan curves off of the coolant temperature. There are two sensors for that: Water In, and Water Out, on the motherboard. Not sure why HWiNFO64 randomly reports losing track of them - because without the thrown exceptions, the reporting continues to work as expected.

 

image.png.0804e0af402a715977735c2b2c228177.png

 

Hit me up if you have any more questions. Happy to send you my contact info.

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, radish said:

Of course! Thank you, by the way, for creating this outstanding software. It's an absolute game-changer for me. My motherboard is the ASUS ROG Maximus Z690 Formula. I run an open loop, and I wanted to base all my fan curves off of the coolant temperature. There are two sensors for that: Water In, and Water Out, on the motherboard. Not sure why HWiNFO64 randomly reports losing track of them - because without the thrown exceptions, the reporting continues to work as expected.

 

image.png.0804e0af402a715977735c2b2c228177.png

 

Hit me up if you have any more questions. Happy to send you my contact info.

 

Could you add code in the plugin to identify which one goes missing when UpdateValues returns false? Otherwise I guess I will do that anyway as it will make it easier to track down issues.

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/22/2022 at 9:25 AM, Master_Ill said:

Another issue I noticed is that I keep getting errors regarding the Speed Sensor and Control Sensors when my system boots. Currently, the start up delay is set to 30 seconds. Is it normal to increase the delay time even beyond that? Or did I break something in the logic that is causing these to always pop up?

 

Capture1.thumb.JPG.3e6445c1ac7018b8f504667a471aec51.JPGCapture2.thumb.JPG.c40fc8591de1964016dc1707a7316338.JPG

all of a sudden today I am having similar issue at boot  

 

any idea how to fix this? my PC cant live without Fancontrol you know🥰

 

image.png.56aae180a1145f9f4c05169ca72366ff.png

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...
On 7/12/2022 at 3:36 PM, nolive721 said:

all of a sudden today I am having similar issue at boot  

 

any idea how to fix this? my PC cant live without Fancontrol you know🥰

 

image.png.56aae180a1145f9f4c05169ca72366ff.png

I struggled with this for a while. Eventually what solved it was to delete the fan profile, delete fan control then “re-install” it and create a new fan profile. Delayed start is 30secs.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 5 weeks later...
On 8/31/2019 at 10:01 PM, Rem0o said:

______________________________

Version updated date: 05/01/2022

 

Current update version: 118
 

Main program

https://github.com/Rem0o/FanControl.Releases/releases

Direct Download

 

HwInfo sensors plugin

https://github.com/Rem0o/FanControl.HWInfo

Dell laptops plugin

https://github.com/Rem0o/FanControl.DellPlugin

______________________________

 

To run at startup: Use the new "Start with Windows" option in the left hamburger menu

______________________________

 

Tutorials:

 

 

 

 

MainUI.png.0ea3f37f3214049bf6471fe5cdc276e1.png

 

 

 

GraphDialog.png.5110decbebbe48bf39b3bb5b7565bb29.png

 

______________________________


       TLDR

______________________________

 

I built a new custom UI on top of OpenHardwareMonitor with additional features, mainly linear fan curves with custom temperature sources.

 

______________________________


     STORY

______________________________

 

As you guys may know, SpeedFan is sadly not updated anymore, so newer boards are not detected properly. 

 

The main feature I used was the custom fan curves with custom temperature sources. I used it to bind my case fans speed to the hottest component of my PC, my GPU. 

(My BIOS only supports CPU temperature as a temperature source for the PWM fans).

 

I searched around for an alternative software with this particular feature and only found a paid option (Angus Monitor).

 

However, I also came around this:


https://github.com/openhardwaremonitor/openhardwaremonitor

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor

 

The first link is an original project which could be downloaded here https://openhardwaremonitor.org/, but just like SpeedFan, the project is not updated anymore.

However, thanks to the code base being open sourced, there are a couple of active branches, LibreHardwareMonitor being the best one I found, supporting my MSI Z390 Edge AC board and being updated regularly.

OpenHardwareMonitor is divided into two parts, an API to interact with your hardware ( CPU, RAM, Fans... ) and a UI. The existing UI is a HWMonitor clone that allows to set a manual fan speed to any fan, but no temperature/speed fan curve here.

( sigh )

 

So I decided to make my own lightweight application with the OpenHardwareMonitorLib API, and here is what I got so far...        

 

Current features:

  • OTA update
  • Multi-config support with quick-switch from tray icon
  • Dark/light mode + colors
  • Graph fan curves
  • Linear fan curves
  • Flat fan curves
  • Mixed fan curves
  • Sync fan curves
  • Custom name for each fan / curve / control
  • Material UI ( thanks to http://materialdesigninxaml.net/ )
  • Smooth fan speed transitions
  • Custom temperature source
  • Automatic or manual matching between your controls and fan speeds
  • Activation% (dead zone) for each fan
  • Saves your current configuration and reload it on startup
  • Board support is updated whenever the API gets an update!

 

Please note that this is a small personal project. It works great for my needs but I didn't test it on a hundred different motherboards. Take it as it is. If it works on your current setup, well you got your fan control situation sorted at least until you change your motherboard!

 

If you want to help me out a bit or give me feedback, I included some links/button in the left hamburger menu out of the way to send me an email

or to pay me a 🍺 ... or 🍺🍺🍺.

 

I will also keep an eye on this thread to see how it goes.

 

Confirmed compatibility list from members

  Reveal hidden contents

AsRock H97M Pro 4
ASRock Steel Legend B450M

Asrock Z390 Mini-ITX

Asus Strix Z270G

Asus maximus ranger VIII 

ASUS MAXIMUS IV GENE-Z 
 

Gigabyte X470 Aorus Gaming 7

Gigabyte Z370 AORUS Gaming 5 (rev. 1.0)

Gigabyte X570 Gaming X


MSI MPG X570 GAMING PLUS

MSI Z390 Edge AC

MSI B450 Gaming Pro Carbon AC
MSI B450 Tomahawk MAX

MSI X470 Gaming Plus Max 

 

Enjoy!

 

 

 

Hey buddy, you saved my life literally. After years of using speedfan on AMD 990FX  board i was too worried about upgrading to AM4 B550 chipset due to my custom fans settings.

ASUS B550 Strix-F everything works as expected, thank you!

But i still have question about corsair PSUs: i own RM850i PSU, and its a bit loud for me even on its minimum 40%, ofc i can adjust my own curve in Clink software, i can even edit it in hex then import back to corsairs .config file so it will be spinning at 30%(no noise at all), but its a pain in the ass.

FanControl can detect fan inside PSU and display it's rpm, but it cant detect control itself. I've tried to use CommanderPRO plugin from  github, but i don't have CommaderPRO, lol, so it doesn't work.

Any chance you can add native support of corsair's PSU fans? I guess problem is that they have "hard\close" coded drivers?

Link to comment
Share on other sites

Link to post
Share on other sites

Heyo @Rem0o bug report (minor)

Ever since last few versions, maybe 112 or so, not totally sure, the program blasts all fans at 100% on startup and slowly ramps down to normal values from there. Previously fans would all just remain at their starting points down 0-10% or wherever the temperature says they should be. Each time I start up I'm met with a momentary hurricane like all my sensors are busted, but it's not the sensors it's just I can see all the fans all start at 100% and slowly ramp down at startup now for some reason.

 

Was that an intended change? I can imagine it's "safer" to do it that way to make sure the fans are running, but yeah..

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, DeSinc said:

Was that an intended change? I can imagine it's "safer" to do it that way to make sure the fans are running, but yeah..

Not intended!  I always have slow ramp up on all my test configs, and I missed the ramp up on graphs and linear fan curves for the first cycle when deserializing a config. Covered the case with automated tests, shouldn't happen in the future. 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 weeks later...

Having an issue with v128 - seems like all sensor data freezes up on launch and also spawns a bunch of extra fan controls (duplicated fan controls without names assigned maybe). Was able to rollback to v127 without issue and everything works again, happy to stay with that for now and also can provide more info if you like

Link to comment
Share on other sites

Link to post
Share on other sites

  • 4 weeks later...

In Windows 10 with all updates, FanControl v131 only starts with the option "Start with Windows" but if we also select the option "Start minimized" at the same time, FanControl does not start!

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 weeks later...

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


×