Closed EvanMulawski closed 1 day ago
Hi @frostb1t, is your XD5 the Hydro X variant or the iCUE LINK variant? Would you be able to provide a USB packet capture?
Hey @EvanMulawski
Thank you for the response! It's the ICUE LINK variant - the iCUE LINK XD5 RGB Elite LCD in Stealth Grey - to be specific.
Here is a link to download the packet capture. It expires in 24hrs so please let me know if you'd like to reupload it (or if I've failed to capture the data correctly!): https://wormhole.app/e5qmX#6bz8TmJ-raxx1gWLdhbXDw
I started iCue (making sure all the processes were previously closed), and changed the pump speed a few times (first to 100%, then to 56%, then a few other random speeds).
Thank you for the response
Thanks, @frostb1t - I can see the data passing through the iCUE LINK hub. Can you also list the devices you have connected to the hub and how they are connected/chained?
No problem @EvanMulawski - I also have an iCUE LINK XC7 RGB Elite CPU Water block connected to the ICUE LINK hub, but that's it.
If it helps, I have some Corsair Dominator RAM plugged in too, but since that doesn't go through the iCUE LINK hub, I assume that's not an issue. I also have a Corsair XG7 GPU Waterblock, but this is the NON iCUE LINK, Hydro X model for the 30-series. That's plugged directly into the mobo and doesn't connect to the iCUE LINK hub. Just thought I'd mention it in case those two components also show in the iCue data somehow.
@frostb1t Build attached. Let me know if the XD5 shows up and you can see and control the pump speed. If it's not working, attach the CorsairLink.log file(s) (located in the Fan Control directory) to your reply.
FanControl.CorsairLink-1.7.0-beta.2.zip
Hey @EvanMulawski,
Thanks for this, especially the quick turnaround.
Unfortunately that build hasn't worked. Please note that the info in the attached log is near the bottom (i.e. in the past ~20 mins at the time of me making this post)
Log: CorsairLink.log
I presume the relevant issue is this:
2024-07-12T21:58:36.3489751Z [ERR] Device Initialization: Type: System.TypeInitializationException Message: The type initializer for 'CorsairLink.Synchronization.CorsairDevicesGuard' threw an exception. Source: FanControl.CorsairLink.merged HResult: -2146233036 Stack Trace: at CorsairLink.Synchronization.CorsairDevicesGuard.Acquire() at CorsairLink.Synchronization.CorsairDevicesGuardLock..ctor() at CorsairLink.Synchronization.CorsairDevicesGuardManager.AwaitExclusiveAccess() at CorsairLink.Devices.ICueLink.ICueLinkHubDevice.TryChangeDeviceMode() at CorsairLink.Devices.ICueLink.ICueLinkHubDevice.Initialize() at CorsairLink.Devices.ICueLink.ICueLinkHubDevice.Connect() at FanControl.CorsairLink.CorsairLinkPlugin.FanControl.Plugins.IPlugin.Initialize() Inner Exception: Type: System.MissingMethodException Message: Method not found: 'Void System.Threading.Mutex.SetAccessControl(System.Security.AccessControl.MutexSecurity)'. Source: FanControl.CorsairLink.merged HResult: -2146233069 Stack Trace: at CorsairLink.Synchronization.CorsairDevicesGuard.CreateMutex() at CorsairLink.Synchronization.CorsairDevicesGuard..cctor()
@frostb1t Please try the one in the net8.0
directory - it needs to match your Fan Control build.
@EvanMulawski - Apologies, FanControl seemed to automatically pick the wrong dll version when importing the zip. Manually placing the correct DLL in the plugins folder worked.
The XD5 coolant temp sensor is being read correctly now. I can control my fan curves from the coolant temperature now which is awesome!
The one thing I ought to let you know is that I think I have found an issue in regards to controlling the pumps RPM. When build a curve for the pump I can set the pumps RPM from 0% to 100%. The maximum sets the pump to ~4800 RPM (which is right), but the lowest RPM the pump will go to is about ~2500. I'm certain I've been able to set it much lower via iCUE.
Other than that it looks good though!
@frostb1t Note the following from the Readme (the home page of this repository):
The minimum pump power is 50% (regardless of the requested power in Fan Control). As a result, Fan Control's automatic control-sensor pairing may fail for these devices and the sensor must be paired manually. As of v1.6.0, the default minimum pump power is 50% but users may override this by setting the FANCONTROL_CORSAIRLINK_MIN_PUMP_DUTY environment variable to the desired minimum pump power.
Additional instructions regarding environment variables are also in the Readme. That should allow you to set the pump speed lower than 2500rpm.
Thanks @EvanMulawski , I didn't notice that. Sorry.
I can confirm everything is looking good so far then!
Discussed in https://github.com/EvanMulawski/FanControl.CorsairLink/discussions/180