Jump to content

FanControl, my take on a SpeedFan replacement

7 hours ago, silasbutdeadly said:

Seems to work well on an AsRock H97M Pro 4. Also, in the future will there be a way to set our own fan curve?

I guess you mean with a Y/X graph? I don't have plans for it quite yet, as the implementation effort is high and compared with the actual feature set, the benefit quite low (imo). 

Link to comment
Share on other sites

Link to post
Share on other sites

Bugfix

 

Fixed annoying bug where clicking on the tray icon wouldn't bring back the window to the front if it was minimized when closed.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Rem0o said:

Bugfix

 

Fixed annoying bug where clicking on the tray icon wouldn't bring back the window to the front if it was minimized when closed.

I'm back, running the latest version now. Don't know if this log file helps any, but I'm seeing some zany temperatures showing

 

Spoiler

MotherboardSMBios Version: 2.8BIOS Vendor: American Megatrends Inc.BIOS Version: 5406BIOS Date: 11/13/2019BIOS Size: 16 MBSystem Manufacturer: System manufacturerSystem Name: System Product NameSystem Version: System VersionSystem Wakeup: PowerSwitchMotherboard Manufacturer: ASUSTeK COMPUTER INC.Motherboard Name: ROG STRIX X470-F GAMINGMotherboard Version: Rev X.0xMotherboard Serial: 180528687900271Chassis Type: DesktopChassis Manufacturer: Default stringChassis Version: Default stringChassis Serial: Default stringChassis Asset Tag: Default stringChassis SKU: Default stringChassis Boot Up State: SafeChassis Power Supply State: SafeChassis Thermal State: SafeChassis Power Cords: 1Chassis Lock Detected: NoChassis Security Status: NoneProcessor Manufacturer: Advanced Micro Devices, Inc.Processor Version: AMD Ryzen 7 2700X Eight-Core ProcessorProcessor Family: AmdZenProcessor Core Count: 8Processor Core Enabled: 8Processor Thread Count: 16Processor External Clock: 100 MhzMemory Device [0] Manufacturer: UnknownMemory Device [0] Part Number: UnknownMemory Device [0] Device Locator: DIMM_A1Memory Device [0] Bank Locator: BANK 0Memory Device [0] Speed: 0 MHzMemory Device [1] Manufacturer: G-SkillMemory Device [1] Part Number: F4-3600C19-16GVRBMemory Device [1] Device Locator: DIMM_A2Memory Device [1] Bank Locator: BANK 1Memory Device [1] Speed: 3400 MHzMemory Device [2] Manufacturer: UnknownMemory Device [2] Part Number: UnknownMemory Device [2] Device Locator: DIMM_B1Memory Device [2] Bank Locator: BANK 2Memory Device [2] Speed: 0 MHzMemory Device [3] Manufacturer: G-SkillMemory Device [3] Part Number: F4-3600C19-16GVRBMemory Device [3] Device Locator: DIMM_B2Memory Device [3] Bank Locator: BANK 3Memory Device [3] Speed: 3400 MHzSMBios TableABoAAAECAPAD/4Cciz8BAAAAAw0FDf//EABBbWVyaWNhbiBNZWdhdHJlbmRzIEluYy4ANTQwNgAxMS8xMy8yMDE5AAABGwEAAQIDBH2kURdk15J7hHgMnZIPWj4GBQZTeXN0ZW0gbWFudWZhY3R1cmVyAFN5c3RlbSBQcm9kdWN0IE5hbWUAU3lzdGVtIFZlcnNpb24AU3lzdGVtIFNlcmlhbCBOdW1iZXIAU0tVAFRvIGJlIGZpbGxlZCBieSBPLkUuTS4AAAIPAgABAgMEBQkGAwAKAEFTVVNUZUsgQ09NUFVURVIgSU5DLgBST0cgU1RSSVggWDQ3MC1GIEdBTUlORwBSZXYgWC4weAAxODA1Mjg2ODc5MDAyNzEARGVmYXVsdCBzdHJpbmcARGVmYXVsdCBzdHJpbmcAAAMWAwABAwIDBAMDAwMAAAAAAAEAAwVEZWZhdWx0IHN0cmluZwBEZWZhdWx0IHN0cmluZwBEZWZhdWx0IHN0cmluZwBEZWZhdWx0IHN0cmluZwBEZWZhdWx0IHN0cmluZwAACAkEAAEAAg8NUFMvMiBLZXlib2FyZC9Nb3VzZQBQUy8yIEtleWJvYXJkL01vdXNlAAAICQUAAQACEhBVMzFHMV85MTAAVTMxRzFfOTEwAAAICQYAAQAC/xxEUABEUCBwb3J0AAAICQcAAQAC/xxIRE1JAEhETUkgcG9ydAAACAkIAAEAAhIQVTMxRzFfQzcAVTMxRzFfQzcAAAgJCQABAAISEFUzMUcxXzUAVTMxRzFfNQAACAkKAAEAAhIQVTMxRzJfRTEyAFUzMUcyX0UxMgAACAkLAAEAAhIQVTMxRzFfMzQAVTMxRzFfMzQAAAgJDAABAAILH0xBTgBMQU4AAAgJDQABAAL/HUFVRElPAEFVRElPAAAICQ4AASIAACBTQVRBNkdfMQAACAkPAAEiAAAgU0FUQTZHXzIAAAgJEAABIgAAIFNBVEE2R18zAAAICREAASIAACBTQVRBNkdfNAAACAkSAAEiAAAgU0FUQTZHXzUAAAgJEwABIgAAIFNBVEE2R182AAAICRQAASIAACBNLjJfMQAACAkVAAEiAAAgTS4yXzIAAAgJFgABEgAAEFVTQl8xMgAACAkXAAESAAAQVVNCXzM0AAAICRgAARIAABBVMzFHMV8xMgAACAkZAAE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LPC IT87XXChip ID: 0x8665Chip Version: 0x6Base Address: 0x0290GPIO Address: 0x0300Environment Controller Registers00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F00   09 18 00 00 00 00 00 00 00 C0 44 68 30 05 51 FF10   FF E3 89 70 C0 80 90 80 08 05 FF 4E 1E 27 A0 0020   41 E7 B8 B8 03 03 03 98 95 30 19 31 28 31 28 9930   9D B4 73 BB 7F 05 9F 0D F1 2D 6D A3 FE D6 8F 6D40   06 2F 9F F7 FF C1 1C E0 AD 6A D4 00 5F 40 00 EC50   FF 38 7F 7F 7F 40 00 00 90 00 00 12 60 00 00 0060   80 32 4B 24 9B 40 0F 24 80 32 4B 50 94 40 0F 5270   80 32 4B FF 80 40 0F FF 80 32 4B 33 95 40 0F 3580   8A 06 FF FF 00 00 00 00 00 00 00 00 00 51 00 0390   00 00 80 FF FF 00 00 FF 42 99 00 00 01 8F E0 3AA0   7F 7F 7F 80 00 00 0F 80 80 32 4B CC 91 40 0F CCGPIO Registers

 

