root/lm-sensors/tags/V2-10-1/doc/fancontrol.txt

Revision 4064, 3.9 kB (checked in by ruik, 2 years ago)

Transion to new website, part2 - move more links, fix the CVS->SVN

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2 fancontrol - automated software based fan speed regulation
3
4
5 Introduction
6
7 fancontrol is a shellscript for use with lm_sensors. It reads its
8 configuration from a file, then calculates fan speeds from temperatures and
9 sets the corresponding pwm outputs to the computed values.  It is included in
10 lm_sensors since 2.8.0, the latest version is always available through SVN or
11 at http://www.hdev.de/fancontrol/ For easy configuration, there's a script
12 named pwmconfig which lets you interactively write your configuration file for
13 fancontrol. Alternatively you can write this file yourself using the
14 information from the configuration section of this document.
15
16 Please be careful when using the fan control features of your mainboard, in
17 addition to the risk of burning your CPU, at higher temperatures there will be
18 a higher wearout of your other hardware components, too. So if you plan to use
19 these components in 50 years, _maybe_ you shouldn't use fancontrol/your
20 hardware at all.  Also please keep in mind most fans aren't designed to be
21 powered by a PWMed voltage, for more detailed information on this I recommend
22 this appnote: http://www.maxim-ic.com/appnotes.cfm/appnote_number/707
23 In practice it doesn't seem to be a major issue, the fans will get slightly
24 warmer, just be sure to have a temperature alarm and/or shutdown call, in case
25 some fan fails, because you probably won't hear it anymore ;)
26
27 Configuration
28
29 Since most of you are going to use the prog/pwm/pwmconfig script, the config
30 file syntax will be discussed last. First I'm going to describe the various
31 variables available for changing fancontrol's behaviour:
32
33 INTERVAL
34         This variable defines at which interval in seconds the main loop of
35         fancontrol will be executed
36
37 FCTEMPS
38         Maps pwm outputs to temperature sensors so fancontrol know which
39         temperature sensors should be used for calculation of new values for
40         the corresponding pwm outputs.
41
42 FCFANS
43         FCFANS records the association between a pwm and a fan.
44         Then fancontrol can check the fan speed and restart it if it
45         stops unexpectedly.
46
47 MINTEMP
48         The temperature at which the fan gets switched off completely.
49
50 MAXTEMP
51         The temperature at which the fan gets switched to full speed.
52
53 MINSTART
54         Sets the minimum speed at which the fan begins spinning. You should
55         use a safe value to be sure it works, even when the fan gets old.
56
57 MINSTOP
58         The minimum speed at which the fan still spins. Use a save value here,
59         too.
60
61 If you set up your configuration by hand, be sure to include ALL variables and
62 use valid values, there's no error handling yet! The file format is a bit
63 strange:
64
65 VARIABLE=chip/pwmdev=value chip/pwmdev2=value2 [...] VARIABLE2=[...]
66
67 Each variable has its own line. The variable name is followed by an equal sign
68 and the device=value pairs. These consist of the relative path to the pwm
69 output (from /proc/sys/dev/sensors/) for which the value is valid, equal sign
70 followed by the value and are seperated by a blank.
71
72 Example:
73
74 MINTEMP=w83627hf-isa-0290/pwm2=40 w83627hf-isa-0290/pwm1=54
75
76 You have to play with the temperature values a bit to get happy. For initial
77 setup I recommend using the pwmconfig script. Small changes can be made by
78 editing the config file directly following the rules above.
79
80
81 The algorithm
82
83 fancontrol first reads its configuration, writes it to arrays and loops its
84 main function.  This function gets the temperatures and fanspeeds from
85 lm_sensors proc files and calculates new speeds depending on temperature
86 changes, but only if the temp is between MINTEMP and MAXTEMP. After that, the
87 new values are written to the pwm outputs.  Currently the speed increases
88 quadratically with rising temperature. This way you won't hear your fans most
89 of the time at best.
90
91
92 Planned features
93
94 rc-scripts for some gnu/linux-distributions
95 smoother regulation (temp interpolation)
96 other curve styles (linear, exponential)
97 gui for configuration
98
99 If you have other wishes or want to contribute something, please let me know:
100 marius.reiner${AT}hdev.de
Note: See TracBrowser for help on using the browser.