EvanMulawski / FanControl.CorsairLink

The unofficial CorsairLink plugin for Fan Control. Adds support for Corsair controllers, liquid coolers, and power supplies. An alternative to iCUE.
149 stars 11 forks source link
commander commander-core commander-pro corsair fan-control hydro plugin

CorsairLink plugin for Fan Control

The unofficial CorsairLink plugin for Fan Control.

Support Support

[!IMPORTANT] This project is under active development, with frequent Beta releases that address issues and incorporate user feedback. These releases may include device-specific fixes and enhancements. Review the release notes for each version before selecting one to use and regularly check back for updates.

Device Support

Device PID Implementation Status Read Fan/Pump RPM Set Fan/Pump Power Read Temp Sensor
iCUE LINK Hub 0c3f ICueLink Full Support 1 See devices See devices See devices
Commander PRO 0c10 CommanderPro Full Support 1
Commander PRO (Obsidian 1000D) 1d00 CommanderPro Full Support 1
Commander CORE XT 0c2a CommanderCore Full Support 1,2
Commander CORE 0c1c CommanderCore Full Support 1,2 10
Commander CORE (2022) 0c32 CommanderCore Full Support 1,2 10
Commander Mini 0c04(3d) Coolit Full Support 1
Hydro H60i Elite 0c34 HydroPlatinum Full Support 1 4 5
Hydro H60i Pro XT 0c29 HydroPlatinum Full Support 1 4 5
Hydro H60i Pro XT 0c30 HydroPlatinum Full Support 1 4 5
Hydro H100i Elite 0c35 HydroPlatinum Full Support 1 4 5
Hydro H100i Platinum 0c18 HydroPlatinum Full Support 1 4 5
Hydro H100i Platinum SE 0c19 HydroPlatinum Full Support 1 4 5
Hydro H100i Pro XT 0c20 HydroPlatinum Full Support 1 4 5
Hydro H100i Pro XT 0c2d HydroPlatinum Full Support 1 4 5
Hydro H115i Elite 0c36 HydroPlatinum Full Support 1 4 5
Hydro H115i Platinum 0c17 HydroPlatinum Full Support 1 4 5
Hydro H115i Pro XT 0c21 HydroPlatinum Full Support 1 4 5
Hydro H115i Pro XT 0c2e HydroPlatinum Full Support 1 4 5
Hydro H150i Elite 0c37 HydroPlatinum Full Support 1 4 5
Hydro H150i Pro XT 0c22 HydroPlatinum Full Support 1 4 5
Hydro H150i Pro XT 0c2f HydroPlatinum Full Support 1 4 5
One 0c14 HydroPlatinum Partial Support 1,11 ⚠️ 4,11 5
Hydro H80i 0c04(3b) Coolit Full Support 1 5
Hydro H100i 0c04(3c) Coolit Full Support 1 5
Hydro H100i GT 0c04(40) Coolit Full Support 1 5
Hydro H110i 0c04(42) Coolit Full Support 1 5
Hydro H110i GT 0c04(41) Coolit Full Support 1 5
Hydro H80i GT 0c02 HydroAsetek Full Support 1,8 5
Hydro H80i GT V2 0c08 HydroAsetek Full Support 1,8 5
Hydro H80i Pro 0c16 HydroAsetekPro Full Support 1,8,9 5
Hydro H100i GT V2 0c09 HydroAsetek Full Support 1,8 5
Hydro H100i GTX 0c03 HydroAsetek Full Support 1,8 5
Hydro H100i Pro 0c15 HydroAsetekPro Full Support 1,8,9 5
Hydro H110i GT V2 0c0a HydroAsetek Full Support 1,8 5
Hydro H110i GTX 0c07 HydroAsetek Full Support 1,8 5
Hydro H115i Pro 0c13 HydroAsetekPro Full Support 1,8,9 5
Hydro H150i Pro 0c12 HydroAsetekPro Full Support 1,8,9 5
XC7 LCD Water Block 0c42 HidCooling Full Support n/a n/a 5
HX550i 1c03 HidPsu Full Support 7 6
HX650i 1c04 HidPsu Full Support 7 6
HX750i 1c05 HidPsu Full Support 7 6
HX850i 1c06 HidPsu Full Support 7 6
HX1000i 1c07 HidPsu Full Support 7 6
HX1200i 1c08 HidPsu Full Support 7 6
HX1000i (2021) 1c1e HidPsu Full Support 7 6
HX1500i (2021) 1c1f HidPsu Full Support 7 6
RM550i 1c09 HidPsu Full Support 7 6
RM650i 1c0a HidPsu Full Support 7 6
RM750i 1c0b HidPsu Full Support 7 6
RM850i 1c0c HidPsu Full Support 7 6
RM1000i 1c0d HidPsu Full Support 7 6
AX850i 1c0e FlexUsbPsu Full Support 8 6
AX1000i 1c0f FlexUsbPsu Full Support 8 6
AX1300i 1c10 FlexUsbPsu Full Support 8 6
AX1500i 1c02 FlexUsbPsu Full Support 8 6
AX1600i 1c11 FlexUsbPsu Full Support 8 6
AX760i/AX860i/AX1200i 1c00 FlexUsbPsu Full Support 8 6
Cooling Node 0c04(38) - Support Upon Request
Hydro H80 0c04(37) - Support Upon Request
Hydro H100 0c04(3a) - Support Upon Request
  1. Software mode only. Device lighting will be software-based.

  2. The speed ramping in the Commander CORE and CORE XT is too slow for automatic sensor pairing and start/stop detection to function in Fan Control. Therefore, assisted setup will fail. Each control will need to be paired with its corresponding sensor manually and its start/stop values will need to be set manually.

  3. Support is currently experimental and only available in a pre-release (see Releases). Please provide your feedback in issues and discussions.

  4. Variable pump speed using the device's Quiet, Balanced, and Performance presets based on the control's percent value:

    Control % Pump Mode
    0-33% Quiet
    34-67% Balanced
    68-100% Performance
  5. Reads the liquid temperature.

  6. When the fan power is set to 0%, control of the fan will be returned to the PSU allowing zero-RPM operation. When the fan power is set to 1% or higher, control of the fan will be returned to Fan Control. The minimum duty depends on the model:

    PSU Model Min. Duty
    HXi/RMi 30%
    AXi 15%
  7. The LibreHardwareMonitor "PSU (Corsair)" sensor source must be disabled in Fan Control's Sensor Settings.

  8. Requires driver installation and Windows 10/11 64-bit OS. See instructions (also included in download).

  9. The default safety profile stored on the device may be overridden by setting the FANCONTROL_CORSAIRLINK_HYDRO_ASETEK_PRO_SAFETY_PROFILE_OVERRIDE_ENABLED environment variable to 1 and restarting Fan Control. This will write a new safety profile to the device:

    Temp Fan Duty
    Activate 58°C 100%
    Deactivate 57°C -
  10. As of v1.4.3, the minimum pump power is 50% (regardless of the requested power in Fan Control) to prevent a "pump failure" state and noise/resonance that may occur due to low pump RPM. Additionally, the default pump power is 100%. 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.

  11. Corsair One computers using the Hydro Platinum controller are supported. For liquid-cooled GPU models, GPU pump RPM and liquid temperature sensors are available, but GPU pump speed control is not yet supported. All supported models support CPU pump speed control.