I got some of my fans labelled, but #4 for FRONT up top doesn't show up down below and neither does 5, I have 3 which has nothing connected to it. I figured out which # was which fans by just stopping them with my finger or unplugging them.

 

Some of the goofy temps I'm seeing are things like 151C for a core and that alternates to 86C and 4294682C. A lot of other temps are weird numbers like that as well and move around a little bit. I exited Asus AI suite and I'm not running any other programs that would be hitting up the hardware for temp data.

 

So this time I tried to set any of the fan's I had listed as controllable to GPU temp, CPU, and the rear fans, neither responded to rising GPU temps.

Not sure what's going on here, it's very weird.

Fan Control 1.jpg

Fan Control 2.jpg

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Rem0o said:

Bugfix

 

Fixed annoying bug where clicking on the tray icon wouldn't bring back the window to the front if it was minimized when closed.

Maybe I am dumb, but how do I update the application? do I need to download it again?

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, silasbutdeadly said:

Maybe I am dumb, but how do I update the application? do I need to download it again?

Yes, no OTA update as I don't have a hosting solution for now. Simply copy the exe/dlls over your existing folder, your config will be preserved.

Link to comment
Share on other sites

Link to post
Share on other sites

19 minutes ago, Bitter said:

 

Not sure what's going on here, it's very weird.

