Man Pages

fancontrol(8) - phpMan fancontrol(8) - phpMan

Command: man perldoc info search(apropos)  


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 corresponding PWM outputs to the computed values.


WARNING
       Please be careful when using the fan control features of your mainboard, in addition 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 components 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 tem-
       perature 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 interactively write your  configura-
       tion  file  for fancontrol. Alternatively you can write this file yourself using the information from this man-
       page.

       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 fancontrol will be executed

       FCTEMPS
              Maps PWM outputs to temperature sensors so fancontrol knows which temperature sensors should be used for
              calculation of new values for the corresponding 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 to minimum speed.

       MAXTEMP
              The temperature over which the fan gets switched to maximum 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.

       MINPWM The PWM value to use when the temperature is below MINTEMP.  Typically, this will be either 0 if  it  is
              OK  for  the fan to plain stop, or the same value as MINSTOP if you don't want the fan to ever stop.  If
              this value isn't defined, it defaults to 0 (stopped fan).

       MAXPWM The PWM value to use when the temperature is over MAXTEMP.  If this value isn't defined, it defaults  to
              255 (full speed).

       The configuration 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 path to the pwm output for which the value is valid, equal sign followed by the value  and
       are  separated  by  a  blank.  Path  can be absolute or relative (from /sys/bus/i2c/devices or /sys/class/hwmon
       depending on the kernel version). Example:

              MINTEMP=hwmon0/device/pwm1=40 hwmon0/device/pwm2=54

       You have to play with the temperature values a bit to get happy. For initial setup I recommend using  the  pwm-
       config 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 kernel driver 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.


SEE ALSO
       pwmconfig(8), sensors(1).


AUTHOR
       Marius Reiner <marius.reinerAThdev.de>



lm-sensors 3                     January 2009                    FANCONTROL(8)