Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FanControl.CoresairLink does not "play nice" with monitoring software! #45

Closed
chjohans opened this issue May 7, 2023 · 14 comments
Closed
Assignees
Labels
synchronization-interop Related to interoperability with other software

Comments

@chjohans
Copy link

chjohans commented May 7, 2023

I am aware that it's not possible to use this together with Corsair's own iCUE, Corsair simply refuses to "play ball" with others.

But, it is possible to get this to "play nice" with certain other monitoring software that is probably frequently being used by the target group for this plugin.

HWiNFO (https://www.hwinfo.com/) and SIV (http://rh-software.com/) have both implemented a named Mutex locking mechanism that makes sure that only one program will access Corsair devices at any given time. Please consider implementing this, there is some info re this on the SIV board here: https://siv.boards.net/thread/14/running-same-time-corsair-icue, and I know that Ray, the author of SIV, has more info and he's willing to share. At least I know that he has helped others to implement this. Corsair used to use this in their own Link software a few years ago, but dropped it and never implemented it in iCUE. But that didn't stop others from using this.

Please consider this, as it is now HWiNFO will stop reporting values for any Corsair devices that are accessed by this plugin. And, this plugin will stop getting updated data from these devices as well. It would be really useful to be able to run HWiNFO together with FanControl and this otherwise excellent plugin.

@EvanMulawski
Copy link
Owner

Hi @chjohans, this has already been implemented as of v1.0.0-beta.5.

What issues are you experiencing?

@EvanMulawski EvanMulawski self-assigned this May 7, 2023
@EvanMulawski EvanMulawski added the triage Issue has not yet been fully identified label May 7, 2023
@chjohans
Copy link
Author

chjohans commented May 8, 2023

I have a Hydro H115i Pro XT AiO, a Commander Pro with 2 temperature sensors to measure ambient and case temperatures, and a Corsair link-enabled PSU RM100i. I am running HWiNFO for monitoring, and I was previously using "Argus Monitor" for fan control. They implemented the named mutex locking a few months ago, and that works flawlessly.

I had previously used FanControl, but dropped that in favor of "Argus Monitor" because of the lack of support for Corsair Link devices. So I was excited to find this plugin.

What I experience is that after running FanControl with this plugin and HWiNFO for a while, both HWiNFO and FanCOntrol will lose my AiO fans and temp readings. If I stop FanControl, HWiNFO will recover these sensors. And if I start"Argus Monitor" after the error ahs occurred (and after stopping FanCOntrol), HWiNFO will recover the sensor values as well and AM works just fine.

I was working with the author of "Argus Monitor" to get this named mutex implemented some months ago, and I remember there were similar issues during beta testing. I'm not sure why and how that was solved, but I remember he said something about "flushing some buffers when reading the Link values" or something like that.

Sorry I can't be of more help, but I can contribute by testing in case you want to try and fix this.

@chjohans
Copy link
Author

chjohans commented May 8, 2023

And another thing, it takes a while for this to happen, and it seems to be rather random. I experience this maybe once every 24 hours. I went back to "Argus Monitor" after the third time, but now decided to use FanCOntrol for a while and pay attention to this.

@EvanMulawski
Copy link
Owner

@chjohans

  1. Can you post the log.txt file present in the Fan Control root directory?
  2. Are you having this issue with both the H115i Pro XT and the Commander Pro or just one?
  3. What version of HWiNFO are you using?

@chjohans
Copy link
Author

chjohans commented May 8, 2023

Here is the FanCOntrol log as requested, just ignore the HWiNFO errors that are thrown in the beginning of the logfile. I was configuring my plugins and at some points I had old config files with sensors from HWiNFO and HWiNFO was not configured to write values to the registry ("sidebar" support - used by the HWinFO plugin Rem0 made).

So far I have only seen this issue with my AiO, it might have happened with the Commander Pro without me noticing it, but I don't think so.

I am running the latest release version of HWiNFO, which is 7.44-5100.

Oh and thanks a million for making this plugin available, Corsair's own iCUE is just horrible!

log.txt

@EvanMulawski
Copy link
Owner

@chjohans For now, I'm going to assume it's an issue with HWiNFO because:

  • There are no communication issues with the Commander Pro according to the log file.
  • The plugin acquires the CorsairLink mutex for the Hydro device (and all devices for that matter) and clears the device report buffer before performing a write-read. It may be the case that HWiNFO doesn't acquire the mutex for AIO's.
  1. Can you downgrade HWiNFO to version 7.40 and see if the issue remains? There was an issue in version 7.42 that may be related to your current problem - it might not be completely fixed in version 7.44.

  2. Ensure your BIOS is up-to-date, as there have been reports of USB communication issues with the X570 chipset.

  3. You can post to the HWiNFO Bug Reports forum. I would be happy to work with the developers to reach a solution.

@EvanMulawski EvanMulawski added synchronization-interop Related to interoperability with other software and removed triage Issue has not yet been fully identified labels May 8, 2023
@chjohans
Copy link
Author

chjohans commented May 8, 2023

My BIOS is always updated :)

