dellfand: Dell laptop fan regulator for Linux/Solaris

Author: Lee Wilmot
Latest Version: 0.9, 20071111

Contents

Intro

dellfand is a daemon for regulating the fan on certain Dell laptops. It requires Linux kernel 2.6.X. It is standalone, no special kernel module is required. The primary advantage is being able to browse in total silence (assuming your laptop's CPU is being throttled correctly).

Since version 0.8 dellfand is also patched for OpenSolaris, and possibly other Solaris versionz, thanks to Matthias Andreas Benkard. The Solaris code is totally untested by myself, however.

The software is derived from a utility written for FreeBSD by
< bofn@irq.org >: see here.

dellfand is GPL software. Share and prosper. The parts derived from the FreeBSD fan utility (see fan.cc) are under the author's personal licence (see bofn.licence.txt).

Do not use this software until you have read the disclaimer.

I recommend you always restart your laptop if you terminate dellfand because otherwise the BIOS may not take over fan regulation again and the laptop may then overheat.

Download/Build

dellfand is only available as a source tarball, since the static build would quickly overwhelm my bandwidth quota.
dellfand-0.9.tar.bz2
Extract with
tar xvf dellfand-0.9.tar.bz2
Build with
cd dellfand-0.9; make

CommandLine Usage

Without arguments, the daemon will print the fan status once and exit.

Normal usage is:

dellfand mode sleep-seconds off low high

You must run as root. All arguments are mandatory.

Info Line

dellfand displays output like this:
Fan 0 Status 1->0 Speed 77640 CPU Temp 29C
Meaning fan 0 is running at 77640rpm, the temperature is 29 degrees celcius and the fan status has just been changed from 1 to 0 (i.e. the fan is moving from low speed to off, so the speed will shortly be 0).

Daemon Usage

If your system is compatible, I recommend using the included init script (etc.init.d.dellfand) for running in daemon mode (which is the mode you'll probably want after testing the parameters). Otherwise, you can just start it by setting the mode argument to 1.

You must run as root.

The init script has a status argument which will print the process and fan status, and return a value dependent on whether dellfand is running or not. Of course, you must amend the script to point at the daemon.

Tested Platforms

I have only tested this software on a Dell Inspiron 6000 with BIOS A09 running Debian on Linux kernel 2.6.18.

I suspect it will work with a large number of other Dell laptops. The list at the i8kfan site is perhaps a good guide.

I have seen reports or been told that dellfand works with the following laptops:

Inspiron 510m, 1150, 1300, 1520, 4000, 5100, 5150, 6000, 6400, 8600, 9300, 9400/Royal; CS400, D410, D520, D610, D820, e1505, XPS m1210, XPS m1330, Precision M50, Vostro 1500

I have been told that it does not work on:

Vostro 1310, 1510
Please let me know if you have it running succesfully (or not) elsewhere. The BIOS in some laptops, with some BIOS versions, is more active than in others. You may get interference. It could be that reducing the polling delay (e.g. to 0.5 seconds) will reduce the annoyance caused by this. Currently I know of no other solution.

Disclaimer

This software is provided purely as is. It's very possible it could ruin your laptop permanently. I accept no responsibility for any damage. Even if detecting the CPU temperature of your laptop correctly, there could be other components which will deteriorate if the fan is not left on permanently.

You run this software entirely at your own risk.

Not clear yet ? By runnning this software you are implicitly exempting me from any responsibility for any problems it may cause for any party, ever, anywhere.

Notes

Contact The Author

You'll find an email address in the README file of the distribution. I'm not a Dell laptop BIOS guru, please don't send me questions about that.