root/lm-sensors/trunk/doc/lm_sensors-FAQ.html @ 1968

Revision 1968, 87.9 KB (checked in by khali, 10 years ago)

Add details about the mailing-list.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<html lang="en"><head>
2<title>Sensors FAQ for lm_sensors version 2.9</title>
3<meta http-equiv="Content-Type" content="text/html">
4<meta name=description content="Sensors FAQ for lm_sensors version 2.9">
5<meta name=generator content="makeinfo 4.0">
6<link href="http://texinfo.org/" rel=generator-home>
7</head><body>
8
9<p>C<p>opyright (c) 1998 - 2002<br>
10<a href="mailto:frodol@dds.nl">Frodo Looijaard</a>,<br>
11<a href="mailto:phil@netroedge.com">Philip Edelbrock</a>,<br>
12and<br>
13<a href="mailto:mdsxyz123@yahoo.com">Mark Studebaker</a><br>
14
15
16<h1>Table of Contents</h1>
17<ul>
18<li><a href="#Top">lm_sensors</a>
19<li><a href="#Overview">1 PC and Sensor Overview</a>
20<ul>
21<li><a href="#Section%201.1">1.1 What sensors are available on my PC?</a>
22<li><a href="#Section%201.2">1.2 What can a sensor chip like the "LM78" do?</a>
23<li><a href="#Section%201.3">1.3 Where do I find out more about any of these chips?</a>
24</ul>
25<li><a href="#Basics">2 Sensor and Bus Basics</a>
26<ul>
27<li><a href="#Section%202.1">2.1 How are these sensors read?</a>
28<li><a href="#Section%202.2">2.2 What is the SMBus? And the I2C bus?</a>
29<li><a href="#Section%202.3">2.3 I don't have an ISA bus!</a>
30<li><a href="#Section%202.4">2.4 What sensors do processors have?</a>
31<li><a href="#Section%202.5">2.5 How often are the sensor values updated?</a>
32<li><a href="#Section%202.6">2.6 How are alarms triggered?</a>
33</ul>
34<li><a href="#Installation">3 Installation and Management</a>
35<ul>
36<li><a href="#Section%203.1">3.1 Why so many modules, and how do I cope with them?</a>
37<li><a href="#Section%203.2">3.2 How do I know which chips I own?</a>
38<ul>
39<li><a href="#Section%203.2">3.2.1 What chips are on motherboard XYZ?</a>
40<li><a href="#Section%203.2">3.2.2 Do you support motherboard XYZ?</a>
41<li><a href="#Section%203.2">3.2.3 Do you support chip XYZ?</a>
42<li><a href="#Section%203.2">3.2.4 Anybody working on a driver for chip XYZ?</a>
43</ul>
44<li><a href="#Section%203.3">3.3 Which modules should I insert?</a>
45<li><a href="#Section%203.4">3.4 Do I need the configuration file <code>/etc/sensors.conf</code>?</a>
46<ul>
47<li><a href="#Section%203.4">3.4.1 The labels for the voltage and temperature readings in <code>sensors</code> are incorrect!</a>
48<li><a href="#Section%203.4">3.4.2 The min and max for the readings in <code>sensors</code> are incorrect!</a>
49<li><a href="#Section%203.4">3.4.3 The min and max settings in <code>/etc/sensors.conf</code> didn't take effect!</a>
50<li><a href="#Section%203.4">3.4.4 One sensor isn't hooked up on my board!</a>
51<li><a href="#Section%203.4">3.4.5 I need help with <code>sensors.conf</code>!</a>
52<li><a href="#Section%203.4">3.4.6 Do you have a database of <code>sensors.conf</code> entries for specific boards?</a>
53</ul>
54<li><a href="#Section%203.5">3.5 What about the <code>No such file or directory</code> warnings when I compile?</a>
55<li><a href="#Section%203.6">3.6 I get all kinds of weird compilation errors?</a>
56<ul>
57<li><a href="#Section%203.6">3.6.1 <code>No rule to make target xxxx needed by xxxx</code> - how to fix?</a>
58</ul>
59<li><a href="#Section%203.7">3.7 It still does not compile or patch!</a>
60<li><a href="#Section%203.8">3.8 <code>make install</code> fails on Mandrake kernels</a>
61<li><a href="#Section%203.9">3.9 I get unresolved symbols when I <code>modprobe</code> modules (Red Hat especially)</a>
62<li><a href="#Section%203.10">3.10 I2C_DRIVERID_ADM1024 undefined (Red Hat especially)</a>
63</ul>
64<li><a href="#Problems">4 Problems</a>
65<ul>
66<li><a href="#Section%204.1">4.1 My fans report exactly half/double their values compared to the BIOS?</a>
67<ul>
68<li><a href="#Section%204.1">4.1.1 Fans sometimes/always read 0!!</a>
69<li><a href="#Section%204.1">4.1.2 I doubled the fan divisor and the fan still reads 7000!</a>
70</ul>
71<li><a href="#Section%204.2">4.2 Why do my two LM75's report "-48 degrees"?</a>
72<li><a href="#Section%204.3">4.3 Why do I have two Vcore readings, I have only one processor!</a>
73<li><a href="#Section%204.4">4.4 How do those ALARMS work? The current value is within range but there is still an ALARM warning!</a>
74<li><a href="#Section%204.5">4.5 My voltage readings seem to drift a bit. Is something wrong?</a>
75<li><a href="#Section%204.6">4.6 Some measurements are way out of range. What happened?</a>
76<li><a href="#Section%204.7">4.7 What are VID lines? Why is the VID reading wrong?</a>
77<li><a href="#Section%204.8">4.8 I read sensor values several times a second, but they are only updated only each second or so. Why?</a>
78<li><a href="#Section%204.9">4.9 It sometimes seems to take almost a second before I see the sensor reading results. Why?</a>
79<li><a href="#Section%204.10">4.10 Can I be alerted when an ALARM occurs?</a>
80<li><a href="#Section%204.11">4.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?</a>
81<li><a href="#Section%204.12">4.12 My BIOS reports a much higher CPU temperature than your modules!</a>
82<li><a href="#Section%204.13">4.13 I try to read the raw <code>/proc</code> files, but the values are strange?!?</a>
83<li><a href="#Section%204.14">4.14 How do I set new limits?</a>
84<ul>
85<li><a href="#Section%204.14">4.14.1 I set new limits and it didn't work?</a>
86</ul>
87<li><a href="#Section%204.15">4.15 Some sensors are doubly detected?</a>
88<li><a href="#Section%204.16">4.16 I ran sensors-detect, but now I get very strange readings?!?</a>
89<li><a href="#Section%204.17">4.17 Bad readings from particular chips</a>
90<ul>
91<li><a href="#Section%204.17">4.17.1 Bad readings from the AS99127F!</a>
92<li><a href="#Section%204.17">4.17.2 Bad readings from the VIA 686A!</a>
93<li><a href="#Section%204.17">4.17.3 Bad readings from the MTP008!</a>
94<li><a href="#Section%204.17">4.17.4 Bad temperature readings from the SIS5595!</a>
95<li><a href="#Section%204.17">4.17.5 Bad readings from a w8378[12]d!</a>
96<li><a href="#Section%204.17">4.17.6 Bus hangs on Ali 1543 on Asus P5A boards!</a>
97<li><a href="#Section%204.17">4.17.7 Bad readings from LM75!</a>
98<li><a href="#Section%204.17">4.17.8 Bad readings from LM78!</a>
99<li><a href="#Section%204.17">4.17.9 Bad readings from LM80!</a>
100<li><a href="#Section%204.17">4.17.10 Bad readings from it87!</a>
101</ul>
102<li><a href="#Section%204.18">4.18 How do I configure two chips (LM87) differently?</a>
103<li><a href="#Section%204.19">4.19 Dmesg says <code>Upgrade BIOS</code>! I don't want to!</a>
104<ul>
105<li><a href="#Section%204.19">4.19.1 Dmesg says <code>use force_addr=0xaddr</code>! What address do I use?</a>
106</ul>
107<li><a href="#Section%204.20">4.20 Sensors says <code>Can't access <code>/proc</code> file</code></a>
108<li><a href="#Section%204.21">4.21 Sensors says <code>No sensors found!</code></a>
109<li><a href="#Section%204.22">4.22 Sensors output is not correct!</a>
110<li><a href="#Section%204.23">4.23 What is at I2C address XXX?</a>
111<ul>
112<li><a href="#Section%204.23">4.23.1 What is at I2C address 0x69?</a>
113<li><a href="#Section%204.23">4.23.2 What is at I2C addresses 0x50 - 0x57?</a>
114<li><a href="#Section%204.23">4.23.3 What is at I2C addresses 0x30 - 0x37?</a>
115</ul>
116<li><a href="#Section%204.24">4.24 Sensors-detect doesn't work at all</a>
117<ul>
118<li><a href="#Section%204.24">4.24.1 Sensors-detect says "Couldn't open /proc/bus/i2c?!?"</a>
119<li><a href="#Section%204.24">4.24.2 Sensors-detect says "Can't open /dev/i2c[-/]0"</a>
120<li><a href="#Section%204.24">4.24.3 Sensors-detect doesn't find any sensors!</a>
121</ul>
122<li><a href="#Section%204.25">4.25 Sensors says <code>Error: Line xxx: zzzzzzz</code></a>
123<li><a href="#Section%204.26">4.26 Sensors only gives the name, adapter, and algorithm for my chip</a>
124<li><a href="#Section%204.27">4.27 Sensors says <code>ERROR: Can't get xxxxx data!</code></a>
125<li><a href="#Section%204.28">4.28 Sensors doesn't find any sensors, just eeproms.</a>
126<li><a href="#Section%204.29">4.29 Inserting modules hangs my board</a>
127<li><a href="#Section%204.30">4.30 Inserting modules slows down my board</a>
128<li><a href="#Section%204.31">4.31 Problems on particular motherboards</a>
129<ul>
130<li><a href="#Section%204.31">4.31.1 Asus P4B</a>
131<li><a href="#Section%204.31">4.31.2 Tyan 2460, 2462</a>
132<li><a href="#Section%204.31">4.31.3 Tyan 2466</a>
133<li><a href="#Section%204.31">4.31.4 Tyan 2688</a>
134</ul>
135<li><a href="#Section%204.32">4.32 Problems on particular systems</a>
136</ul>
137<li><a href="#Help">5 How to Ask for Help</a>
138<ul>
139<li><a href="#Section%205.1">5.1 What to send us when asking for help</a>
140<li><a href="#Section%205.2">5.2 What to do if a module won't insert?</a>
141<li><a href="#Section%205.3">5.3 What to do if it inserts, but nothing happens?</a>
142<li><a href="#Section%205.4">5.4 What to do if I read only bogus information?</a>
143<li><a href="#Section%205.5">5.5 What to do if you have other problems?</a>
144<li><a href="#Section%205.6">5.6 What if it just works like a charm?</a>
145<li><a href="#Section%205.7">5.7 How do I update a ticket?</a>
146<li><a href="#Section%205.8">5.8 How do I follow up on a ticket?</a>
147</ul>
148<li><a href="#Contribute">6 How to Contribute</a>
149<ul>
150<li><a href="#Section%206.1">6.1 How to write a driver</a>
151<li><a href="#Section%206.2">6.2 How to get CVS access</a>
152<li><a href="#Section%206.3">6.3 How to donate hardware to the project</a>
153<li><a href="#Section%206.4">6.4 How to join the project mailing list</a>
154<li><a href="#Section%206.5">6.5 How to access mailing list archives</a>
155<li><a href="#Section%206.6">6.6 How to submit a patch</a>
156<li><a href="#Section%206.7">6.7 How to REALLY help</a>
157<li><a href="#Section%206.8">6.8 How to block spam on the project mailing list</a>
158</ul>
159<li><a href="#Version%201%20Specifics">7 Version 1 Specific Questions</a>
160<ul>
161<li><a href="#Section%207.1">7.1 My manufacturer swears that my mainboard has an SMBus, but your code reports that it can't find it.  What's wrong?</a>
162<li><a href="#Section%207.2">7.2 The modules won't load, saying 'SMBus not detected'.</a>
163<li><a href="#Section%207.3">7.3 I try to read <code>/proc/sensors</code>, and I get a "No sensor data yet (try again in a few moments)" message. Why?</a>
164<li><a href="#Section%207.4">7.4 On my Dell, a LM80 is detected, but all readings are 0!</a>
165</ul>
166<li><a href="#Document%20Revisions">Appendix A Revision History of This Document</a>
167</ul>
168
169<p><hr>
170Node:<a name="Top">Top</a>,
171Next:<a rel=next href="#Overview">Overview</a>,
172Up:<a rel=up href="#(dir)">(dir)</a>
173<br>
174
175<h1>lm_sensors</h1>
176
177<p>The lm_sensors package includes a collection of modules for general SMBus
178access and hardware monitoring.  NOTE: this requires special support which
179is not in standard 2.2-vintage kernels.
180
181<ul>
182<li><a href="#Overview">Overview</a>:                 PC and Sensor Overview
183<li><a href="#Basics">Basics</a>:                   Sensor and Bus Basics
184<li><a href="#Installation">Installation</a>:             Installation and Management
185<li><a href="#Problems">Problems</a>:                 Problems
186<li><a href="#Help">Help</a>:                     How to Ask for Help
187<li><a href="#Contribute">Contribute</a>:               How to Contribute
188<li><a href="#Version%201%20Specifics">Version 1 Specifics</a>:      Version 1 Specific Questions
189<li><a href="#Document%20Revisions">Document Revisions</a>:       Revision History of This Document
190</ul>
191
192<p><hr>
193Node:<a name="Overview">Overview</a>,
194Next:<a rel=next href="#Basics">Basics</a>,
195Previous:<a rel=previous href="#Top">Top</a>,
196Up:<a rel=up href="#Top">Top</a>
197<br>
198
199<h1>1 PC and Sensor Overview</h1>
200
201<ul>
202<li><a href="#Section%201.1">Section 1.1</a>:              What sensors are available on my PC?
203<li><a href="#Section%201.2">Section 1.2</a>:              What can a sensor chip like the "LM78" do?
204<li><a href="#Section%201.3">Section 1.3</a>:              Where do I find out more about any of these chips?
205</ul>
206
207<p><hr>
208Node:<a name="Section%201.1">Section 1.1</a>,
209Next:<a rel=next href="#Section%201.2">Section 1.2</a>,
210Up:<a rel=up href="#Overview">Overview</a>
211<br>
212
213<h2>1.1 What sensors are available on my PC?</h2>
214
215<p>Most PC's built since late 1997 now come with a
216hardware health monitoring chip. This chip may be accessed via the
217ISA bus or the SMBus, depending on the motherboard.
218
219<p>Some motherboard chipsets, notably the Via 686 and the SiS 5595,
220contain hardware monitor functions.
221
222<p>This FAQ frequently refers to the "LM78". This chip has been
223obsoleted by National Semiconductor. Most motherboards today contain
224a chip with similar functions.
225
226<p><hr>
227Node:<a name="Section%201.2">Section 1.2</a>,
228Next:<a rel=next href="#Section%201.3">Section 1.3</a>,
229Previous:<a rel=previous href="#Section%201.1">Section 1.1</a>,
230Up:<a rel=up href="#Overview">Overview</a>
231<br>
232
233<h2>1.2 What can a sensor chip like the "LM78" do?</h2>
234
235<p>The LM78 is a chip made by National Semiconductor which can monitor 7
236voltages (5 positive, 2 negative) from 0 to 4.08V.  The inputs are usually in
237series with voltage dividers which lower the +/- 12V and +/- 5V supplies to
238measurable range.  Therefore, the readings for such inputs need to be
239re-scaled appropriately by software.
240
241<p>The LM78 also has 3 fan speed monitoring inputs, an internal
242temperature sensor, a chassis intrusion sensor, and a couple maskable interrupt
243inputs.  The LM78 can also relay the processor's (P6 or Pent II) VID lines
244which are hardwired and used to indicate to the power regulator (usually on
245the mainboard close to the processor socket/slot) what voltage to supply to
246the processor.
247
248<p>The LM78 can be interfaced to a system via the ISA bus and/or the
249SMBus.
250
251<p>Most other sensor chips have comparable functionality. Each supported
252chip is documented in the <code>doc/chips</code> directory.
253
254<p><hr>
255Node:<a name="Section%201.3">Section 1.3</a>,
256Previous:<a rel=previous href="#Section%201.2">Section 1.2</a>,
257Up:<a rel=up href="#Overview">Overview</a>
258<br>
259
260<h2>1.3 Where do I find out more about any of these chips?</h2>
261
262<p>Most semiconductor companies have comprehensive documentation,
263including complete datasheets, on their websites. Analog Devices,
264Dallas Semiconductor, Maxim, and National Semiconductor have the widest selection
265of sensor chips. Their websites are:
266
267<ul>
268  <li><a href="http://www.analog.com">http://www.analog.com</a>
269  <li><a href="http://www.dalsemi.com">http://www.dalsemi.com</a>
270  <li><a href="http://www.maxim-ic.com">http://www.maxim-ic.com</a>
271  <li><a href="http://www.national.com">http://www.national.com</a>
272</ul>
273
274<p>Please see the file <a href="http://www2.lm-sensors.nu/~lm78/useful_addresses.html">http://www2.lm-sensors.nu/~lm78/useful_addresses.html</a>
275for links to other companies' websites.
276
277<p><hr>
278Node:<a name="Basics">Basics</a>,
279Next:<a rel=next href="#Installation">Installation</a>,
280Previous:<a rel=previous href="#Overview">Overview</a>,
281Up:<a rel=up href="#Top">Top</a>
282<br>
283
284<h1>2 Sensor and Bus Basics</h1>
285
286<ul>
287<li><a href="#Section%202.1">Section 2.1</a>:              What sensors are available on my PC?
288<li><a href="#Section%202.2">Section 2.2</a>:              What can a sensor chip like the "LM78" do?
289<li><a href="#Section%202.3">Section 2.3</a>:              Where do I find out more about any of these chips?
290<li><a href="#Section%202.4">Section 2.4</a>:              What sensors are available on my PC?
291<li><a href="#Section%202.5">Section 2.5</a>:              What can a sensor chip like the "LM78" do?
292<li><a href="#Section%202.6">Section 2.6</a>:              Where do I find out more about any of these chips?
293</ul>
294
295<p><hr>
296Node:<a name="Section%202.1">Section 2.1</a>,
297Next:<a rel=next href="#Section%202.2">Section 2.2</a>,
298Up:<a rel=up href="#Basics">Basics</a>
299<br>
300
301<h2>2.1 How are these sensors read?</h2>
302
303<p>Sensor chips reside on either the ISA bus, the SMBus, or both.
304See the file <code>doc/chips/SUMMARY</code> in our package for a list.
305
306<p>To communicate with chips on the ISA bus, the software uses
307simple I/O reads and writes.
308
309<p>To communicate with chips on the SMBus, the software must
310use an SMBus interface device, explained below.
311
312<p><hr>
313Node:<a name="Section%202.2">Section 2.2</a>,
314Next:<a rel=next href="#Section%202.3">Section 2.3</a>,
315Previous:<a rel=previous href="#Section%202.1">Section 2.1</a>,
316Up:<a rel=up href="#Basics">Basics</a>
317<br>
318
319<h2>2.2 What is the SMBus? And the I2C bus?</h2>
320
321<p>The SMBus is the "System Management Bus".  More specifically, it is a
3222-wire, low-speed serial communication bus used for basic health monitoring
323and hardware management. It is a specific implementation of the more
324general I2C (pronunciation: I-squared-C) bus. In fact, both I2C devices
325and SMBus devices may be connected to the same (I2C) bus.
326
327<p>The SMBus (or I2C bus) starts at the host controller, used for
328starting transactions on the SMBus.  From the host interface, the
329devices communicated with are the <dfn>slave</dfn> devices.  Each slave device has a
330unique 7-bit address which the host uses to refer to that device.
331
332<p>For each supported SMBus host, there is a separate kernel module
333which implements the communication protocol with the host. Some SMBus hosts
334really operate on the SMBus level; these hosts can not cope with pure I2C
335devices. Other hosts are in fact I2C hosts: in this case, we implement
336the SMBus protocol in terms of I2C operations. But these hosts can also
337talk to pure I2C devices.
338
339<p><hr>
340Node:<a name="Section%202.3">Section 2.3</a>,
341Next:<a rel=next href="#Section%202.4">Section 2.4</a>,
342Previous:<a rel=previous href="#Section%202.2">Section 2.2</a>,
343Up:<a rel=up href="#Basics">Basics</a>
344<br>
345
346<h2>2.3 I don't have an ISA bus!</h2>
347
348<p>We promise, you do, even if you don't have any old ISA slots.
349The "ISA Bus" exists in your computer even if you don't have ISA slots;
350it is simply a memory-mapped area, 64KB in size (0x0000 - 0xFFFF)
351where many "legacy" functions, such as keyboard and interrupt controllers,
352are found. It isn't necessarily a separate physical bus.
353See the file <code>/proc/ioports</code> for a list of devices living on
354the "ISA Bus" in your system. If you don't like the term "ISA Bus"
355think "I/O Space".
356
357<p><hr>
358Node:<a name="Section%202.4">Section 2.4</a>,
359Next:<a rel=next href="#Section%202.5">Section 2.5</a>,
360Previous:<a rel=previous href="#Section%202.3">Section 2.3</a>,
361Up:<a rel=up href="#Basics">Basics</a>
362<br>
363
364<h2>2.4 What sensors do processors have?</h2>
365
366<p>Most new processors contain a thermal diode on the die itself.
367The electical properties of all diodes and transistors vary
368slightly with temperature. The thermal diode is exceptionally accurate
369because it is directly on the die. Newer temperature sensor chips,
370like the Analog Devices ADM1021 and clones, and the Winbond chips,
371have circuitry for measuring the the electrical properties of
372an external diode and converting this data to a temperature.
373Any sensor chip listed in <code>doc/chips/SUMMARY</code> in our package which
374has support for more than one temperature supports external temperature sensing.
375
376<p>Older motherboards and processors without this feature generally use
377an LM75 placed close to the processor. This is much less accurate.
378
379<p>The Pentium 2 'boxed' processor usually has an LM75 very close to the
380base of the box. It can be read through the SMBus to report the approximate
381temperature of the processor.  The processor also contains an internal
382temperature sensor (of low accuracy) used as a fail-safe to disable the
383processor in case it gets much too hot (usually around 130 degrees C).  And,
384the Pentium 2 also has a hard-wired signal (VID lines) on it's SEC (single
385edge connector) which indicates what power supply is required to operate the
386processor.
387
388<p>The P6 (Pentium-Pro) may have an LM75 in or just under the socket.
389P6's also have VID lines.
390
391<p>Pentiums and Pentium w/ MMX do not have VID lines, and sometimes have
392LM75's under the sockets (depends on the mainboard, and how 'modern' the
393mainboard is).
394
395<p>The P2 Xeon was the first Intel processor to include the SMBus
396interface on the P2 Xeon SEC.
397
398<p><hr>
399Node:<a name="Section%202.5">Section 2.5</a>,
400Next:<a rel=next href="#Section%202.6">Section 2.6</a>,
401Previous:<a rel=previous href="#Section%202.4">Section 2.4</a>,
402Up:<a rel=up href="#Basics">Basics</a>
403<br>
404
405<h2>2.5 How often are the sensor values updated?</h2>
406
407<p>The LM78, and most other sensor chips like it, reads its sensors one
408by one. A complete scanning sweep will take about 1.5 seconds. The LM78 stops
409readings sensors if you try to access it, so if you access it very often
410(by reading sensor values; writing new limits is safe) it will not find the
411time to update its sensor values at all! Fortunately, the kernel module takes
412care not to do this, and only reads new values each 1.5 seconds. If you
413read the values again, you will get the 'old' values again.
414
415<p><hr>
416Node:<a name="Section%202.6">Section 2.6</a>,
417Previous:<a rel=previous href="#Section%202.5">Section 2.5</a>,
418Up:<a rel=up href="#Basics">Basics</a>
419<br>
420
421<h2>2.6 How are alarms triggered?</h2>
422
423<p>It is possible to monitor each sensor and have an alarm go off if
424it crosses some pre-determined limits.  There are two sorts of interrupts
425which can be generated by sensor chips if this happens (it depends a bit on
426the actual chip if both are supported; the LM80, for example, has only
427IRQ interrupts): IRQ interrupts and SMI interrupts.  IRQ stands for
428Interrupt Request and are the interrupt lines you can find in <code>/proc/interrupts</code>.
429SMI stands for System Management Interrupt, and is a special interrupt which
430puts the processor in a secure environment independent of any other things
431running.  SMI is currently not supported by the Linux kernel.  IRQs are
432supported, of course.
433
434<p>Even if no interrupt is generated, some bits in a status register
435will be set until the register is read the next time. If the alarm condition
436persists after that, the bits will be set on the next scanning sweep, etc.
437
438<p>Most drivers in our package do not support interrupts at this time.
439
440<p><hr>
441Node:<a name="Installation">Installation</a>,
442Next:<a rel=next href="#Problems">Problems</a>,
443Previous:<a rel=previous href="#Basics">Basics</a>,
444Up:<a rel=up href="#Top">Top</a>
445<br>
446
447<h1>3 Installation and Management</h1>
448
449<ul>
450<li><a href="#Section%203.1">Section 3.1</a>:      Why so many modules, and how do I cope with them?
451<li><a href="#Section%203.2">Section 3.2</a>:      How do I know which chips I own?
452<li><a href="#Section%203.3">Section 3.3</a>:      Which modules should I insert?
453<li><a href="#Section%203.4">Section 3.4</a>:      Do I need the configuration file <code>/etc/sensors.conf</code>?
454<li><a href="#Section%203.5">Section 3.5</a>:      What about the <code>No such file or directory</code> warnings
455<li><a href="#Section%203.6">Section 3.6</a>:      I get all kinds of weird compilation errors?
456<li><a href="#Section%203.7">Section 3.7</a>:      It still does not compile or patch!
457<li><a href="#Section%203.8">Section 3.8</a>:      <code>make install</code> fails on Mandrake kernels
458<li><a href="#Section%203.9">Section 3.9</a>:      I get unresolved symbols when I <code>modprobe</code> modules
459<li><a href="#Section%203.10">Section 3.10</a>:     I2C_DRIVERID_ADM1024 undefined (Red Hat especially)
460</ul>
461
462<p><hr>
463Node:<a name="Section%203.1">Section 3.1</a>,
464Next:<a rel=next href="#Section%203.2">Section 3.2</a>,
465Up:<a rel=up href="#Installation">Installation</a>
466<br>
467
468<h2>3.1 Why so many modules, and how do I cope with them?</h2>
469
470<p>We tried to make this package as modular as possible. This makes it
471easy to add new drivers, and unused drivers will take no precious kernel
472space. On the other hand, it can be a bit confusing at first.
473
474<p>Here are two simple guidelines:
475<ul>
476  <li>Run <code>sensors-detect</code> and do what it tells you.
477  <li>Always use <code>modprobe</code>, not <code>insmod</code>.
478</ul>
479
480<p>Further information is in <code>doc/modules</code>.
481
482<p><a name="How%20do%20I%20know%20which%20chips%20I%20own"></a>
483<p><hr>
484Node:<a name="Section%203.2">Section 3.2</a>,
485Next:<a rel=next href="#Section%203.3">Section 3.3</a>,
486Previous:<a rel=previous href="#Section%203.1">Section 3.1</a>,
487Up:<a rel=up href="#Installation">Installation</a>
488<br>
489
490<h2>3.2 How do I know which chips I own?</h2>
491
492<p>We have an excellent program that scans all your hardware.
493It is called <code>sensors-detect</code> and is installed in <code>/usr/local/sbin</code>
494by <code>make install</code>. Just execute this script, and it will tell you.
495
496<p>Chip detection in the drivers is fairly good. That means that it is
497usually harmless to insert more chip drivers than you need. However, this
498can still lead to problems, so we do not recommend it.
499
500<p>If sensors-detect didn't find any sensors, either you don't have
501any, or the ones you have, we don't support. (Look at your motherboard
502for candidates, then see <a href="#Help">Help</a>)
503
504<p><a name="Section%203.2.1"></a>
505
506<h3>3.2.1 What chips are on motherboard XYZ?</h3>
507
508<p><strong>!!!!!!!!! YES THIS IS THE MOST FREQUENT QUESTION WE GET !!!!!!!!!</strong>
509
510<p>We have no idea. Here is what you should do:
511<ol type=1 start=1>
512  </p><li>Run sensors-detect.
513</ol>
514
515<p>If that doesn't work:
516<ol type=1 start=2>
517</p><li>Look at your motherboard.
518<li>Check the manufacturer's website or ask their support
519<li>Check the <a href="http://mbm.livewiredev.com/">Motherboard Monitor</a> website and the
520<a href="http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/useful_addresses.html">"links"</a>
521page on <a href="http://www2.lm-sensors.nu/~lm78/">our website</a> some good cross-references.
522</ol>
523
524<p><a name="Section%203.2.2"></a>
525
526<h3>3.2.2 Do you support motherboard XYZ?</h3>
527
528<p>We don't support boards, we support chips. See <a href="#Section%203.2.1">What chips are on motherboard XYZ</a>.
529
530<p><a name="Section%203.2.3"></a>
531
532<h3>3.2.3 Do you support chip XYZ?</h3>
533
534<p>This we have good answers for.
535<ul>
536<li>Sorted by Manufacturer:   <code>README</code>
537<li>Sorted by Manufacturer:   <a href="http://www2.lm-sensors.nu/~lm78/supported.html">http://www2.lm-sensors.nu/~lm78/supported.html</a>
538<li>Sorted by Sensor Driver:  <code>doc/chips/SUMMARY</code>
539<li>Newest Driver Status:     <a href="http://www2.lm-sensors.nu/~lm78/newdrivers.html">http://www2.lm-sensors.nu/~lm78/newdrivers.html</a>
540</ul>
541
542<p><a name="Section%203.2.4"></a>
543
544<h3>3.2.4 Anybody working on a driver for chip XYZ?</h3>
545
546<p>Newest Driver Status: <a href="http://www2.lm-sensors.nu/~lm78/newdrivers.html">http://www2.lm-sensors.nu/~lm78/newdrivers.html</a>
547
548<p><hr>
549Node:<a name="Section%203.3">Section 3.3</a>,
550Next:<a rel=next href="#Section%203.4">Section 3.4</a>,
551Previous:<a rel=previous href="#Section%203.2">Section 3.2</a>,
552Up:<a rel=up href="#Installation">Installation</a>
553<br>
554
555<h2>3.3 Which modules should I insert?</h2>
556
557<p><code>sensors-detect</code> will tell you. Take the <code>modprobe</code> lines it
558recommends and paste them into the appropriate <code>/etc/rc.d/xxxx</code> file
559to be executed at startup.
560
561<p>You need one module for each sensor chip and bus adapter you own;
562if there are sensor chips on the ISA bus, you also need <code>i2c-isa.o</code>.
563for each type of chip you own. That's all. On my computer, I could use the
564following lines:
565<ul>
566<li><code>modprobe i2c-isa</code>
567<li><code>modprobe i2c-piix4</code>
568<li><code>modprobe lm78</code>
569<li><code>modprobe lm75</code>
570<li><code>modprobe i2c-dev</code>
571<li><code>sensors -s</code>
572</ul>
573
574<p><hr>
575Node:<a name="Section%203.4">Section 3.4</a>,
576Next:<a rel=next href="#Section%203.5">Section 3.5</a>,
577Previous:<a rel=previous href="#Section%203.3">Section 3.3</a>,
578Up:<a rel=up href="#Installation">Installation</a>
579<br>
580
581<h2>3.4 Do I need the configuration file <code>/etc/sensors.conf</code>?</h2>
582
583<p>Yes, for any applications that use <code>libsensors,</code> including the
584<code>sensors</code> application included in our package.
585It tells libsensors how to translate the values the chip
586measures to real-world values. This is especially important for voltage
587inputs. The default configuration file should usually do the trick.
588It is automatically installed as <code>/etc/sensors.conf</code>, but it will not
589overwrite any existing file with that name.
590
591<p><a name="Section%203.4.1"></a>
592
593<h3>3.4.1 The labels for the voltage and temperature readings in <code>sensors</code> are incorrect!</h3>
594
595<p>Every motherboard is different. You can customize the labels
596in the file <code>/etc/sensors.conf</code>. That's why it exists!
597The default labelling (in <code>lib/chips.c</code> and <code>/etc/sensors.conf</code>) is just
598a template.
599
600<p><a name="Section%203.4.2"></a>
601
602<h3>3.4.2 The min and max for the readings in <code>sensors</code> are incorrect!</h3>
603
604<p>You can customize them in the file <code>/etc/sensors.conf</code>. See above.
605
606<p><a name="Section%203.4.3"></a>
607
608<h3>3.4.3 The min and max settings in <code>/etc/sensors.conf</code> didn't take effect!</h3>
609
610<p>You forgot to run <code>sensors -s</code>. See above.
611
612<p><a name="Section%203.4.4"></a>
613
614<h3>3.4.4 One sensor isn't hooked up on my board!</h3>
615
616<p>Use an <code>ignore</code> line in <code>/etc/sensors.conf</code> so it isn't
617displayed in <code>sensors</code>.
618
619<p><a name="Section%203.4.5"></a>
620
621<h3>3.4.5 I need help with <code>sensors.conf</code>!</h3>
622
623<p>There is detailed help at the top of that file.
624
625<p><a name="Section%203.4.6"></a>
626
627<h3>3.4.6 Do you have a database of <code>sensors.conf</code> entries for specific boards?</h3>
628
629<p>No. Good idea though. If you would like to set one up on your website
630send us mail and we will set up a link to it.
631
632<p><hr>
633Node:<a name="Section%203.5">Section 3.5</a>,
634Next:<a rel=next href="#Section%203.6">Section 3.6</a>,
635Previous:<a rel=previous href="#Section%203.4">Section 3.4</a>,
636Up:<a rel=up href="#Installation">Installation</a>
637<br>
638
639<h2>3.5 What about the <code>No such file or directory</code> warnings when I compile?</h2>
640
641<p>Don't worry about them. The dependency files (which tell which
642files should be recompiled when certain files change) are created
643dynamically. They are not distributed with the package. The <code>make</code> program
644notices they are not there, and warns about that - and the first thing
645it will do is generate them. So all is well.
646
647<p><hr>
648Node:<a name="Section%203.6">Section 3.6</a>,
649Next:<a rel=next href="#Section%203.7">Section 3.7</a>,
650Previous:<a rel=previous href="#Section%203.5">Section 3.5</a>,
651Up:<a rel=up href="#Installation">Installation</a>
652<br>
653
654<h2>3.6 I get all kinds of weird compilation errors?</h2>
655
656<p>Check that the correct i2c header files are used. Depending on
657how you installed, they should be under either <code>/usr/local/include</code> or
658<code>/usr/src/linux*/include</code>. Try to edit the <code>Makefile</code> for the other setting.
659
660<p><a name="Section%203.6.1"></a>
661
662<h3>3.6.1 <code>No rule to make target xxxx needed by xxxx</code> - how to fix?</h3>
663
664<ul>
665<li>See <a href="#Section%203.6">I get all kinds of weird compilation errors</a>, also try <code>make clean</code> in <code>lm_sensors</code>.
666<li>If that doesn't work, try <code>make clean</code> in <code>i2c</code>.
667<li>If that doesn't work, try <code>make clean</code> in the kernel.
668<li>Also make sure <code>/usr/include/linux</code> points to <code>/usr/src/linux/include/linux</code>.
669</ul>
670
671<p><hr>
672Node:<a name="Section%203.7">Section 3.7</a>,
673Next:<a rel=next href="#Section%203.8">Section 3.8</a>,
674Previous:<a rel=previous href="#Section%203.6">Section 3.6</a>,
675Up:<a rel=up href="#Installation">Installation</a>
676<br>
677
678<h2>3.7 It still does not compile or patch!</h2>
679
680<p>Have you installed the matching version of the i2c package? Remember,
681compilation is not enough, you also need to install it for the header
682files to be found!
683
684<p>If you want to patch the kernel, you will have to apply the i2c
685patches first!
686
687<p><hr>
688Node:<a name="Section%203.8">Section 3.8</a>,
689Next:<a rel=next href="#Section%203.9">Section 3.9</a>,
690Previous:<a rel=previous href="#Section%203.7">Section 3.7</a>,
691Up:<a rel=up href="#Installation">Installation</a>
692<br>
693
694<h2>3.8 <code>make install</code> fails on Mandrake kernels</h2>
695
696<p>Mandrake uses a non-standard <code>version.h</code> file which confuses our <code>Makefile</code>.
697Edit our <code>Makefile</code> on the <code>MODDIR :=</code> line to hard-code the module directory.
698
699<p><hr>
700Node:<a name="Section%203.9">Section 3.9</a>,
701Next:<a rel=next href="#Section%203.10">Section 3.10</a>,
702Previous:<a rel=previous href="#Section%203.8">Section 3.8</a>,
703Up:<a rel=up href="#Installation">Installation</a>
704<br>
705
706<h2>3.9 I get unresolved symbols when I <code>modprobe</code> modules (Red Hat especially)</h2>
707
708<p>Example:
709<pre>*** Unresolved symbols in /lib/modules/2.4.5/kernel/drivers/i2c/i2c-i810.o
710i2c_bit_add_bus_R8c3bc60e
711i2c_bit_del_bus_R92b18f49
712</pre>
713
714<p>You can also run <code>depmod -a -e</code> to see all unresolved symbols.
715
716<p>These are module versioning problems. Generally you did not compile
717against the kernel you are running. Sometimes the Red Hat source you
718have is not for the kernel you are running.
719You must compile our package against the source for the kernel you
720are running with something like <code>make LINUX=/usr/src/linux-2.4.14</code>.
721
722<p>Try the following to be sure:
723
724<ul>
725<li><code>nm --extern MODULE.o</code>
726Filter out the kernel symbols, like <code>kmalloc</code>, <code>printk</code> etc. and note the
727number code behind them, like <code>printk_R1b7d4074</code>. If there is no numeric
728code after them, note this too.
729<li><code>grep SYMBOL /proc/ksyms</code>
730Substitute SYMBOL by the basename of the symbols above, like <code>kmalloc</code>,
731<code>printk</code> etc. Note the number code behind them, or the lack thereof.
732<li>Compare both sets of symbols. Are they the same? If so, the problem
733lies somewhere else. Are they different? If so, you have a module
734versioning problem.
735</ul>
736
737<p><hr>
738Node:<a name="Section%203.10">Section 3.10</a>,
739Previous:<a rel=previous href="#Section%203.9">Section 3.9</a>,
740Up:<a rel=up href="#Installation">Installation</a>
741<br>
742
743<h2>3.10 I2C_DRIVERID_ADM1024 undefined (Red Hat especially)</h2>
744
745<p>In some versions of Redhat, an RPM is included to provide i2c support.
746However, this RPM does not place the header files in the kernel directory
747structure.  When you update kernels, they may persist.  To get rid of
748these obsolete header files, at a command prompt:
749
750<ol type=1 start=1>
751</p><li><code>rpm -qa | grep i2c</code>
752<li>Look for <code>kernel-i2c,</code> or a similar rpm in the output
753<li>&lt;as root&gt;
754<code>rpm -ev kernel-i2c</code> (or the name of the similar package)
755If this complains about dependencies, you can try adding
756<code>--nodeps</code>, but this *MAY* break something else.  Not likely,
757as you have upgraded kernels, and nothing should be using the
758old i2c stuff anymore anyway.  Just don't use it with abandon.
759<li>Try (in the build directory of <code>lm_sensors)</code>
760<pre><code>make clean</code>
761<code>make</code>
762</pre>
763<li><em>If</em> you still have problems, you may have to replace the include
764paths in the <code>.c/.h</code> files with absolute paths to the header files.
765More of a workaround than a real fix, but at least you can get it
766to work.
767</ol>
768
769<p><hr>
770Node:<a name="Problems">Problems</a>,
771Next:<a rel=next href="#Help">Help</a>,
772Previous:<a rel=previous href="#Installation">Installation</a>,
773Up:<a rel=up href="#Top">Top</a>
774<br>
775
776<h1>4 Problems</h1>
777
778<ul>
779<li><a href="#Section%204.1">Section 4.1</a>:          My fans report exactly half/double their values?
780<li><a href="#Section%204.2">Section 4.2</a>:          Why do my two LM75's report "-48 degrees"?
781<li><a href="#Section%204.3">Section 4.3</a>:          Why do I have two Vcore readings?
782<li><a href="#Section%204.4">Section 4.4</a>:          How do those ALARMS work?
783<li><a href="#Section%204.5">Section 4.5</a>:          My voltage readings seem to drift a bit. What's wrong?
784<li><a href="#Section%204.6">Section 4.6</a>:          Some measurements are way out of range. What happened?
785<li><a href="#Section%204.7">Section 4.7</a>:          What are VID lines? Why is the VID reading wrong?
786<li><a href="#Section%204.8">Section 4.8</a>:          Sensor are only updated each second or so. Why?
787<li><a href="#Section%204.9">Section 4.9</a>:          It takes a second before reading sensor results. Why?
788<li><a href="#Section%204.10">Section 4.10</a>:         Can I be alerted when an ALARM occurs?
789<li><a href="#Section%204.11">Section 4.11</a>:         SMBus transactions on my PIIX4 simply don't work. Why?
790<li><a href="#Section%204.12">Section 4.12</a>:         My BIOS reports a higher CPU temperature than you!
791<li><a href="#Section%204.13">Section 4.13</a>:         I read strange values from the raw <code>/proc</code> files!
792<li><a href="#Section%204.14">Section 4.14</a>:         How do I set new limits?
793<li><a href="#Section%204.15">Section 4.15</a>:         Some sensors are doubly detected?
794<li><a href="#Section%204.16">Section 4.16</a>:         I ran sensors-detect, but now I get strange readings?!
795<li><a href="#Section%204.17">Section 4.17</a>:         Bad readings from particular chips
796<li><a href="#Section%204.18">Section 4.18</a>:         How do I configure two chips (LM87) differently?
797<li><a href="#Section%204.19">Section 4.19</a>:         Dmesg says <code>Upgrade BIOS</code>! I don't want to!
798<li><a href="#Section%204.20">Section 4.20</a>:         Sensors says <code>Can't access <code>/proc</code> file</code>
799<li><a href="#Section%204.21">Section 4.21</a>:         Sensors says <code>No sensors found!</code>
800<li><a href="#Section%204.22">Section 4.22</a>:         Sensors output is not correct!
801<li><a href="#Section%204.23">Section 4.23</a>:         What is at I2C address XXX?
802<li><a href="#Section%204.24">Section 4.24</a>:         Sensors-detect doesn't work at all
803<li><a href="#Section%204.25">Section 4.25</a>:         Sensors says <code>Error: Line xxx: zzzzzzz</code>
804<li><a href="#Section%204.26">Section 4.26</a>:         Sensors only gives the name, adapter, and algorithm!
805<li><a href="#Section%204.27">Section 4.27</a>:         Sensors says <code>ERROR: Can't get xxxxx data!</code>
806<li><a href="#Section%204.28">Section 4.28</a>:         Sensors doesn't find any sensors, just eeproms.
807<li><a href="#Section%204.29">Section 4.29</a>:         Inserting modules hangs my board
808<li><a href="#Section%204.30">Section 4.30</a>:         Inserting modules slows down my board
809<li><a href="#Section%204.31">Section 4.31</a>:         Problems on particular motherboards
810<li><a href="#Section%204.32">Section 4.32</a>:         Problems on particular systems
811</ul>
812
813<p><hr>
814Node:<a name="Section%204.1">Section 4.1</a>,
815Next:<a rel=next href="#Section%204.2">Section 4.2</a>,
816Up:<a rel=up href="#Problems">Problems</a>
817<br>
818
819<h2>4.1 My fans report exactly half/double their values compared to the BIOS?</h2>
820
821<p>The problem with much of the sensor data is that it is impossible to
822properly interpret some of the readings without knowing what the hardware
823configuration is.  Some fans report one 'tick' each rotation, some report
824two 'ticks' each rotation. It is easy to resolve this through the
825configuration file <code>/etc/sensors.conf</code>:
826
827<pre>chip lm78-*             # Or whatever chip this relates to
828compute fan1 2*@,@/2    # This will double the fan1 reading
829                        # -- or --
830compute fan1 @/2,2*@    # This will halve the fan1 reading
831</pre>
832
833<p>See <code>doc/fan-divisors</code> in our package for further information.
834
835<p><a name="Fans%20sometimes%2falways%20read%200!"></a>
836
837<h3>4.1.1 Fans sometimes/always read 0!!</h3>
838
839<p>You may not have a three-wire fan, which is required.
840
841<p>You may need to increase the 'fan divisor'. See <code>doc/fan-divisors</code>
842in our package for further information.
843
844<p><a name="I%20doubled%20the%20fan%20divisor%20and%20the%20fan%20still%20reads%207000"></a>
845
846<h3>4.1.2 I doubled the fan divisor and the fan still reads 7000!</h3>
847
848<p>Believe it or not, doubling the 'fan divisor' will not halve
849the fan reading. You have to add a compute line in <code>/etc/sensors.conf</code>.
850See <a href="#Section%204.1">My fans report exactly half/double their values compared to the BIOS</a>,
851and see <code>doc/fan-divisors</code> in our package for further information.
852
853<p><hr>
854Node:<a name="Section%204.2">Section 4.2</a>,
855Next:<a rel=next href="#Section%204.3">Section 4.3</a>,
856Previous:<a rel=previous href="#Section%204.1">Section 4.1</a>,
857Up:<a rel=up href="#Problems">Problems</a>
858<br>
859
860<h2>4.2 Why do my two LM75's report "-48 degrees"?</h2>
861
862<p>For starters, those aren't LM75's.  Your mainboard actually has the
863Winbond W83781D which emulates two LM75's, but many systems which use the
864Winbond chip (such as the Asus P2B) don't have the thermo-resisters connected
865to the chip resulting in these strange -48 degree readings.
866
867<p>If you have an Asus P2B and want more information on adding thermal sensing capability, check out:
868<a href="http://ultimatepc.fsn.net/techinfo/p2bthermistor/p2bthermistor.htm">http://ultimatepc.fsn.net/techinfo/p2bthermistor/p2bthermistor.htm</a>
869
870<p>In upcoming versions, you will be able to disable non-interesting
871readings.
872
873<p><hr>
874Node:<a name="Section%204.3">Section 4.3</a>,
875Next:<a rel=next href="#Section%204.4">Section 4.4</a>,
876Previous:<a rel=previous href="#Section%204.2">Section 4.2</a>,
877Up:<a rel=up href="#Problems">Problems</a>
878<br>
879
880<h2>4.3 Why do I have two Vcore readings, I have only one processor!</h2>
881
882<p>The LM78 has seven voltage sensors. The default way of
883connecting them is used in the configuration file. This includes a VCore2,
884even if you do not have one. You can easily edit the configuration file
885to give it another name, or make this reading disappear using
886an <code>ignore</code> line.
887
888<p>Note that Vcore2 is often the same as Vcore on motherboards which
889only support one processor. Another possibility is that Vcore2 is not
890connected at all and will not have a valid reading at all.
891A third possibility, is that Vcore2 monitors something
892else, so you should not be too surprised if the values are completely
893different.
894
895<p><hr>
896Node:<a name="Section%204.4">Section 4.4</a>,
897Next:<a rel=next href="#Section%204.5">Section 4.5</a>,
898Previous:<a rel=previous href="#Section%204.3">Section 4.3</a>,
899Up:<a rel=up href="#Problems">Problems</a>
900<br>
901
902<h2>4.4 How do those ALARMS work? The current value is within range but there is still an ALARM warning!</h2>
903
904<p>The ALARM indications in <code>sensors</code> are those reported by the
905sensor chip itself. They are NOT calculated by <code>sensors</code>. <code>sensors</code>
906simply reads the ALARM bits and reports them.
907
908<p>An ALARM will go off when a minimum or maximum limit is crossed.
909The ALARM is then latched - that is, it will stay there until the
910chip's registers are next accessed - which will be the next time
911you read these values, but not within (usually) 1.5 seconds since the last
912update.
913
914<p>Reading the registers clears the ALARMS, unless the current
915value is still out of range.
916
917<p>The purpose of this scheme is to tell you if there has been
918a problem and report it to the user. Voltage or temperature spikes
919get detected without having to read the sensor chip hundreds of times
920a second. The implemetation details depend a bit on the kind of chip.
921See the specific chip documentation in <code>doc/chips</code> and the
922chip datasheet for more information.
923
924<p><hr>
925Node:<a name="Section%204.5">Section 4.5</a>,
926Next:<a rel=next href="#Section%204.6">Section 4.6</a>,
927Previous:<a rel=previous href="#Section%204.4">Section 4.4</a>,
928Up:<a rel=up href="#Problems">Problems</a>
929<br>
930
931<h2>4.5 My voltage readings seem to drift a bit. Is something wrong?</h2>
932
933<p>No, probably not. If your motherboard heats up a bit, the sensed
934voltages will drift a bit. If your power supply is loaded (because a disk
935gets going, for example), the voltages may get a bit lower. Heavy
936processor activity, in particular, dramatically increases core voltage
937supply load which will often cause variation in the other supplies.
938As long as they stay within a sensible range (say 5% of the nominal value
939for CPU core voltages, and 10% for other voltages), there is no
940reason to worry.
941
942<p><hr>
943Node:<a name="Section%204.6">Section 4.6</a>,
944Next:<a rel=next href="#Section%204.7">Section 4.7</a>,
945Previous:<a rel=previous href="#Section%204.5">Section 4.5</a>,
946Up:<a rel=up href="#Problems">Problems</a>
947<br>
948
949<h2>4.6 Some measurements are way out of range. What happened?</h2>
950
951<p>Each module tries to set limits to sensible values on initialization,
952but a module does not know how a chip is actually connected. This is
953described in the configuration file, which is not read by kernel modules.
954So limits can be strange, if the chip is connected in a non-standard way.
955
956<p>Readings can also be strange; there are several reasons for this.
957Temperature sensors, for example, can simply not be present, even though
958the chip supports them. Also, it can be that the input is used in a
959non-standard way. You can use the configuration file to describe how this
960measurement should be interpreted; see the comments the example file for
961more information.
962
963<p><hr>
964Node:<a name="Section%204.7">Section 4.7</a>,
965Next:<a rel=next href="#Section%204.8">Section 4.8</a>,
966Previous:<a rel=previous href="#Section%204.6">Section 4.6</a>,
967Up:<a rel=up href="#Problems">Problems</a>
968<br>
969
970<h2>4.7 What are VID lines? Why is the VID reading wrong?</h2>
971
972<p>These describe the core voltage for your processor. They are
973supported for most processors, however they are not always
974correctly connected to the sensor chip, so the readings may be invalid.
975A reading of 0V, +3.5V or +2.05V is especially suspect.
976If this is the case, add a line <code>ignore vid</code> to <code>/etc/sensors.conf</code>,
977and change the min and max settings for the Processor Core voltage
978(often in0_min and in0_max) in that file so that they don't depend on vid.
979
980<p><hr>
981Node:<a name="Section%204.8">Section 4.8</a>,
982Next:<a rel=next href="#Section%204.9">Section 4.9</a>,
983Previous:<a rel=previous href="#Section%204.7">Section 4.7</a>,
984Up:<a rel=up href="#Problems">Problems</a>
985<br>
986
987<h2>4.8 I read sensor values several times a second, but they are only updated only each second or so. Why?</h2>
988
989<p>If we would read the registers more often, it would not find the
990time to update them. So we only update our readings once each 1.5 seconds
991(the actual delay is chip-specific; for some chips, it may not be needed
992at all).
993
994<p><hr>
995Node:<a name="Section%204.9">Section 4.9</a>,
996Next:<a rel=next href="#Section%204.10">Section 4.10</a>,
997Previous:<a rel=previous href="#Section%204.8">Section 4.8</a>,
998Up:<a rel=up href="#Problems">Problems</a>
999<br>
1000
1001<h2>4.9 It sometimes seems to take almost a second before I see the sensor reading results. Why?</h2>
1002
1003<p>ISA bus access is fast, but SMBus access is really slow. If you have
1004a lot of sensors, it just takes a lot of time to access them. Fortunately,
1005this has almost no impact on the system as a whole, as another job can run
1006while we are waiting for the transaction to finish.
1007
1008<p><hr>
1009Node:<a name="Section%204.10">Section 4.10</a>,
1010Next:<a rel=next href="#Section%204.11">Section 4.11</a>,
1011Previous:<a rel=previous href="#Section%204.9">Section 4.9</a>,
1012Up:<a rel=up href="#Problems">Problems</a>
1013<br>
1014
1015<h2>4.10 Can I be alerted when an ALARM occurs?</h2>
1016
1017<p>No, you can't; and it may well be never supported.
1018
1019<p>Almost no mainboard we have encountered have actually connected the
1020IRQ-out pin of sensor chips. That means that we could enable IRQ reporting, but
1021nothing would happen. Also, even if a motherboard has it connected, it is
1022unclear what interrupt number would be triggered. And IRQ lines are a scarce
1023facility, which means that almost nobody would be able to use it anyway.
1024
1025<p>The SMI interrupt is only available on a few types of chips. It is
1026really a very obscure way to handle interrupts, and supporting it under Linux
1027might be quite hard to do.
1028
1029<p>Your best bet would be to poll the alarm file with a user-land daemon
1030which alerts you if an alarm is raised. I am not aware of any program which
1031does the job, though you might want to examine one of the graphical monitor
1032programs under X, see <a href="http://www2.lm-sensors.nu/~lm78/useful_addresses.html">http://www2.lm-sensors.nu/~lm78/useful_addresses.html</a> for addresses.
1033
1034<p><hr>
1035Node:<a name="Section%204.11">Section 4.11</a>,
1036Next:<a rel=next href="#Section%204.12">Section 4.12</a>,
1037Previous:<a rel=previous href="#Section%204.10">Section 4.10</a>,
1038Up:<a rel=up href="#Problems">Problems</a>
1039<br>
1040
1041<h2>4.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?</h2>
1042
1043<p>Some chips which mainboard makers connect to the SMBus are not SMBus
1044devices.  An example is the 91xx clock generator chips.  When read, these
1045devices can lock up the SMBus until the next hard reboot.  This is because
1046they have a similar serial interface (like the I2C), but don't conform to
1047Intel's SMBus standard.
1048
1049<p>Why did they connect these devices to the SMBus if they aren't
1050compatible?  Good question! :')  Actually, these devices may support being
1051written to, but lock things up when they are read.
1052
1053<p><hr>
1054Node:<a name="Section%204.12">Section 4.12</a>,
1055Next:<a rel=next href="#Section%204.13">Section 4.13</a>,
1056Previous:<a rel=previous href="#Section%204.11">Section 4.11</a>,
1057Up:<a rel=up href="#Problems">Problems</a>
1058<br>
1059
1060<h2>4.12 My BIOS reports a much higher CPU temperature than your modules!</h2>
1061
1062<p>We display the actual temperature of the sensor. This may not be the
1063temperature you are interested in, though.  If a sensor should measure
1064the CPU temperature, it must be in thermal contact with it.  In practice,
1065it is just somewhere near it. Your BIOS may correct for this (by adding,
1066for example, thirty degrees to the measured temperature).  The correction
1067factor is regrettably different for each mainboard, so we can not do this
1068in the module itself. You can do it through the configuration file, though:
1069
1070<pre>chip lm75-*-49                      # Or whatever chip this relates to
1071label temp "Processor"
1072compute temp @*1.2+13,(@-13)/1.2    # Or whatever formula
1073</pre>
1074
1075<p><hr>
1076Node:<a name="Section%204.13">Section 4.13</a>,
1077Next:<a rel=next href="#Section%204.14">Section 4.14</a>,
1078Previous:<a rel=previous href="#Section%204.12">Section 4.12</a>,
1079Up:<a rel=up href="#Problems">Problems</a>
1080<br>
1081
1082<h2>4.13 I try to read the raw <code>/proc</code> files, but the values are strange?!?</h2>
1083
1084<p>Remember, these values do not take the configuration file
1085<code>compute</code> lines in account. This is especially obvious for voltage readings
1086(usually called in? or vin?). Use a program linked to libsensors (like
1087the provided <code>sensors</code> program) instead.
1088
1089<p><hr>
1090Node:<a name="Section%204.14">Section 4.14</a>,
1091Next:<a rel=next href="#Section%204.15">Section 4.15</a>,
1092Previous:<a rel=previous href="#Section%204.13">Section 4.13</a>,
1093Up:<a rel=up href="#Problems">Problems</a>
1094<br>
1095
1096<h2>4.14 How do I set new limits?</h2>
1097
1098<p>Change the limit values in <code>/etc/sensors.conf</code> and then run
1099<code>sensors -s</code>.
1100
1101<p><a name="I%20set%20new%20limits%20and%20it%20didnt%20work"></a>
1102
1103<h3>4.14.1 I set new limits and it didn't work?</h3>
1104
1105<p>You forgot to run <code>sensors -s</code>. Put it in a <code>/etc/rc.d/...</code> file
1106after the modprobe lines to run at startup.
1107
1108<p><hr>
1109Node:<a name="Section%204.15">Section 4.15</a>,
1110Next:<a rel=next href="#Section%204.16">Section 4.16</a>,
1111Previous:<a rel=previous href="#Section%204.14">Section 4.14</a>,
1112Up:<a rel=up href="#Problems">Problems</a>
1113<br>
1114
1115<h2>4.15 Some sensors are doubly detected?</h2>
1116
1117<p>Yes, this is still a problem. It is partially solved by alias detection
1118and confidence values in sensors-detect, but it is really tough.
1119
1120<p>Double detections can be caused by two things:
1121sensors can be detected to both the ISA and the SMBus (and if you have
1122loaded the approprate adapter drivers, it will be detected on both), and
1123some chips simulate other chips (the Winbond W83781D simulates LM75 chips
1124on the SMBus, for example). Remove the offending adapter or chip driver, or
1125run sensors-detect and add the <code>ignore=</code> modprobe parameters it suggests.
1126
1127<p><hr>
1128Node:<a name="Section%204.16">Section 4.16</a>,
1129Next:<a rel=next href="#Section%204.17">Section 4.17</a>,
1130Previous:<a rel=previous href="#Section%204.15">Section 4.15</a>,
1131Up:<a rel=up href="#Problems">Problems</a>
1132<br>
1133
1134<h2>4.16 I ran sensors-detect, but now I get very strange readings?!?</h2>
1135
1136<p>Your SMBus (PIIX4?) is probably crashed or hung. There are some mainboards
1137which connect a clock chip to the SMBus. Unfortunately, this clock chip
1138hangs the PIIX4 if it is read (it is an I2C device, but not SMBus compatible).
1139We have found no way of solving this, except for rebooting your computer.
1140Next time when you run sensors-detect, you may want to exclude addresses
11410x69 and/or 0x6a, by entering <kbd>s</kbd> when you are asked whether you want to
1142scan the PIIX4.
1143
1144<p><hr>
1145Node:<a name="Section%204.17">Section 4.17</a>,
1146Next:<a rel=next href="#Section%204.18">Section 4.18</a>,
1147Previous:<a rel=previous href="#Section%204.16">Section 4.16</a>,
1148Up:<a rel=up href="#Problems">Problems</a>
1149<br>
1150
1151<h2>4.17 Bad readings from particular chips</h2>
1152
1153<p>See below for some particularly troublesome chips.
1154Also be sure and check <code>doc/chips/xxxxx</code> for the particular driver.
1155
1156<p><a name="Bad%20readings%20from%20the%20AS99127F"></a>
1157
1158<h3>4.17.1 Bad readings from the AS99127F!</h3>
1159
1160<p>The Asus AS99127F is a modified version of the Winbond W83781D.
1161Asus will not release a datasheet. The driver was developed by tedious
1162experimentation. We've done the best we can. If you want to make adjustments
1163to the readings please edit <code>/etc/sensors.conf.</code> Please don't ask us to
1164fix the driver. Ask Asus to release a datasheet.
1165
1166<p><a name="Bad%20readings%20from%20the%20VIA%20686A"></a>
1167
1168<h3>4.17.2 Bad readings from the VIA 686A!</h3>
1169
1170<p>The Via 686A datasheet is incomplete.
1171Via will not release details. The driver was developed by tedious
1172experimentation. We've done the best we can. If you want to make adjustments
1173to the readings please edit <code>/etc/sensors.conf.</code> Please don't ask us to
1174fix the driver. Ask Via to release a better datasheet.
1175Also, don't forget to <code>modprobe i2c-isa</code>.
1176
1177<p><a name="Bad%20readings%20from%20the%20MTP008"></a>
1178
1179<h3>4.17.3 Bad readings from the MTP008!</h3>
1180
1181<p>The MTP008 has programmable temperature sensor types.
1182If your sensor type does not match the default, you will have to change it.
1183See <code>doc/chips/mtp008</code> for details.
1184Also, MTP008 chips seem to randomly refuse to respond, for
1185unknown reasons. You can see this as 'XX' entries in i2cdump.
1186
1187<p><a name="Bad%20temperature%20readings%20from%20the%20SIS5595"></a>
1188
1189<h3>4.17.4 Bad temperature readings from the SIS5595!</h3>
1190
1191<p>This chip can use multiple thermistor types and there are also
1192two different versions of the chip. We are trying to get the driver
1193working better and develop formulas for different thermistors
1194but we aren't there yet. Sorry.
1195Also, many times the chip isn't really a sis5595 but it was
1196misidentified. We are working on improving that too.
1197
1198<p><a name="Bad%20readings%20from%20a%20w8378%5b12%5dd"></a>
1199
1200<h3>4.17.5 Bad readings from a w8378[12]d!</h3>
1201
1202<p>Do you own an ASUS motherboard?  Perhaps your chip is being
1203misidentified.  Look on the motherboard (or at
1204<a href="http://mbm.livewiredev.com">http://mbm.livewiredev.com</a>) for a 'Winbond' or Asus chip.
1205Often the real device is an Asus as99127f. If so, the driver can be
1206forced to recognize the as99127f with
1207<code>force_as99127f=BUS,0x2d</code> where <code>BUS</code> is your i2c bus number.
1208Cat /proc/bus/i2c to see a list of bus numbers.
1209Read the w83781d module documentation (<code>doc/chips/w83781d</code>)
1210for more details.
1211
1212<p><a name="Bus%20hangs%20on%20Ali%201543%20on%20Asus%20P5A%20boards"></a>
1213
1214<h3>4.17.6 Bus hangs on Ali 1543 on Asus P5A boards!</h3>
1215
1216<p>The SMBus tends to hang on this board and it seems to get worse
1217at higher temperatures. Use ISA accesses to reliably use the w83781d
1218monitor chip on this board and use the <code>ignore=1,0x2d</code> or similar option
1219to the w83781d module to prevent i2c accesses.
1220
1221<p><a name="Bad%20readings%20from%20LM75"></a>
1222
1223<h3>4.17.7 Bad readings from LM75!</h3>
1224
1225<p>The LM75 detection is poor and other hardware is often misdetected
1226as an LM75. Figure out what you really have See <a href="#Section%203.2.1">What chips are on motherboard XYZ</a>.
1227
1228<p><a name="Bad%20readings%20from%20LM78"></a>
1229
1230<h3>4.17.8 Bad readings from LM78!</h3>
1231
1232<p>The LM78 is no longer manufactured by National Semiconductor.
1233You probably don't have a real LM78 but something similar that we
1234do not recogize or support. Figure out what you really have See <a href="#Section%203.2.1">What chips are on motherboard XYZ</a>.
1235
1236<p><a name="Bad%20readings%20from%20LM80"></a>
1237
1238<h3>4.17.9 Bad readings from LM80!</h3>
1239
1240<p>The LM80 detection is poor and other hardware is often misdetected
1241as an LM80. Figure out what you really have See <a href="#Section%203.2.1">What chips are on motherboard XYZ</a>.
1242
1243<p><a name="Bad%20readings%20from%20it87"></a>
1244
1245<h3>4.17.10 Bad readings from it87!</h3>
1246
1247<p>The it87 temperature sesnsors are configured, unfortunately,
1248in a way different from w83781d. They cannot be configured from
1249<code>/etc/sensors.conf</code>; they must be set at modprobe insertion with
1250<code>modprobe it87 temp_type=0xXX</code>. See <code>doc/chips/it87</code> for details.
1251
1252<p><hr>
1253Node:<a name="Section%204.18">Section 4.18</a>,
1254Next:<a rel=next href="#Section%204.19">Section 4.19</a>,
1255Previous:<a rel=previous href="#Section%204.17">Section 4.17</a>,
1256Up:<a rel=up href="#Problems">Problems</a>
1257<br>
1258
1259<h2>4.18 How do I configure two chips (LM87) differently?</h2>
1260
1261<p>There is a SuperMicro board with two LM87's on it that are
1262not hooked up in the same way, so they need different defaults.
1263For example, both CPU temperatures go to one LM87.
1264
1265<p>Make two different sections in <code>/etc/sensors.conf</code> as follows:
1266<pre>chip "lm87-i2c-*-2c"
1267    put configuration for the chip at 0x2c here
1268chip "lm87-i2c-*-2d"
1269    put configuration for the chip at 0x2d here
1270</pre>
1271
1272<p>There is a commented example in <code>sensors.conf.eg</code> which should
1273be helpful.
1274
1275<p><hr>
1276Node:<a name="Section%204.19">Section 4.19</a>,
1277Next:<a rel=next href="#Section%204.20">Section 4.20</a>,
1278Previous:<a rel=previous href="#Section%204.18">Section 4.18</a>,
1279Up:<a rel=up href="#Problems">Problems</a>
1280<br>
1281
1282<h2>4.19 Dmesg says <code>Upgrade BIOS</code>! I don't want to!</h2>
1283
1284<p>If the problem is a PCI device is not present in <code>lspci</code>, the solution
1285is complex. For the ALI M7101 device, there is a solution which uses the
12862.4 kernel's <code>hotplug</code> facility. See <code>prog/hotplug</code> in our package.
1287For other PCI devices, you can try to modify
1288the m7101 solution in <code>prog/hotplug</code>.
1289
1290<p>If dmesg says <code>try force_addr</code>, see below. Other drivers generally do not
1291support the force_addr parameter. Sorry. Check the documentation
1292for your driver in <code>doc/[chips,busses]</code> and if we don't support it
1293you can send us your request.
1294
1295<p><a name="Dmesg%20says%20use%20force_addr%3d0xaddr!%20What%20address%20do%20I%20use"></a>
1296
1297<h3>4.19.1 Dmesg says <code>use force_addr=0xaddr</code>! What address do I use?</h3>
1298
1299<p>If the problem is a PCI device whose base address is not set,
1300you may be able to set the address with a force parameter. The via686a
1301and sis5595 chip drivers, and some bus drivers, support the command line
1302<code>modprobe via686a force_addr=0xADDRESS</code> where ADDRESS
1303is the I/O address. You must select an address that is not in use.
1304<code>cat <code>/proc/ioports</code></code> to check (carefully) for conflicts. A high number like
13050xf000 is generally safe.
1306
1307<p><hr>
1308Node:<a name="Section%204.20">Section 4.20</a>,
1309Next:<a rel=next href="#Section%204.21">Section 4.21</a>,
1310Previous:<a rel=previous href="#Section%204.19">Section 4.19</a>,
1311Up:<a rel=up href="#Problems">Problems</a>
1312<br>
1313
1314<h2>4.20 Sensors says <code>Can't access <code>/proc</code> file</code></h2>
1315
1316<ul>
1317<li>(release 2.6.0 and later) Did you <code>modprobe i2c-proc</code>? Check <code>lsmod</code>.
1318<li>(release 2.5.5 and earlier) Did you 'modprobe sensors'? Check 'lsmod'.
1319<li>If you did <code>sensors -s</code>, did you run it as root?
1320<li>Do you have <code>/proc</code> support in your kernel (is <code>/proc</code> there?)
1321</ul>
1322
1323<p><hr>
1324Node:<a name="Section%204.21">Section 4.21</a>,
1325Next:<a rel=next href="#Section%204.22">Section 4.22</a>,
1326Previous:<a rel=previous href="#Section%204.20">Section 4.20</a>,
1327Up:<a rel=up href="#Problems">Problems</a>
1328<br>
1329
1330<h2>4.21 Sensors says <code>No sensors found!</code></h2>
1331
1332<ul>
1333<li>Did <code>sensors-detect</code> find sensors? (If not see <a href="#Sensors-detect%20doesnt%20find%20any%20sensors">Sensors-detect doesnt find any sensors</a>)
1334<li>Did you do what <code>sensors-detect</code> said?
1335<li>Did you <code>modprobe</code> your sensor modules?
1336<li>Did you <code>modprobe</code> your I2C adapter modules?
1337<li>Did you <code>modprobe i2c-isa</code> if you have ISA sensor chips?
1338<li>Check <code>lsmod</code>.
1339</ul>
1340
1341<p><hr>
1342Node:<a name="Section%204.22">Section 4.22</a>,
1343Next:<a rel=next href="#Section%204.23">Section 4.23</a>,
1344Previous:<a rel=previous href="#Section%204.21">Section 4.21</a>,
1345Up:<a rel=up href="#Problems">Problems</a>
1346<br>
1347
1348<h2>4.22 Sensors output is not correct!</h2>
1349
1350<p>What specifically is the trouble?
1351<ul>
1352<li>Labels: See <a href="#Section%203.4.1">The labels for the voltage and temperature readings in sensors are incorrect</a>.
1353<li>Min/max readings: See <a href="#Section%203.4.2">The min and max for the readings in sensors are incorrect</a>, and See <a href="#Section%203.4.3">The min and max settings didnt take effect</a>.
1354<li>AS99127F: See <a href="#Section%204.16">I ran sensors-detect but now I get very strange readings?</a>.
1355<li>Via 686A: See <a href="#Section%204.16">I ran sensors-detect but now I get very strange readings?</a>.
1356<li>Other specific chips: See <a href="#Section%204.16">I ran sensors-detect but now I get very strange readings?</a>.
1357<li>No output for a particular sensors chip: See <a href="#Section%205.3">What to do if it inserts but nothing happens</a>.
1358<li>No output at all: See <a href="#Section%204.21">Sensors says No sensors found</a>, See <a href="#Section%205.3">What to do if it inserts but nothing happens</a>.
1359<li>Completely bad output for a particular sensor chip: See <a href="#Section%205.4">What to do if I read only bogus information</a>.
1360<li>One particular sensor readings:
1361<ul>
1362<li>Maybe it isn't hooked up? - tell 'sensors' to ignore it. See <a href="#Section%203.4.4">One sensor isnt hooked up on my board</a>.
1363<li>Maybe it is hooked up differently on your motherboard? - adjust <code>sensors.conf</code> calculation.
1364</ul>
1365</ul>
1366
1367<p><hr>
1368Node:<a name="Section%204.23">Section 4.23</a>,
1369Next:<a rel=next href="#Section%204.24">Section 4.24</a>,
1370Previous:<a rel=previous href="#Section%204.22">Section 4.22</a>,
1371Up:<a rel=up href="#Problems">Problems</a>
1372<br>
1373
1374<h2>4.23 What is at I2C address XXX?</h2>
1375
1376<p>In general, we don't know. Start by running <code>sensors-detect</code>.
1377If it doesn't recognize it, try running <code>i2cdump</code>. A partial list
1378of manufacturers' IDs are at the bottom of <code>doc/chips/SUMMARY</code>.
1379
1380<p><a name="What%20is%20at%20I2C%20address%200x69"></a>
1381
1382<h3>4.23.1 What is at I2C address 0x69?</h3>
1383
1384<p>A clock chip. Often, accessing these clock chips in the wrong
1385way will instantly crash your computer. Sensors-detect carefully
1386avoids these chips. If you really really want to play with your clock
1387chip you can look at <code>kernel/chips/icspll.c</code> in our package. But we
1388do not recommend it. You have been warned.
1389
1390<p><a name="What%20is%20at%20I2C%20addresses%200x50%20-%200x57"></a>
1391
1392<h3>4.23.2 What is at I2C addresses 0x50 - 0x57?</h3>
1393
1394<p>EEPROMs on your SDRAM DIMMs. Load the eeprom module to
1395look at some basic data in <code>sensors</code> or use the program
1396<code>prog/eeprom/decode-dimms.pl</code> to get more information than you ever wanted.
1397
1398<p><a name="What%20is%20at%20I2C%20addresses%200x30%20-%200x37"></a>
1399
1400<h3>4.23.3 What is at I2C addresses 0x30 - 0x37?</h3>
1401
1402<p>These are often 'shadows' of your EEPROMs on your SDRAM DIMMs
1403at addresses 0x50 - 0x57. They aren't really there. If you try and
1404do a <code>i2cdump</code> on them you won't get anything. This is probably
1405caused by some timing problem on your motherboard or on the DIMMs.
1406We don't know the exact cause.
1407
1408<p><hr>
1409Node:<a name="Section%204.24">Section 4.24</a>,
1410Next:<a rel=next href="#Section%204.25">Section 4.25</a>,
1411Previous:<a rel=previous href="#Section%204.23">Section 4.23</a>,
1412Up:<a rel=up href="#Problems">Problems</a>
1413<br>
1414
1415<h2>4.24 Sensors-detect doesn't work at all</h2>
1416
1417<p>It could be many things. What was the problem? See <a href="#Section%204.31">Problems on particular motherboards</a>.
1418
1419<p><a name="Sensors-detect%20says%20%22Couldnt%20open%20%2fproc%2fbus%2fi2c%3f!%3f%22"></a>
1420
1421<h3>4.24.1 Sensors-detect says "Couldn't open /proc/bus/i2c?!?"</h3>
1422
1423<p>You don't have i2c support in your kernel, or the i2c-core module
1424was not loaded and you did not run sensors-detect as root.
1425
1426<p><a name="Sensors-detect%20says%20%22Cant%20open%20%2fdev%2fi2c%5b-%2f%5d0%22"></a>
1427
1428<h3>4.24.2 Sensors-detect says "Can't open /dev/i2c[-/]0"</h3>
1429
1430<p>Your <code>/dev/i2c-0,</code> <code>/dev/i2c0</code>, or <code>/dev/i2c/0</code> files do not exist
1431or you did not run <code>sensors-detect</code> as root.
1432Run the script <code>prog/mkdev/mkdev.sh</code> to create the <code>/dev/i2c-x</code> files.
1433Run <code>devfs</code> in the kernel to get the <code>/dev/i2c/x</code> files.
1434
1435<p><a name="Sensors-detect%20doesnt%20find%20any%20sensors"></a>
1436
1437<h3>4.24.3 Sensors-detect doesn't find any sensors!</h3>
1438
1439<p>Either
1440<ol type=1 start=1>
1441</p><li>The board doesn't have any sensors.
1442<li>We don't support the sensors on the board.
1443<li>The sensors it has are on an I2C bus connected to an I2C bus adapter that we don't support.
1444<li>You don't have the latest version of lm_sensors.
1445</ol>
1446
1447<p>But in any case you should figure out what is on the board:
1448<ol type=1 start=1>
1449</p><li>Look at your motherboard.
1450<li>Check the manufacturer's website.
1451<li>Check the <a href="http://mbm.livewiredev.com/">Motherboard Monitor</a> website.
1452</ol>
1453
1454<p>When you know what chips you have, check the
1455<a href="http://www2.lm-sensors.nu/~lm78/newdrivers.html">Newest Driver Status</a> web page to
1456see if support has been added for your chip in a later release or in CVS.
1457
1458<p><hr>
1459Node:<a name="Section%204.25">Section 4.25</a>,
1460Next:<a rel=next href="#Section%204.26">Section 4.26</a>,
1461Previous:<a rel=previous href="#Section%204.24">Section 4.24</a>,
1462Up:<a rel=up href="#Problems">Problems</a>
1463<br>
1464
1465<h2>4.25 Sensors says <code>Error: Line xxx: zzzzzzz</code></h2>
1466
1467<p>These are errors from the libsensors library in
1468reading the <code>/etc/sensors.conf</code> configuration file. Go to that line
1469number and fix it. If you have a parse error, perhaps you have
1470to put the feature name in double quotes.
1471
1472<p><hr>
1473Node:<a name="Section%204.26">Section 4.26</a>,
1474Next:<a rel=next href="#Section%204.27">Section 4.27</a>,
1475Previous:<a rel=previous href="#Section%204.25">Section 4.25</a>,
1476Up:<a rel=up href="#Problems">Problems</a>
1477<br>
1478
1479<h2>4.26 Sensors only gives the name, adapter, and algorithm for my chip</h2>
1480
1481<p>If <code>sensors</code> only says this, for example, and doesn't
1482provide any actual data at all:
1483
1484<pre>it87-isa-0290
1485Adapter: ISA adapter
1486Algorithm: ISA algorithm
1487</pre>
1488
1489<p>Your chip is not currently supported by <code>sensors</code> and so all it
1490does is print out that information. Get the latest release
1491and be sure you are running the <code>sensors</code> program it installed
1492and not some older <code>sensors</code>.
1493
1494<p><hr>
1495Node:<a name="Section%204.27">Section 4.27</a>,
1496Next:<a rel=next href="#Section%204.28">Section 4.28</a>,
1497Previous:<a rel=previous href="#Section%204.26">Section 4.26</a>,
1498Up:<a rel=up href="#Problems">Problems</a>
1499<br>
1500
1501<h2>4.27 Sensors says <code>ERROR: Can't get xxxxx data!</code></h2>
1502
1503<p>You have a <code>libsensors/sensors</code> mismatch. <code>sensors</code> is unable to
1504get a data entry from <code>libsensors</code>. You probably have an
1505old <code>libsensors</code> in your <code>/etc/ld.so.conf</code> path.
1506Make sure you did (as root) a <code>make install</code> followed by a <code>ldconfig</code>.
1507Then check the output of <code>ldconfig -v | grep libsensors</code> to
1508verify that there is only ONE <code>libsensors</code> entry and that it matches
1509the <code>libsensors</code> that was built in the <code>lib/</code> directory in <code>lm_sensors2</code>.
1510
1511<p><hr>
1512Node:<a name="Section%204.28">Section 4.28</a>,
1513Next:<a rel=next href="#Section%204.29">Section 4.29</a>,
1514Previous:<a rel=previous href="#Section%204.27">Section 4.27</a>,
1515Up:<a rel=up href="#Problems">Problems</a>
1516<br>
1517
1518<h2>4.28 Sensors doesn't find any sensors, just eeproms.</h2>
1519
1520<p>See <a href="#Section%204.24">Sensors-detect doesnt work at all</a>, if <code>sensors-detect</code> failed to find any sensors.
1521
1522<p>If <code>sensors-detect</code> did find sensors, did you insert your modules? For chips on the ISA
1523bus, did you insert i2c-isa?
1524
1525<p>See <a href="#Section%205.2">What to do if a module wont insert</a>, if the modules didn't insert,
1526also <a href="#Section%204.21">Sensors says No sensors found</a>.
1527
1528<p><hr>
1529Node:<a name="Section%204.29">Section 4.29</a>,
1530Next:<a rel=next href="#Section%204.30">Section 4.30</a>,
1531Previous:<a rel=previous href="#Section%204.28">Section 4.28</a>,
1532Up:<a rel=up href="#Problems">Problems</a>
1533<br>
1534
1535<h2>4.29 Inserting modules hangs my board</h2>
1536
1537<p>There are several possible causes:
1538<ol type=1 start=1>
1539</p><li>Bus driver problems. Insert the bus driver first, before you have inserted any chip drivers, to verify.
1540<li>Wrong chip driver. Verify that you have a chip supported by the chip driver, see <a href="#Section%203.2.1">What chips are on motherboard XYZ</a>.
1541<li>The chip driver is reinitializing the chip, which undoes critical initialization done by the BIOS.  Try the parameter <code>init=0</code> for the w83781d driver; this is the only driver supporting this parameter.
1542<li>Some chips on the bus don't like to be probed at all.  After inserting the bus driver (but not the chip drivers), run <code>i2cdetect</code> on the bus, then <code>i2cdump</code> on each address responding to <code>i2cdetect</code>. This may find the culprit.  Do not <code>i2cdump address 0x69</code>, the clock chip.
1543<li>The chip driver is incorrectly finding a second chip on the bus and is accessing it. For example, with the Tyan 2688 with a w83781d at 0x29, use <code>modprobe ignore_range=0,0x00,0x28,0,0x2a,0x7f</code> to prevent access to other addresses. (<code>init=0</code> also req'd for the Tyan 2688).
1544</ol>
1545
1546<p><hr>
1547Node:<a name="Section%204.30">Section 4.30</a>,
1548Next:<a rel=next href="#Section%204.31">Section 4.31</a>,
1549Previous:<a rel=previous href="#Section%204.29">Section 4.29</a>,
1550Up:<a rel=up href="#Problems">Problems</a>
1551<br>
1552
1553<h2>4.30 Inserting modules slows down my board</h2>
1554
1555<p>Generally this is caused by an overtemperature alarm output from
1556the sensor chip. This triggers hardware on the board which
1557automatically slows down the CPU clock. Be sure that your
1558temperature limits are above the temperature reading. Put
1559the new limits in <code>/etc/sensors.conf</code> and run <code>sensors -s</code>.
1560
1561<p><hr>
1562Node:<a name="Section%204.31">Section 4.31</a>,
1563Next:<a rel=next href="#Section%204.32">Section 4.32</a>,
1564Previous:<a rel=previous href="#Section%204.30">Section 4.30</a>,
1565Up:<a rel=up href="#Problems">Problems</a>
1566<br>
1567
1568<h2>4.31 Problems on particular motherboards</h2>
1569
1570<p>The following boards have unique problems and solutions.
1571
1572<p><a name="Asus%20P4B"></a>
1573
1574<h3>4.31.1 Asus P4B</h3>
1575
1576<p>See <code>prog/hotplug/README.p4b</code> if your SMBus master is not found.
1577
1578<p><a name="Tyan%202460%202462"></a>
1579
1580<h3>4.31.2 Tyan 2460, 2462</h3>
1581
1582<p>See support tickets 805, 765, 781, 812, 813, and 867 for information.
1583
1584<p><a name="Tyan%202466"></a>
1585
1586<h3>4.31.3 Tyan 2466</h3>
1587
1588<p>See support tickets 941, 840, and 841 for information.
1589
1590<p><a name="Tyan%202688"></a>
1591
1592<h3>4.31.4 Tyan 2688</h3>
1593
1594<p>For board hangs, see support ticket 721 for information.
1595Also <a href="#Section%204.29">Inserting modules hangs my board</a>.
1596
1597<p><hr>
1598Node:<a name="Section%204.32">Section 4.32</a>,
1599Previous:<a rel=previous href="#Section%204.31">Section 4.31</a>,
1600Up:<a rel=up href="#Problems">Problems</a>
1601<br>
1602
1603<h2>4.32 Problems on particular systems</h2>
1604
1605<p>For IBM systems, see <code>README.thinkpad</code>.
1606
1607<p><hr>
1608Node:<a name="Help">Help</a>,
1609Next:<a rel=next href="#Contribute">Contribute</a>,
1610Previous:<a rel=previous href="#Problems">Problems</a>,
1611Up:<a rel=up href="#Top">Top</a>
1612<br>
1613
1614<h1>5 How to Ask for Help</h1>
1615
1616<ul>
1617<li><a href="#Section%205.1">Section 5.1</a>:   What to send us when asking for help
1618<li><a href="#Section%205.2">Section 5.2</a>:   What to do if a module won't insert?
1619<li><a href="#Section%205.3">Section 5.3</a>:   What to do if it inserts, but nothing happens?
1620<li><a href="#Section%205.4">Section 5.4</a>:   What to do if I read only bogus information?
1621<li><a href="#Section%205.5">Section 5.5</a>:   What to do if you have other problems?
1622<li><a href="#Section%205.6">Section 5.6</a>:   What if it just works like a charm?
1623<li><a href="#Section%205.7">Section 5.7</a>:   How do I update a ticket?
1624<li><a href="#Section%205.8">Section 5.8</a>:   How do I follow up on a ticket?
1625</ul>
1626
1627<p><hr>
1628Node:<a name="Section%205.1">Section 5.1</a>,
1629Next:<a rel=next href="#Section%205.2">Section 5.2</a>,
1630Up:<a rel=up href="#Help">Help</a>
1631<br>
1632
1633<h2>5.1 What to send us when asking for help</h2>
1634
1635<p>We are always willing to answer questions if things don't work out.
1636Please email <a href="mailto:sensors@stimpy.netroedge.com">sensors@stimpy.netroedge.com</a>, and not the individual authors,
1637unless you have something private to say.
1638
1639<p>Instead of using email, you can also use the web-based support
1640area, at <a href="http://secure.netroedge.com/~lm78/support.html">http://secure.netroedge.com/~lm78/support.html</a>. You will be helped
1641just as fast, and others may profit from the answer too. You will be
1642emailed automatically when your question has been answered.
1643
1644<p>Here's what you should send us:
1645
1646<ul>
1647<li>The dmesg or syslog output if applicable
1648<li>The output of (as root) <code>prog/detect/sensors-detect</code>
1649<li>The output of <code>lsmod</code>
1650<li>If a PCI chip problem:
1651<ul>
1652<li>The output of <code>lspci -n</code>
1653</ul>
1654<li>If an I2C sensor chip problem:
1655<ul>
1656<li>The output of (as root) <code>prog/detect/i2cdetect X</code>
1657where X = the bus number (run <code>i2cdetect</code> with no arguments to list the busses)
1658(please send this only if it's not all <code>XX</code>)
1659<li>The output of (as root) <code>prog/dump/i2cdump X 0xXX</code>
1660where XX = the address of each chip you see in the output of <code>i2cdetect</code>. (run once for each chip)
1661(please send this only if it's not all <code>ff</code>)
1662</ul>
1663<li>If an ISA sensor chip problem:
1664<ul>
1665<li>The output of (as root) <code>prog/dump/isadump 0x295 0x296</code> (only if it's not all <code>XX</code>)
1666</ul>
1667<li>Part numbers of chips on your motherboard you think are the sensor chips (look at your motherboard)
1668<li>Motherboard type
1669<li>Sensors version
1670<li>Kernel version
1671</ul>
1672
1673<p><hr>
1674Node:<a name="Section%205.2">Section 5.2</a>,
1675Next:<a rel=next href="#Section%205.3">Section 5.3</a>,
1676Previous:<a rel=previous href="#Section%205.1">Section 5.1</a>,
1677Up:<a rel=up href="#Help">Help</a>
1678<br>
1679
1680<h2>5.2 What to do if a module won't insert?</h2>
1681
1682<p>Did you use <code>modprobe</code> instead of <code>insmod</code>??? Don't use insmod.
1683
1684<p>Were there unresolved symbols? Did you run <code>depmod -a</code>? Run
1685<code>depmod -a -e</code> to see where the symbol problem is.
1686
1687<p>ALWAYS inspect the output of <code>dmesg</code>. That's where the error
1688messages come out!!! Don't rely on the generic message from <code>modprobe</code>.
1689If you still can't figure it out, send us the information
1690listed above.
1691
1692<p><hr>
1693Node:<a name="Section%205.3">Section 5.3</a>,
1694Next:<a rel=next href="#Section%205.4">Section 5.4</a>,
1695Previous:<a rel=previous href="#Section%205.2">Section 5.2</a>,
1696Up:<a rel=up href="#Help">Help</a>
1697<br>
1698
1699<h2>5.3 What to do if it inserts, but nothing happens?</h2>
1700
1701<p>For an ISA sensor chip, did you also <code>modprobe i2c-isa</code>? It must be inserted.
1702
1703<p>For an I2C sensor chip, did you also <code>modprobe i2c-xxx</code> where xxx is your
1704I2C bus adapter? It must be inserted.
1705
1706<p>Always inspect the output of <code>dmesg</code>. That's where the error
1707messages come out. If you still can't figure it out, send us the information
1708listed above.
1709
1710<p><hr>
1711Node:<a name="Section%205.4">Section 5.4</a>,
1712Next:<a rel=next href="#Section%205.5">Section 5.5</a>,
1713Previous:<a rel=previous href="#Section%205.3">Section 5.3</a>,
1714Up:<a rel=up href="#Help">Help</a>
1715<br>
1716
1717<h2>5.4 What to do if I read only bogus information?</h2>
1718
1719<p>It may be that this was a mis-detection: the chip may not be
1720present. If you are convinced there is something wrong, verify that you
1721indeed have the devices on your motherboard that you think you do.
1722Look at the motherboard and make sure. If you are still stuck,
1723please send us the usual information (see <a href="#Help">Help</a>)
1724
1725<p><hr>
1726Node:<a name="Section%205.5">Section 5.5</a>,
1727Next:<a rel=next href="#Section%205.6">Section 5.6</a>,
1728Previous:<a rel=previous href="#Section%205.4">Section 5.4</a>,
1729Up:<a rel=up href="#Help">Help</a>
1730<br>
1731
1732<h2>5.5 What to do if you have other problems?</h2>
1733
1734<p>Again, send the output listed above.
1735
1736<p><hr>
1737Node:<a name="Section%205.6">Section 5.6</a>,
1738Next:<a rel=next href="#Section%205.7">Section 5.7</a>,
1739Previous:<a rel=previous href="#Section%205.5">Section 5.5</a>,
1740Up:<a rel=up href="#Help">Help</a>
1741<br>
1742
1743<h2>5.6 What if it just works like a charm?</h2>
1744
1745<p>Drop us a mail if you feel like it, mentioning the mainboard and
1746detected chip type. That way, we have some positive feedback, too!
1747
1748<p><hr>
1749Node:<a name="Section%205.7">Section 5.7</a>,
1750Next:<a rel=next href="#Section%205.8">Section 5.8</a>,
1751Previous:<a rel=previous href="#Section%205.6">Section 5.6</a>,
1752Up:<a rel=up href="#Help">Help</a>
1753<br>
1754
1755<h2>5.7 How do I update a ticket?</h2>
1756
1757<p>You can't. Only developers can. Follow up by emailing us
1758at <a href="mailto:sensors@stimpy.netroedge.com">sensors@stimpy.netroedge.com</a> and reference your ticket number
1759in the subject. Please don't enter a new ticket with
1760follow-up information, email us instead. Thanks.
1761
1762<p><hr>
1763Node:<a name="Section%205.8">Section 5.8</a>,
1764Previous:<a rel=previous href="#Section%205.7">Section 5.7</a>,
1765Up:<a rel=up href="#Help">Help</a>
1766<br>
1767
1768<h2>5.8 How do I follow up on a ticket?</h2>
1769
1770<p>Follow up by emailing us at <a href="mailto:sensors@stimpy.netroedge.com">sensors@stimpy.netroedge.com</a>
1771and reference your ticket number in the subject.
1772
1773<p><hr>
1774Node:<a name="Contribute">Contribute</a>,
1775Next:<a rel=next href="#Version%201%20Specifics">Version 1 Specifics</a>,
1776Previous:<a rel=previous href="#Help">Help</a>,
1777Up:<a rel=up href="#Top">Top</a>
1778<br>
1779
1780<h1>6 How to Contribute</h1>
1781
1782<ul>
1783<li><a href="#Section%206.1">Section 6.1</a>:   How to write a driver
1784<li><a href="#Section%206.2">Section 6.2</a>:   How to get CVS access
1785<li><a href="#Section%206.3">Section 6.3</a>:   How to donate hardware to the project
1786<li><a href="#Section%206.4">Section 6.4</a>:   How to join the project mailing list
1787<li><a href="#Section%206.5">Section 6.5</a>:   How to access mailing list archives
1788<li><a href="#Section%206.6">Section 6.6</a>:   How to submit a patch
1789<li><a href="#Section%206.7">Section 6.7</a>:   How to REALLY help
1790<li><a href="#Section%206.8">Section 6.8</a>:   How to block spam on the project mailing list
1791</ul>
1792
1793<p><hr>
1794Node:<a name="Section%206.1">Section 6.1</a>,
1795Next:<a rel=next href="#Section%206.2">Section 6.2</a>,
1796Up:<a rel=up href="#Contribute">Contribute</a>
1797<br>
1798
1799<h2>6.1 How to write a driver</h2>
1800
1801<p>See <code>doc/developers/new_drivers</code> in our package for instructions.
1802
1803<p><hr>
1804Node:<a name="Section%206.2">Section 6.2</a>,
1805Next:<a rel=next href="#Section%206.3">Section 6.3</a>,
1806Previous:<a rel=previous href="#Section%206.1">Section 6.1</a>,
1807Up:<a rel=up href="#Contribute">Contribute</a>
1808<br>
1809
1810<h2>6.2 How to get CVS access</h2>
1811
1812<p>For anonymous CVS read access, see the instructions on our download page.
1813Sorry, we don't have automatically generated CVS tarballs.
1814
1815<p>For write access, run the script <code>doc/developers/genpasswd.pl</code> in
1816our package and follow the instructions. Let us know what part
1817of the package you would like to work on.
1818
1819<p><hr>
1820Node:<a name="Section%206.3">Section 6.3</a>,
1821Next:<a rel=next href="#Section%206.4">Section 6.4</a>,
1822Previous:<a rel=previous href="#Section%206.2">Section 6.2</a>,
1823Up:<a rel=up href="#Contribute">Contribute</a>
1824<br>
1825
1826<h2>6.3 How to donate hardware to the project</h2>
1827
1828<p>Send us email <a href="mailto:sensors@stimpy.netroedge.com">sensors@stimpy.netroedge.com</a>.
1829
1830<p><hr>
1831Node:<a name="Section%206.4">Section 6.4</a>,
1832Next:<a rel=next href="#Section%206.5">Section 6.5</a>,
1833Previous:<a rel=previous href="#Section%206.3">Section 6.3</a>,
1834Up:<a rel=up href="#Contribute">Contribute</a>
1835<br>
1836
1837<h2>6.4 How to join the project mailing list</h2>
1838
1839<p>Send us email <a href="mailto:sensors@stimpy.netroedge.com">sensors@stimpy.netroedge.com</a>. Sorry,
1840there is no automated subscribe/unsubscribe service yet
1841(but we're seriously thinking of switching to majordomo).
1842Please note that you do NOT need to be subscribed to the list
1843in order to post. If you simply need help as a user, post your
1844detailed problem and questions directly. Don't worry, you'll be
1845CC'd on all replies.
1846
1847<p><hr>
1848Node:<a name="Section%206.5">Section 6.5</a>,
1849Next:<a rel=next href="#Section%206.6">Section 6.6</a>,
1850Previous:<a rel=previous href="#Section%206.4">Section 6.4</a>,
1851Up:<a rel=up href="#Contribute">Contribute</a>
1852<br>
1853
1854<h2>6.5 How to access mailing list archives</h2>
1855
1856<p>The mailing list archive is at: <a href="http://archives.andrew.net.au/lm-sensors">http://archives.andrew.net.au/lm-sensors</a>
1857Sorry, it only contains messages since October 28, 2001.
1858
1859<p><hr>
1860Node:<a name="Section%206.6">Section 6.6</a>,
1861Next:<a rel=next href="#Section%206.7">Section 6.7</a>,
1862Previous:<a rel=previous href="#Section%206.5">Section 6.5</a>,
1863Up:<a rel=up href="#Contribute">Contribute</a>
1864<br>
1865
1866<h2>6.6 How to submit a patch</h2>
1867
1868<p>Check out the latest from CVS, then copy the directory to another
1869directory, and make your changes. Generate the diff with
1870<code>diff -u2 -r DIR1 DIR2</code>. Or you can generate the diff in CVS with
1871<code>cvs diff -u2</code>. Send us the patch in an email and tell us what it does.
1872
1873<p><hr>
1874Node:<a name="Section%206.7">Section 6.7</a>,
1875Next:<a rel=next href="#Section%206.8">Section 6.8</a>,
1876Previous:<a rel=previous href="#Section%206.6">Section 6.6</a>,
1877Up:<a rel=up href="#Contribute">Contribute</a>
1878<br>
1879
1880<h2>6.7 How to REALLY help</h2>
1881
1882<p>Believe it or not, what we really need help with are:
1883<ul>
1884<li>Answering email
1885<li>Answering support tickets
1886<li>Submitting patches to Linus, etc.
1887<li>Creating a sensors.conf database
1888<li>Creating RPM's
1889</ul>
1890
1891<p>Send us email <a href="mailto:sensors@stimpy.netroedge.com">sensors@stimpy.netroedge.com</a> if you can help.
1892No experience necessary :)
1893
1894<p><hr>
1895Node:<a name="Section%206.8">Section 6.8</a>,
1896Previous:<a rel=previous href="#Section%206.7">Section 6.7</a>,
1897Up:<a rel=up href="#Contribute">Contribute</a>
1898<br>
1899
1900<h2>6.8 How to block spam on the project mailing list</h2>
1901
1902<p>Sorry, we know the spam is a hassle.  It would be nice to have a
1903moderator who can screen everything, but that takes too much time and
1904delays emails.  Right now there is a procmail script which tags likely
1905spam and puts in a X-SBClass: header.  If it is followed by 'Spam', then
1906it is almost certainly spam, if it is followed by 'Blocked', then it
1907scores high as being potential spam.  You should be able to set some
1908rules in your mail client to throw those emails into a seperate folder.
1909It's not bullet proof (some legit mails get tagged wrong, and vice
1910versa), but it seems to be about 95% accurate in our experience.
1911
1912<p><hr>
1913Node:<a name="Version%201%20Specifics">Version 1 Specifics</a>,
1914Next:<a rel=next href="#Document%20Revisions">Document Revisions</a>,
1915Previous:<a rel=previous href="#Contribute">Contribute</a>,
1916Up:<a rel=up href="#Top">Top</a>
1917<br>
1918
1919<h1>7 Version 1 Specific Questions</h1>
1920
1921<ul>
1922<li><a href="#Section%207.1">Section 7.1</a>:   My mainboard has an SMBus, your code can't find it.  Why?
1923<li><a href="#Section%207.2">Section 7.2</a>:   The modules won't load, saying 'SMBus not detected'.
1924<li><a href="#Section%207.3">Section 7.3</a>:   I get a "No sensor data yet (try again in a few moments)" msg.
1925<li><a href="#Section%207.4">Section 7.4</a>:   On my Dell, a LM80 is detected, but all readings are 0!
1926</ul>
1927
1928<p>Note: Version 1 is very very old and is not recommended.
1929
1930<p><hr>
1931Node:<a name="Section%207.1">Section 7.1</a>,
1932Next:<a rel=next href="#Section%207.2">Section 7.2</a>,
1933Up:<a rel=up href="#Version%201%20Specifics">Version 1 Specifics</a>
1934<br>
1935
1936<h2>7.1 My manufacturer swears that my mainboard has an SMBus, but your code reports that it can't find it.  What's wrong?</h2>
1937
1938<p>Currently, our code only assumes that an SMBus exists if it originates
1939from the Intel PIIX4 (82371AB).  If your computer doesn't have one, or if your
1940SMBus originates from a different SMBus 'host', then you are out of luck. :'(
1941Our experience is, though, that most machines have a PIIX4, and that it is
1942where the SMBus is hosted.
1943
1944<p>Regarding the VIA chip set(s):
1945
1946<p>Right now, the SMBus code depends on the Intel PIIX4 chip to handle
1947SMBus transactions.  The VIA chip set is NOT supported at this time because
1948it forces much of the SMBus protocol to be implemented by software.
1949
1950<p>To implement the SMBus correctly with the VIA chip, it needs to be
1951written at a low level to be quick.  A more attractive alternative is to
1952use the Bios SMBus interface (not always available nor standard).
1953
1954<p>Version 2 supports the VIA chipset, and will support other chipsets.
1955Version 1 never will.
1956
1957<p><hr>
1958Node:<a name="Section%207.2">Section 7.2</a>,
1959Next:<a rel=next href="#Section%207.3">Section 7.3</a>,
1960Previous:<a rel=previous href="#Section%207.1">Section 7.1</a>,
1961Up:<a rel=up href="#Version%201%20Specifics">Version 1 Specifics</a>
1962<br>
1963
1964<h2>7.2 The modules won't load, saying 'SMBus not detected'.</h2>
1965
1966<p>This should no longer be an issue in 1.4.10 and later; it will
1967continue loading, but it won't support SMBus-connected devices, of course.
1968
1969<p><hr>
1970Node:<a name="Section%207.3">Section 7.3</a>,
1971Next:<a rel=next href="#Section%207.4">Section 7.4</a>,
1972Previous:<a rel=previous href="#Section%207.2">Section 7.2</a>,
1973Up:<a rel=up href="#Version%201%20Specifics">Version 1 Specifics</a>
1974<br>
1975
1976<h2>7.3 I try to read <code>/proc/sensors</code>, and I get a "No sensor data yet (try again in a few moments)" message. Why?</h2>
1977
1978<p>It takes about 1.5 seconds for the LM78 to update all its sensor
1979values.  If we would try to read it before it finished that, you would get
1980old garbage instead. So you have to wait 1.5 seconds after the module is
1981inserted before you can access <code>/proc/sensors</code>.
1982
1983<p>Module versions 1.3.7 and later let the process sleep if it tries
1984to access sensor data right after insertion time, and do not display this
1985message anymore.
1986
1987<p><hr>
1988Node:<a name="Section%207.4">Section 7.4</a>,
1989Previous:<a rel=previous href="#Section%207.3">Section 7.3</a>,
1990Up:<a rel=up href="#Version%201%20Specifics">Version 1 Specifics</a>
1991<br>
1992
1993<h2>7.4 On my Dell, a LM80 is detected, but all readings are 0!</h2>
1994
1995<p>This is a bug we have only observed on Dell computers. There is
1996probably a problem with the way the SMBus is accessed; but it is not yet
1997clear whether the problem is in our code or with the Dells.
1998
1999<p>There are very probably no sensor chips at all on your computer;
2000but until somebody contacts Dell about this and tells us the results, we
2001can not be sure.
2002
2003<p><hr>
2004Node:<a name="Document%20Revisions">Document Revisions</a>,
2005Previous:<a rel=previous href="#Version%201%20Specifics">Version 1 Specifics</a>,
2006Up:<a rel=up href="#Top">Top</a>
2007<br>
2008
2009<h1>Appendix A Revision History of This Document</h1>
2010
2011<ul>
2012<li>Rev 2.9 (CP) Converted to Gnu texinfo format, 20020910
2013<li>Rev 2.8 (MDS) Minor updates 20020710, released with lm_sensors 2.6.4
2014<li>Rev 2.7 (MDS) Minor updates 20020425
2015<li>Rev 2.6 (MDS) Minor updates 20020115, released with lm_sensors 2.6.3
2016<li>Rev 2.5 (MDS) Minor updates 20011111, released with lm_sensors 2.6.2
2017<li>Rev 2.4 (MDS) Minor updates 20010722
2018<li>Rev 2.3 (MDS) General update, 20010224, released with lm_sensors 2.6.0.
2019<li>Rev 2.2 (Frodo) Corrections for lm_sensors 2.4, 19990920
2020<li>Rev 2.1 (Frodo) Corrections for lm_sensors 2.2, 19990112
2021<li>Rev 2.0 (Frodo) Major revision for lm_sensors 2.1, 19981229
2022<li>Rev 1.10 (Frodo) Modified 3.8, updated some other things, 19980924
2023<li>Rev 1.9 (Frodo) Added 3.15, 19980906
2024<li>Rev 1.8 (Frodo) Added 3.14, 19980905
2025<li>Rev 1.7 (Phil) Added 3.13 and some other minor changes, 19980901
2026<li>Rev 1.6 (Frodo) Added 4, 4.1, 4.2, 4.3, 4.4, 4.5, 19980901
2027<li>Rev 1.5 (Frodo) Added 2.3, 2.4, 3.9, 3.10, 3.11, 19980826
2028<li>Rev 1.4 (Frodo) Added some more Winbond information, and 3.5-3.8, 19980817
2029<li>Rev 1.3 Added info on the Winbond chip, 19980816
2030<li>Rev 1.2 Adapation by Frodo Looijaard, 19980810
2031<li>Rev 1.1 Modifications by Philip Edelbrock, 19980809
2032<li>Rev 1.0 Written by Philip Edelbrock, 19980803
2033</ul>
2034
2035</body></html>
2036
Note: See TracBrowser for help on using the browser.