FANCONTROL(8) FANCONTROL(8)
NAME
fancontrol - automated software based fan speed regulation
SYNOPSIS
fancontrol [configfile]
DESCRIPTION
fancontrol is a shell script for use with lm_sensors. It reads its configuration
from a file, then calculates fan speeds from temperatures and sets the correspond-
ing PWM outputs to the computed values.
WARNING
Please be careful when using the fan control features of your mainboard, in addi-
tion to the risk of burning your CPU, at higher temperatures there will be a higher
wearout of your other hardware components, too. So if you plan to use these compo-
nents in 50 years, maybe you shouldn’t use fancontrol at all. Also please keep in
mind most fans aren’t designed to be powered by a PWMed voltage.
In practice it doesn’t seem to be a major issue, the fans will get slightly warmer,
just be sure to have a temperature alarm and/or shutdown call, in case some fan
fails, because you probably won’t hear it anymore ;)
CONFIGURATION
For easy configuration, there’s a script named pwmconfig(8) which lets you interac-
tively write your configuration file for fancontrol. Alternatively you can write
this file yourself using the information from this manpage.
Since most of you are going to use pwmconfig(8) script, the config file syntax will
be discussed last. First I’m going to describe the various variables available for
changing fancontrol’s behaviour:
INTERVAL
This variable defines at which interval in seconds the main loop of fancon-
trol will be executed
FCTEMPS
Maps PWM outputs to temperature sensors so fancontrol knows which tempera-
ture sensors should be used for calculation of new values for the corre-
sponding PWM outputs.
FCFANS FCFANS records the association between a PWM and a fan. Then fancontrol can
check the fan speed and restart it if it stops unexpectedly.
MINTEMP
The temperature below which the fan gets switched off completely.
MAXTEMP
The temperature over which the fan gets switched to full speed.
MINSTART
Sets the minimum speed at which the fan begins spinning. You should use a
safe value to be sure it works, even when the fan gets old.
MINSTOP
The minimum speed at which the fan still spins. Use a safe value here, too.
If you set up your configuration by hand, be sure to include ALL variables and use
valid values, there’s no error handling yet! The file format is a bit strange:
VARIABLE=chip/pwmdev=value chip/pwmdev2=value2
VARIABLE2=...
Each variable has its own line. The variable name is followed by an equal sign and
the device=value pairs. These consist of the relative path to the pwm output (from
/proc/sys/dev/sensors/) for which the value is valid, equal sign followed by the
value and are seperated by a blank. Example:
MINTEMP=w83627hf-isa-0290/pwm2=40 w83627hf-isa-0290/pwm1=54
You have to play with the temperature values a bit to get happy. For initial setup
I recommend using the pwmconfig script. Small changes can be made by editing the
config file directly following the rules above.
THE ALGORITHM
fancontrol first reads its configuration, writes it to arrays and loops its main
function. This function gets the temperatures and fanspeeds from lm_sensors proc
files and calculates new speeds depending on temperature changes, but only if the
temp is between MINTEMP and MAXTEMP. After that, the new values are written to the
PWM outputs. Currently the speed increases quadratically with rising temperature.
This way you won’t hear your fans most of the time at best.
CONFORMING TO
lm_sensors-2.x
SEE ALSO
pwmconfig(8), sensors(1).
AUTHOR
Marius Reiner <marius.reiner AT hdev.de>
January 27, 2005 FANCONTROL(8)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2008-12-02 05:57 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)