Well this has been a bit of a saga so far. I’ve been working on Linux support for the CoolerMaster CoolDrive 6 (CD6 henceforth) which I currently have in my computer. It has a USB connection, and an inbuilt Prolific PL2303X USB-Serial converter. Sadly, I’ve been struggling with uncooperative C code that I’d found which supposedly allows me to control a serial port. Yeah, right.
I’ve got the source from the CoolerMaster-provided programs that deal with the device, so all I need to do is get serial communication working (9600 baud, 8 data bits, 1 stop bit, no parity or handshaking) and I should be good to go. This will have the following advantages:
- My processor fan is connected to the FAN1 output of the CD6. It would be quite nice to software-control (and -read) its speed depending on whether I want cool operation or silence.
- The internal HDD fan is hardwired to the FAN3 output of the CD6. It would be quite nice to software-control (and -read) its speed etc… especially as I don’t really currently use it.
- My other case fans are currently controlled by a switch I’ve modded into a bay bevel. It would be great to take away the hardware from this too so that all fans in my computer are software-controlled. To do this, I can simply attach a couple of transistors to some cables going to FAN2, and then they will switch the fans on and off depending on whether FAN2 is on or off.
The end result? I want to be able to press a button on my keyboard (the backlight button, in fact), and turn off the backlight on my keyboard, the case fans, case glow and HDD fan, and to slow my CPU fan down to about 1700 RPM. Another press of the button will activate the backlight, case fans, case glow and HDD fan and speed the CPU fan up to 2300 RPM or so. That way, I can watch films/videos or sleep in near-silence with a simple keystroke, and go back to intense operation just as quickly. I could even decide that I wanted to do some compiling while I was away from my machine, and turn the fans on via SSH.
The possibilities are (obviously) endless.