It simply seems like your motherboard is badly interfaced with the LibreHardwareMonitor library. Those weird readouts are either wrong addresses read or badly converted binary values. I wouldn't waste my time trying to make it work on your side. If the library gets an update, I will update too, so opening a PR here would be your only option https://github.com/LibreHardwareMonitor/LibreHardwareMonitor.

 

However, since you got an Asus board, isn't their Fan Xpert thing quite good already? 

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, Ale_geek said:

Hi Rem0o where can i download your program?

Look for the first post, there is a link there. Tell me how it goes for you with your motherboard model.

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks! I got it to work really quick. The only problem is that it doesn't detect one of my pwm fans connected to my motherboard ('SYS 5'). 

img 1.jpg

img 2.jpg

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, Ale_geek said:

Thanks! I got it to work really quick. The only problem is that it doesn't detect one of my pwm fans connected to my motherboard ('SYS 5'). 

Yeah the NCT6797D is only interfaced as older versions of the chip with 6 fans but in reality it supports 7. If I can figure out the registers in there https://elixir.bootlin.com/linux/latest/source/drivers/hwmon/nct6775.c I will open a pull request to add support for the 7th control.

 

( Yes, distros of linux got up-to-date kernel level API for every type of fan control built-in, Windows on the other hand... ).

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, Rem0o said:

It simply seems like your motherboard is badly interfaced with the LibreHardwareMonitor library. Those weird readouts are either wrong addresses read or badly converted binary values. I wouldn't waste my time trying to make it work on your side. If the library gets an update, I will update too, so opening a PR here would be your only option https://github.com/LibreHardwareMonitor/LibreHardwareMonitor.

 

However, since you got an Asus board, isn't their Fan Xpert thing quite good already? 

Not that good, can't reference GPU temp for fan control which Is the one thing I want to do.

Link to comment
Share on other sites

Link to post
Share on other sites

Update

 

Did a pull request on LibreHardwareMonitor. 

NCT6797 / NCT6798 boards now have the support for the 7th fan.

 

Version is up on the main post.

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/27/2020 at 9:11 PM, Rem0o said:

It simply seems like your motherboard is badly interfaced with the LibreHardwareMonitor library. Those weird readouts are either wrong addresses read or badly converted binary values. I wouldn't waste my time trying to make it work on your side. If the library gets an update, I will update too, so opening a PR here would be your only option https://github.com/LibreHardwareMonitor/LibreHardwareMonitor.

 

However, since you got an Asus board, isn't their Fan Xpert thing quite good already? 

I'll try some other software that uses that library and see what it reports for temps to see what happens with that and then do a pull request once I better understand what that is and how to do it.

 

I guess I should ask what other software is using LibreHardwareMonitor that I can check with to see if that's the issue? NM, been a long time since I've used github to download a thing, I got a little lost on the page.

 

Ok, LibreHardwareMonitor reads the board and graphics card just fine?

LibreHardwareMonitor.Report.txt

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, Bitter said:

I'll try some other software that uses that library and see what it reports for temps to see what happens with that and then do a pull request once I better understand what that is and how to do it.

 

I guess I should ask what other software is using LibreHardwareMonitor that I can check with to see if that's the issue? NM, been a long time since I've used github to download a thing, I got a little lost on the page.

 

Ok, LibreHardwareMonitor reads the board and graphics card just fine?

LibreHardwareMonitor.Report.txt 62.66 kB · 0 downloads

Your log reflects your previous screenshot fan-wise. Excluding the GPU, you got 5 detected fans, 3 of which you have a control address.  The RPMs seems to be the same. The temperature problem might have been fixed from a recent commit ( see https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/200 ).

The problem remains with the control.
In LibreHardwareMonitor, try to right click on the fan controls and set a %.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Rem0o said:

Your log reflects your previous screenshot fan-wise. Excluding the GPU, you got 5 detected fans, 3 of which you have a control address.  The RPMs seems to be the same. The temperature problem might have been fixed from a recent commit ( see https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/200 ).

