File: fan-divisors

package info (click to toggle)
lm-sensors 1%3A2.10.7-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 5,324 kB
  • ctags: 10,814
  • sloc: ansic: 63,969; perl: 8,111; sh: 1,823; makefile: 399; lex: 371; yacc: 312; python: 11
file content (99 lines) | stat: -rw-r--r-- 2,990 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Fan reading problems and solutions
----------------------------------

If you aren't getting the expected readings on your fans,
try the following:

- Do you get a fan reading in the BIOS or using a different OS?
  If not, you may not have a fan with a tachometer output.
  Look and see. Fans with tachometer outputs have at least 3 wires.
  Fans with only 2 wires cannot, in general, report their speed.

- Try experimenting with the fan divisor settings:


Fan Divisor Settings
--------------------

Fan Divisor	Minimum RPM	Maximum RPM
-----------	-----------	-----------
  1		5314		1350000
  2		2657		 675000		default on most chips
  4		1328		 337500
  8		 664		 168750
 16		 332		  84375		not supported on most chips
 32		 166		  42187		""
 64		  83		  21093		""
128		  41		  10546		""

Pick a divisor so that the nominal RPM is about 50%
above the minimum. This is a good compromise between
margin and accuracy. Note that most chips only support
fan divisors of 1, 2, 4, and 8.

If you have a 0 RPM reading some or all of the time,
increase the divisor until you get good readings.

If you have a nominal reading less than 1.25 times the
minimum, increase the divisor to give you margin
so that you will not get spurious alarms.

If you have a nominal reading more than 3 times the
minimum, decrease the divisor to provide better
accuracy.


How to change fan divisors
--------------------------

Put an entry "set fanN_div X" in the appropriate section of
/etc/sensors.conf and run 'sensors -s'
(N is the number of the fan, and X is the divisor you want).


Further details
---------------

Fan divisors are quite confusing.

Sensor chips count fan speed by using the fan signal
to gate an 8-bit counter driven by a 22.5 kHz clock.
So the _higher_ the counter value, the _slower_ the fan,
and vice versa.

The term 'fan divisor' is a misnomer because it doesn't divide
the fan signal, it divides the 22.5 kHz clock.
Thus you _increase_ the divisor if you have a slow fan.

The drivers account for the 'fan divisor' in their calculation
of RPM. So changing the fan divisor will NOT change the
nominal RPM reading, it will only affect the minimum and maximum
readings and the accuracy of the readings.

The actual formula is RPM = (60 * 22500) / (count * divisor)

The readings are most accurate when the fan speed is low
(i.e., close to the minimum possible RPM reading).
As fan speed gets closer to the maximum possible RPM reading,
the reading becomes quite inaccurate. Fortunately, most computer
fans do not approach 1,000,000 RPM !


Fan readings 2X too high
------------------------

This is rare, but can happen. This is typically caused by a fan which
outputs 4 pulses by revolution, instead of the standard 2.

As we learned above, you can _not_ fix this by changing
the fan divisor. You must add entries into the appropriate
section of /etc/sensors.conf:

	compute fanN  @/2,  2*@

(N is the number of the fan)



------------------
Copyright (c) 2000-2004 Mark D. Studebaker