It's been a long time since I wrote anything here.  This one sucks, but here it is anyway.

Blah blah blah.  At least that is what this is going to sound like to you non techies out there.

Ever since I started running distributed computing projects on my laptop I've had problems with instability, and after some time I would have to tear the laptop apart and refurbish the cooling.  It was getting the CPU so hot that it was boiling/burning away the thermal compound until it overheated to the point where it wouldn't run for more than a few minutes.

Yesterday I had to do this again, and I was considering rewiring the "smart" fan so that it would turn on high speed all the time instead of when the laptop thought it was hot.  This wasn't actually happening.  I should add that this is with the AC power connected so power saving is not the issue.  The fan has four speeds from off to high, but it never ran any faster than slow.  This was the situation in every Microsoft OS I've used on it.

But while I had it open I didn't feel like getting up to turn on the light, so the soldering was hard to do.  I decided to try something else first.  I put it back together and booted Linux.  There I asked the kernel about the ACPI.  Linux can read the CPU temperature while I've never found any tool for Windows either from the laptop maker, or third party that could do this in spite of hours of searching.

Linux says, "yes, your CPU is getting stupidly hot under full load.  And here is this fan control hardware you might want to look at."  So I spent about 15 minutes learning how Linux talked to the fan hardware and about 3 minutes later I had written a program that watches the CPU temperature and adjusts the fan speed as needed.  Now the CPU runs 20º C cooler even under full load, even in hot ambient conditions.  Yeah, Open Source.


If I was almost anyone else, I would have smoked my laptop, and it would have been just mysterious "Oh, its dead."  Actually caused by closed source.  Shame on Compaq for making an Armada laptop with firmware that doesn't keep the CPU safe under heavy load.  Don't say "normal" use doesn't make that heavy a load.  I've seen guys use this same model for live music mixing.  Very high load.  Shame on Microsoft for not having a decent interface to the hardware in for instance Windows 2000 Pro.  Pro is supposed to mean something.  I think it means more $$$ for the same crap.  But instead of dying at the hands of poor quality sw/hw I had the skill to fix the physical aspects to keep it going and fix the software so the problem is actually fixed.  Open Source is so open that I was able to learn about a subsystem that I've never looked at before in just a few minutes.  I coded my own fan controller, but there were also many available for free on the net that I could have used.