Rem0o/FanControl.HWInfo

HWiNFO data handling issue

brunoherrera opened this issue · 12 comments

I had an issue with liquidctl plugin, and had to go back to HWiNFO, and found out the real cause of this issue

The issue mentioned above was that logs.txt was constantly being written, I thought it was just HWiNFO being weird about it, but at the end, I think Fan Control has the issue receiving data from it.

As long as you first enable other sensor reporting from HWiNFO Gadget, and then enable liquid temperature sensor reporting so it's not indexed as "0" it will stop logging to logs.txt, so maybe it's the way the data is being handled? I don't know, but is a solid, I now have it working perfectly, I did change it back so index is 0 and indeed starts to write logs.txt every second, confirmed Index is the issue

With this index works perfectly
With this index it constantly writes to logs.txt

EDIT:
The issue seems to be with current implementation for NZXT Kraken AIO's of liquid temperature and pump rpm inside HWiNFO itself. Not related to FanControl or FanControl.HWiNFO plugin.

I found out that using liquidctl.exe from FanControl.Liquidctl with argument: initialize all (it doesn't require "-" or "--") fixes the sensors for Kraken X73, it doesn't gray out inside sensor status view in HWiNFO anymore and it doesn't delete the entry from regedit either.

I currently have it (liquidctl.exe) launching at system startup with task scheduler with the argument I mentioned, then HWiNFO starts at logon of any user, and FanControl also at logon of any user but with a delay of 10 seconds to give HWiNFO time to load and avoid : "System.Exception: HWInfo is not running or reporting to gadget is not enabled." to log.txt.

Rem0o commented

The interesting part is why it logs in the first place:

_logger.Log($"HWInfo sensor value went missing from registry: {ids}");

The app updates every second.
As you can see, it means that said sensor simply went missing in the registry during that update cycle, the value of that registry key could not be parsed to a float. My guess is the parsing. The value must be something I'm not expecting/never seen before. Would be practical to know what that is.

Rem0o commented

Just did a commit
https://ci.appveyor.com/project/Rem0o/fancontrol-hwinfo/builds/45979464

It will only log the failed sensors once you close the app or refresh the app.
I added more log information so we can take a look at the value it couldn't parse or if the sensor simply disappeared.

Just tried it and no luck, you will receive an email with a screen recording video in a few minutes so you can see how I have it setup and maybe there's something I didn't notice, also started logging sensors in HWiNFO and there wasn't any weird value in the csv

EDIT: also sent a youtube link and that one is in 1080p, it said it was going to take 45 minutes to process so I opted for google drive, anyways, check the one in youtube, it's in better quality

Rem0o commented

Did you use the binary from appveyor?

Did you use the binary from appveyor?

of course, I sent you a link to youtube with the recording, I created a copy of my Fan Control and unzipped the new contents there, 2 already existed and clicked replace so I had all the new 4 files from appveyor

Rem0o commented

From the video, you didn't put the DLL in the plugin folder, you put it in the FanControls root folder. Also, from the text log we see later, the message being shown is not possible if you used the latest binary: the message was deleted from the code.

From the video, you didn't put the DLL in the plugin folder, you put it in the FanControls root folder. Also, from the text log we see later, the message being shown is not possible if you used the latest binary: the message was deleted from the code.

sorry about that, thought everything was for root, I moved the dll to plugins folder and it worked :) it only logged on exit or on refresh like you said :)

1/19/2023 00:10:55: HWInfo sensor failed momentarily during operation: HWInfo/NXZT Kraken X53/X63/X73/Liquid Temperature/°C - Missing

I can totally live with that :) thank you!!!!

oh, also, if you noticed from the recording, it grays out every 2 seconds in hwinfo and when it does that the registry key also gets deleted, and is the only sensor (that I use) that has that issue, cun83 helped HWiNFO to add support for kraken devices for the current version, here's where it originated maybe it has some bug? I don't have enough knowledge to explore that

@Rem0o caught this, in case it's of any help.

1/20/2023 01:20:28: HWInfo sensor failed momentarily during operation: HWInfo/NXZT Kraken X53/X63/X73/Liquid Temperature/°C - Missing
1/20/2023 01:20:28: Unhandled exception in FanControl v1.0.0.0
1/20/2023 01:20:28: System.Exception: HWInfo sensors failed: HWInfo/NXZT Kraken X53/X63/X73/Liquid Temperature/°C
   at FanControl.HWInfo.HWInfoPlugin.Update()
   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)
Rem0o commented

^ that means the sensor was undetected for more than 10 cycles straight, which at that point I would say it is probably not reliable enough to be used as a source.

at least now it isn't writing every second to log.txt with your fix :) thanks!

found out it is HWiNFO current implementation of NZXT Kraken devices they added in last version, edited the issue with a workaround until they fix it (if at all).