iCUE LINK Support

Support for the iCUE LINK Hub was added in v1.5.0. The following LINK devices are supported:

Device Type Code Model Code Status Read Fan/Pump RPM Set Fan/Pump Power Read Temp Sensor
QX Fan 01 00 Full Support
H100i (Black) 07 00 Full Support 1
H115i (Black) 07 01 Full Support 1
H150i (Black) 07 02 Full Support 1
H170i (Black) 07 03 Full Support 1
H100i (White) 07 04 Full Support 1
H150i (White) 07 05 Full Support 1
XC7 (Stealth Gray) 09 00 Full Support n/a n/a
XC7 (White) 09 01 Full Support n/a n/a
XD5 (Stealth Gray) 0c 00 Full Support 1
XD5 (White) 0c 01 Full Support 1
RX RGB Fan 0f 00 Full Support n/a
RX Fan 13 00 Full Support n/a

Don't see your device listed? Open an issue and provide a USB packet capture.

  1. 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.

Installation

[!WARNING] This plugin will not function correctly if Corsair iCUE and the "Corsair Service" service is running. These programs should be stopped before running Fan Control. Running incompatible programs that attempt to communicate with these devices while Fan Control is running is not a supported scenario.

[!WARNING] All versions of this plugin prior to v1.7.0 require the .NET Framework build of Fan Control. Install Fan Control using the FanControl_*_net_4_8.zip release files or the FanControl_*_net_4_8_Installer.exe installer only.