Just to make sure that there are no misunderstandings, you mention no comm issues with the Commander Pro, the issue I saw was with the AiO cooler only and not the commander pro. I see some CRC mismatch messages in the logfile for the AiO (H115iRGBPROXT) but of course I have no idea if those mean anything at all.

I will try HWiNFO 7.40 as you suggest. But since this error only happened randomly and 3 times so far, I will first leave the current version running until I see the same again.

Thanks for supporting this plugin the way you do, I'll buy you a coffee or two for sure!

I will indeed post in the HWiNFO forum after I see the same issue again, thanks!

@EvanMulawski
Copy link
Owner

Just to make sure that there are no misunderstandings, you mention no comm issues with the Commander Pro, the issue I saw was with the AiO cooler only and not the commander pro. I see some CRC mismatch messages in the logfile for the AiO (H115iRGBPROXT) but of course I have no idea if those mean anything at all.

The CRC mismatch errors in the log indicate an issue with the device, either with communication or the hardware itself. The last byte of the buffer is used as an error check; if the calculation used to generate that byte does not result in what was received, that's a problem.

HWiNFO reads from both the AIO and the Commander Pro. Because the logs do not indicate issues communicating with the Commander Pro, it leads me to believe the issue is with HWiNFO's communication with the AIO.

I would be curious to know if you see these CRC mismatch errors in the log when HWiNFO isn't running.

@chjohans
Copy link
Author

chjohans commented May 9, 2023

Ok, I will keep an eye on the log file to see how often this happens. Then run without HWiNFO for some time to see if it still happens.

Question: Do you think these CRC errors are the reason I sometimes lose the sensor and fan readings from the AiO?

Edit: Checked the log again and I see these errors a few times every day, maybe 10-20 times or so. It happened 20 times yesterday, but I didn't notice any loss of fan/pump control or temp/fan speed readings for my AiO. It might have happened without me noticing, but my experience the times it has happened is that I need to reboot to get this plugin to work again.

@EvanMulawski
Copy link
Owner

@chjohans Any more occurrences of this issue with/without HWiNFO running?

@chjohans
Copy link
Author

chjohans commented May 21, 2023

I've not "lost" the temperature and fans for my AiO since the above incidents, at least not that I have noticed. But I still see those "SendCommand CRC mismatch" errors in the log file about 10 to 20 times each 24 hours.

I will disable HWiNFO now and see if I still log those errors and update here in a couple of days.

@chjohans
Copy link
Author

FanControl logs the same "SendCommand CRC mismatch" errors after I disabled HWiNFO, but I just had a "duh" moment. These errors seem to happen every time my computer wakes up from sleep.

I also use OpenRGB briefly to just turn off all my RGB lights, on system start-up, and then by the task scheduler every time my system wakes up from sleep. And OpenRGB has not implemented the "shared mutex" and will definitely interfere with both FanControl.CorsairLink and HWiNFO. But it has worked OK for me to just run it briefly to turn off my RGB lights as I do. It will just start, set the lights to off, and then auto quit.

I am guessing that on those occasions when I totally lost the temperature and fan readings/control for my AiO, it was a matter of maximum unlucky timing when OpenRGB would access the AiO briefly so it messed up for FanControl.CorsairLink and HWiNFO.

I will disable OpenRGB upon waking from sleep to see if I still get the same CRC errors. Will report back with the result.

log.txt

@chjohans
Copy link
Author

I can confirm that the "SendCommand CRC mismatch" happens even when OpenRGB is totally disabled, and every time my system wakes up from sleep.

@EvanMulawski
Copy link
Owner

Closing this - created a new issue for that error.

@EvanMulawski EvanMulawski closed this as not planned Won't fix, can't repro, duplicate, stale May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
synchronization-interop Related to interoperability with other software
Projects
None yet
Development

No branches or pull requests

2 participants