The problem remains with the control.
In LibreHardwareMonitor, try to right click on the fan controls and set a %.

I tried that, nothing happened. At least the voltages are reporting correctly in LHM, FanControl is still showing goofy voltages though.

Fan Control 3.jpg

 

I'm not sure what's with those weird temps (gpu), but it's not an issue as long as I can select a normal looking temp, right? I mean I guess I'm jumping the gun and hoping that my board will be supported at some point. I'll keep trying newer builds until it works.

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/30/2020 at 10:34 PM, Bitter said:

 

I'm not sure what's with those weird temps (gpu), but it's not an issue as long as I can select a normal looking temp, right? 

Yes, it's simple math behind the scene. If the number match your curve, you are fine. 

Link to comment
Share on other sites

Link to post
Share on other sites

27 minutes ago, Rem0o said:

Yes, it's simple math behind the scene. If the number match your curve, you are fine. 

Thanks, I'll just keep hoping that my X470 gets supported at some point in the future, until then I may figure out a hardware solution. If RX580 fans are PWM I can tap that control signal and use it to feed a PWM hub to control case fans, ugly but effective.

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/1/2020 at 11:34 AM, Bitter said:

Thanks, I'll just keep hoping that my X470 gets supported at some point in the future, until then I may figure out a hardware solution. If RX580 fans are PWM I can tap that control signal and use it to feed a PWM hub to control case fans, ugly but effective.

There's nothing like a hardware solution ;)

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Rem0o said:

There's nothing like a hardware solution ;)

Ahmen to that, but software is so much easier and more flexible. I'm going to give it a whirl with some other hardware I have here that I'm more sure it'll work with. Asus killed AIsuite for my Z87 ITX in the HTPC so I can't make custom fan curves, I miss zero fan idle. Now I can have it back!

Link to comment
Share on other sites

Link to post
Share on other sites

In developpement...

 

Matching between fan speeds and fan controls!
RPM in control card.

Easy matching process from three dot menu and card icons.

 

image.thumb.png.36d790b6fc0f47b3d5be43e011a4fa50.png

 

Stay tuned!

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Rem0o said:

In developpement...

 

Matching between fan speeds and fan controls!
RPM in control card.

Easy matching process from three dot menu and card icons.

Stay tuned!

That's a really nice feature set upcoming, I can't wait to get this rolling on my other PC's this weekend.

Link to comment
Share on other sites

Link to post
Share on other sites

New Release

 

Changes:

  • Fan control cards are now at the top

 

New features:

  • Match your control and speed cards manually
  • Match your control and speed cards automatically

 

To match your cards automatically, use the new option in the top right application three dot menu. The application will automatically control the fans and try to figure out which is which. This process takes about a minute. You can cancel at any time.

 

image.png.bbe6dd0cb2d019f8d3637deb18eb5bd8.png

 

Manual control card matching tutorial:

 

1)  Select the new option in the three dot menu. This option also remove a previously selected fan sensor.

image.png.bd1df3c69b3ccea9a49346a3e92c8b60.png

 

2) Cancel if you want by clicking on the icon

image.png.644e4a8ff541b0564c18e3405737dd3a.png

3) Click on available fan speed sensor icon ( highlighted icons )

image.png.0d78dc2945345b53a63d122880325b57.png

 

4) Done!

image.png.d9bb0d964e92dc3b397873680dfdd655.png

 

Version is up on the main post.

 

Enjoy!

 

Link to comment
Share on other sites

Link to post
Share on other sites

I've got it running on my Asus Z87-I to control the AIO fan much better than the Asus BIOS was doing it. I'll need to do a little fine tuning but it does what I want just fine so far.

Link to comment
Share on other sites

Link to post
Share on other sites

Small UI update

 

I worked the fonts a bit so that the cards are a little more compacts

 

image.png.e04aa8294c08f97350722391602de0d2.png

Link to comment
Share on other sites

Link to post
Share on other sites

Feature update

 

  • Added automatic fan matching to single fan control at once.
  • Generally improved the automatic fan matching process, bypasses completely the fan curves.

 

image.png.5c0aebf56856ccc777a7d3b6c87d135e.png

Link to comment
Share on other sites

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


×