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


       fancontrol - automated software based fan speed regulation


       fancontrol [configfile]


       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.


       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 ;)


       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:

              This variable defines at which interval in seconds the main loop of fancontrol will
              be executed

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

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

              Maps PWM outputs to temperature  sensors  so  fancontrol  knows  which  temperature
              sensors  should  be  used  for  calculation of new values for the corresponding PWM

       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.

              The temperature below which the fan gets switched to minimum speed.

              The temperature over which the fan gets switched to maximum speed.

              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.

              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

       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.


       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.


       pwmconfig(8), sensors(1).


       Marius Reiner <>