/fancontrol

Advanced fancontrol with hysteresis based on common fancontrol/pwmconfig

Primary LanguageShell

fancontrol

This version of the popular "fancontrol" script uses a hysteresis to avoid too many changes of the fan speed. The controller works lots of smoother. Additionally a smoothing over time will be implemented (just planned by now).

The fancontrol script uses the same configuration file than the original version. Additional, optional parameters can be set using the version of pwmconfig, that is included to this project (just planned - by now the parameters are fixed).

  • Usage - Generate configuration file first:
sudo ./pwmconfig

Then run fancontrol script:

sudo ./fancontrol

remember to use the local scripts by using the prefix "./" otherwise the original programs would be used.

  • Configuration - An example configuration file ("/etc/fancontrol") looks like this:
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=1
DEVPATH=hwmon0=devices/platform/coretemp.0 hwmon4=devices/platform/asus_fan
DEVNAME=hwmon0=coretemp hwmon4=asus_fan
FCTEMPS=hwmon4/pwm1=hwmon0/temp1_input
FCFANS= hwmon4/pwm1=hwmon4/fan1_input
MINTEMP=hwmon4/pwm1=55
MAXTEMP=hwmon4/pwm1=85
MINSTART=hwmon4/pwm1=35
MINSTOP=hwmon4/pwm1=0
  • Hysteresis - An example curve is shown below:

Alt text

To change parameters and plot it yourself use gnuplot:

gnuplot
load "hysteresis.plot"