Fan speeds under Linux
I've just upgraded my home server with some spare bits from my interim upgrade on my PC. And a couple of new big disks (1.5TB of storage now).
I'm running openSUSE 10.3 as the operating system. Most things appear to be running ok, apart from the CPU fan. My BIOS has an option to throttle back or slow down the CPU fan when the chip goes below a certain temperature. This is great, as it's a particularly noisy CPU fan, and as it's a server, I don't want it whirring away all the time, as it's annoying.
This works fine, until the threshold is met, currently 60°C (it takes quite a bit to get it to that temp). At this point the CPU fan correctly speeds up to full power, cooling the chip back down to under this threshold. But the fan does not slow down again. Instead it stays at full speed, and full noise!
I followed the usual approach for getting support with open source projects. I did some Google KungFu, and cried for help in various official, and unofficial IRC channels. But as we all know, if the question isn't "how do I compile this app I've downloaded" you don't get very far.
Luckily the Google KungFu finally came up trumps with this how to posted on the Ubuntu forums. This guide details how to use the "fancontrol" feature in Linux (was already available on my distro, didn't need to download anything).
Essentially, you run the "pwnconfig" script, which tests your fan control (careful, I did this and my BIOS triggered a shutdown as it detected the CPU fan stopping). Once you've identified which control you're interested in (by looking and listening at the right time), it guides you through creating some rules for that sensor/fan.
If the app closes, all the fans will go to maximum (although no idea what happens if the app just goes wrong).
As I am far from comfortable in the reliability of Linux (especially when it comes to hardware things), I've set my BIOS to shutdown the system if the CPU reaches 80°C; which should never happen.