Adjust Corsair fan settings on Linux using command line or software tools.
Adjust Corsair fan settings on Linux using command line or software tools.
I built my first PC recently and added a Linux partition for non-gaming tasks. It has nine Corsair fans—six LL120 and three ML120—and runs smoothly on Windows with iCue. I can adjust fan speed and lighting, but Linux keeps them at default settings. iCue lets me change the lighting defaults after reboot, though it doesn’t let me modify fan speed, which usually stays around 800 RPM. With nine fans spinning at that speed it becomes quite loud without headphones. I’ve found a way around by using Windows first, updating the fan values there, then switching to Linux. I’m interested in either updating the default speeds on Windows or controlling them on Linux. Would anyone have faced this issue before? Do you know of a solution to set default fan speeds on either OS?
I don't believe that yet, as you can only eventually control Corsair keyboard and mouse RGB using scripts from GitHub (https://github.com/ckb-next/ckb-next). You might revisit this later to check if support is planned, and you could reach out to the developers to inquire about fan support.
Have you linked the fans to the MB or used a separate FAN controller? Specifically, where are the PWM or voltage cables connected? For now, I’m ignoring lighting and RGB settings unless both systems share the same control. Likely the simplest approach is to adjust BIOS settings for a suitable curve and skip software fan management. Linux does support fan control via command line, but it can be tricky—often only linear curves are available, with basic hysteresis. It’s unlikely the fans have built-in settings; if you configure them in Linux, they shouldn’t conflict with Windows setups.
(Note: For the Corsair Commander Pro, this might differ due to internal memory features.)
Check lm-sensors and sensors-detect commands in your system. But this probably won’t work.
ASUS tends to resist FOSS and non-standard practices, so they may use proprietary methods or drivers for certain OSes. For older ASUS boards, setting acpi_enforce_resources=lax in the command line might be necessary, though it carries risks.
Official methods usually rely on ACPI for fan control, but this is non-standard and not supported by Linux drivers.
If the fans are connected via a USB controller, running software in a VM could be an alternative, though it may require significant effort.
From the thread you referenced, it seems you're using Corsair Commander Pro. A search on Google reveals an issue at https://github.com/audiohacked/OpenCorsa.../issues/70, suggesting you might benefit from trying the "OpenCorsairLink" project.
Sorry, I didn't note that six fans are managed by a Corsair Commander Pro, while the remaining three rely on the pump. The motherboard isn't aware of them all, which is why I had to turn off the CPU fan check for a proper start-up. The system handles all fans via USB, including both the pump and the Commander Pro.
I don't believe this falls within WINE's objectives, though I'm open to trying it. Appreciate the reminder!
Thanks for the feedback. It seems the project is moving forward. Someone has already broken down the USB protocol, which gives me an idea—I could develop a Linux app or help with the OpenCorsairLink initiative if it’s missing features. As you mentioned, fans are managed by the Commander Pro, and I don’t plan to relocate them to the motherboard. The iCue software on Windows works well for me. Linux feels like a decent option for my setup, though it’s not my top choice right now. I mainly use it for gaming and programming tasks that benefit from the Linux kernel. I’m not planning to play games on Linux, so even the temporary solution of switching OSes is acceptable. I’ll share my progress soon, likely this weekend.