[!NOTE] Support for the .NET 8 build of Fan Control was added in v1.7.0-beta.1. As of this version, plugin builds are located within their respective directories. In step 4 below, the FanControl.CorsairLink.dll file will be located within the net48 or net8.0 directory. Choose the build that matches your Fan Control installation.

  1. Download a release.
  2. Unblock the downloaded ZIP file. (Right-click, Properties, check Unblock, OK)
  3. Exit Fan Control.
  4. Copy FanControl.CorsairLink.dll to Fan Control's Plugins directory.
  5. Start Fan Control.

SiUsbXpress Driver

[!TIP] The SiUsbXpress driver is only necessary if:

  • the Status of your device in the Device Support matrix has the 8 footnote superscript, e.g. Full Support 8
  • the driver has not been installed previously (by Corsair iCUE or manually)

[!NOTE] The driver is only supported on:

  • Windows 10 64-bit
  • Windows 11 64-bit

To install the driver:

  1. Ensure Fan Control is closed.
  2. Ensure FanControl.CorsairLink.dll has been copied to Fan Control's Plugins directory.
  3. Copy SiUSBXp.dll from the Corsair-SiUsbXpress-Driver directory to Fan Control's Plugins directory.
  4. Right-click the CorsairSiUSBXp.inf file in the Corsair-SiUsbXpress-Driver directory and select Install. (This is a signed driver shipped with Corsair iCUE.)
  5. Start Fan Control.

Configuration

This plugin reads the following Windows environment variables:

Name Description Values
FANCONTROL_CORSAIRLINK_DEBUG_LOGGING_ENABLED Enables debug logging to the CorsairLink.log file. 1 = enabled, 0 = disabled
FANCONTROL_CORSAIRLINK_DIRECT_LIGHTING_DEFAULT_BRIGHTNESS 1 Sets the LED brightness on supported models. percent, e.g. 50
FANCONTROL_CORSAIRLINK_DIRECT_LIGHTING_DEFAULT_RGB 1 Sets the LED color on supported models. RGB color in R,G,B format, e.g. 0,255,0
FANCONTROL_CORSAIRLINK_ERROR_NOTIFICATIONS_DISABLED Disables critical error notifications. 1 = disabled, 0 = enabled
FANCONTROL_CORSAIRLINK_HYDRO_ASETEK_PRO_SAFETY_PROFILE_OVERRIDE_ENABLED Overrides the pump safety profile on Hydro Asetek Pro devices. 1 = override, 0 = do not override
FANCONTROL_CORSAIRLINK_MIN_PUMP_DUTY 2 Sets the minimum pump power on supported models. percent, e.g. 50
  1. Supported models: Hydro Platinum (v1.6.0+)
  2. Supported models: iCUE LINK, Commander CORE (v1.6.0+)

[!TIP] To set these values, start Run or Command Prompt and run rundll32 sysdm.cpl,EditEnvironmentVariables. Alternatively, use the setx command.

[!TIP] Fan Control must be restarted for changes to these environment variables to take effect.

Interoperability

This plugin implements a standard global mutex (Global\CorsairLinkReadWriteGuardMutex) to synchronize device communication.

Compatibility

Application Compatibility Notes
HWiNFO ✅ 5.34+
SIV ✅ 5.17+
SignalRGB ✅ Commander PRO/CORE/CORE XT: 2.2.29+, iCUE LINK: 2.3.13+, Hydro Platinum: 2.3.45+ Commander PRO/CORE/CORE XT, Hydro Platinum, iCUE LINK only
OpenRGB ⚠️ 1.0+ (added in f6723975) Commander PRO/CORE/CORE XT, Hydro Platinum only
Corsair iCUE ❌ Not compatible (more info)
Citrix Workspace ❌ Not compatible (more info)

Note: Any third-party software that properly implements the standard mutex for your devices will likely be compatible.