Mini 311

Preamble
About a year ago now, I figured out how to control the fan on the Mini 311. Just recently, I got round to documenting this and writing a simple Linux kernel module to allow fan control. This page covers the kernel module, which you can download below.
The 311 fan can be controlled by accessing registers in the ACPI embedded controller. My documentation of these registers follows.
Offset |
---|
Intro & prerequisites
At present, these notes mainly cover unpacking the BIOS into it's component parts. There are several ways of doing this, and the following is just how I did it - I use both Linux and Windows.

Like most 311s, mine came with a mini PCI-E wifi card with integrated bluetooth (BCM4312). For various reasons I chose to replace this with a different card, and at the time, there were no other wifi options with bluetooth (i.e. no other half-height mini PCI-E cards known to work with the 311 under all OSs). HP's solution for this is a separate internal bluetooth module which connects via a cable at the front of the motherboard. The module and cable are parts 537921-001 and 584687-001 and can be bought from HP, but together become rather pricey.
It looks like my hacked Mini 311 BIOS has become news on Liliputing, Ubergizmo and Netbook Reports, with the latter containing a direct quote from my original post. It is too bad that MyHPMini (the site I originally posted it on) never considered it to be important news, despite doing so for lesser hacks :-S