Provided by: fancontrol_3.4.0-4ubuntu0.1_all bug

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

       DEVPATH
              Maps hwmon class devices to physical devices. This lets fancontrol check  that  the  configuration
              file is still up-to-date.

       DEVNAME
              Records  hwmon class device names. This lets fancontrol check that the configuration file is still
              up-to-date.

       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 Records  the  association between a PWM output and a fan input.  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
       pwmconfig script. Small changes can be made by editing the  config  file  directly  following  the  rules
       above.

       Upon starting, fancontrol will make sure that all referenced devices do exist and match what they were at
       configuration time, and that all referenced sysfs files do exist. If not, it will quit immediately,  upon
       the assumption that the configuration file may be out-of-sync with the loaded kernel drivers.

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.reiner@hdev.de>