root/lm-sensors/branches/lm-sensors-3.0.0/doc/FAQ @ 4865

Revision 4865, 62.1 KB (checked in by khali, 6 years ago)

lm-sensors should now be safe to use on Thinkpad laptops.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Short Contents
2**************
3
4lm_sensors
51 PC and Sensor Overview
62 Sensor and Bus Basics
73 Installation and Management
84 Problems
95 How to Ask for Help
106 How to Contribute
11Appendix A Revision History of This Document
12
13
14Table of Contents
15*****************
16
17lm_sensors
181 PC and Sensor Overview
19  1.1 What sensors are available on my PC?
20  1.2 What can a sensor chip like the "LM78" do?
21  1.3 Where do I find out more about any of these chips?
222 Sensor and Bus Basics
23  2.1 How are these sensors read?
24  2.2 What is the SMBus? And the I2C bus?
25  2.3 I don't have an ISA bus!
26  2.4 What sensors do processors have?
27  2.5 How often are the sensor values updated?
28  2.6 How are alarms triggered?
293 Installation and Management
30  3.1 Why so many modules, and how do I cope with them?
31  3.2 How do I know which chips I own?
32    3.2.1 What chips are on motherboard XYZ?
33    3.2.2 Do you support motherboard XYZ?
34    3.2.3 Do you support chip XYZ?
35    3.2.4 Anybody working on a driver for chip XYZ?
36  3.3 Which modules should I insert?
37  3.4 Do I need the configuration file `/etc/sensors.conf'?
38    3.4.1 The labels for the voltage and temperature readings in `sensors' are incorrect!
39    3.4.2 The min and max for the readings in `sensors' are incorrect!
40    3.4.3 The min and max settings in `/etc/sensors.conf' didn't take effect!
41    3.4.4 One sensor isn't hooked up on my board!
42    3.4.5 I need help with `sensors.conf'!
43    3.4.6 Do you have a database of `sensors.conf' entries for specific boards?
44  3.5 What about the `No such file or directory' warnings when I compile?
45  3.6 I get all kinds of weird compilation errors?
46    3.6.1 `No rule to make target xxxx needed by xxxx' - how to fix?
47  3.7 It still does not compile or patch!
48  3.8 `make install' fails on Mandrake kernels
49  3.9 I get unresolved symbols when I `modprobe' modules (Red Hat especially)
50  3.10 I2C_DRIVERID_ADM1024 undefined (Red Hat especially)
514 Problems
52  4.1 My fans report exactly half/double their values compared to the BIOS?
53    4.1.1 Fans sometimes/always read 0!!
54    4.1.2 I doubled the fan divisor and the fan still reads 7000!
55  4.2 Why do my two LM75's report "-48 degrees"?
56  4.3 Why do I have two Vcore readings, I have only one processor!
57  4.4 How do those ALARMS work? The current value is within range but there is still an ALARM warning!
58  4.5 My voltage readings seem to drift a bit. Is something wrong?
59  4.6 Some measurements are way out of range. What happened?
60    4.6.1 -5V and -12V readings are way out of range!
61  4.7 What are VID lines? Why is the VID reading wrong?
62  4.8 I read sensor values several times a second, but they are only updated only each second or so. Why?
63  4.9 It sometimes seems to take almost a second before I see the sensor reading results. Why?
64  4.10 Can I be alerted when an ALARM occurs?
65  4.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?
66  4.12 My BIOS reports a much higher CPU temperature than your modules!
67  4.13 I try to read the raw `/proc' files, but the values are strange?!?
68  4.14 How do I set new limits?
69    4.14.1 I set new limits and it didn't work?
70  4.15 Some sensors are doubly detected?
71  4.16 I ran sensors-detect, but now I get very strange readings?!?
72  4.17 Bad readings from particular chips
73    4.17.1 Bad readings from the AS99127F!
74    4.17.2 Bad readings from the VIA 686A!
75    4.17.3 Bad readings from the MTP008!
76    4.17.4 Bad temperature readings from the SIS5595!
77    4.17.5 Bad readings from a w8378[12]d!
78    4.17.6 Bus hangs on Ali 1543 on Asus P5A boards!
79    4.17.7 Bad readings from LM75!
80    4.17.8 Bad readings from LM78!
81    4.17.9 Bad readings from LM80!
82  4.18 How do I configure two chips (LM87) differently?
83  4.19 Dmesg says `Upgrade BIOS'! I don't want to!
84    4.19.1 Dmesg says `use force_addr=0xaddr'! What address do I use?
85  4.20 Sensors says `Can't access procfs/sysfs file'
86  4.21 Sensors says `No sensors found!'
87  4.22 Sensors output is not correct!
88  4.23 What is at I2C address XXX?
89    4.23.1 What is at I2C address 0x69?
90    4.23.2 What is at I2C addresses 0x50 - 0x57?
91    4.23.3 What is at I2C addresses 0x30 - 0x37?
92  4.24 Sensors-detect doesn't work at all
93    4.24.1 Sensors-detect says "Couldn't open /proc/bus/i2c?!?"
94    4.24.2 Sensors-detect says "Can't open /dev/i2c[-/]0"
95    4.24.3 Sensors-detect doesn't find any sensors!
96  4.25 Sensors says `Error: Line xxx: zzzzzzz'
97  4.26 Sensors only gives the name and adapter for my chip
98  4.27 Sensors says `ERROR: Can't get xxxxx data!'
99  4.28 Sensors doesn't find any sensors, just eeproms.
100  4.29 Inserting modules hangs my board
101  4.30 Inserting modules slows down my board
102  4.31 Problems on particular motherboards
103    4.31.1 Asus P4B
104    4.31.2 Tyan 2460, 2462
105    4.31.3 Tyan 2466
106    4.31.4 Tyan 2688
107  4.32 Problems on 2.6 kernels
108    4.32.1 i2c-viapro and via686a
109    4.32.2 Where are my EEPROMs?
1105 How to Ask for Help
111  5.1 What to send us when asking for help
112  5.2 What to do if a module won't insert?
113  5.3 What to do if it inserts, but nothing happens?
114  5.4 What to do if I read only bogus information?
115  5.5 What to do if you have other problems?
116  5.6 What if it just works like a charm?
117  5.7 How do I update a ticket?
118  5.8 How do I follow up on a ticket?
119  5.9 Why did you decide not to support undocumented chips?
1206 How to Contribute
121  6.1 How to write a driver
122  6.2 How to get SVN access
123  6.3 How to donate hardware to the project
124  6.4 How to join the project mailing lists
125  6.5 How to access mailing list archives
126  6.6 How to submit a patch
127  6.7 How to REALLY help
128  6.8 How to get release announcements
129Appendix A Revision History of This Document
130
131
132lm_sensors
133**********
134
135The lm_sensors package includes a collection of modules for general
136SMBus access and hardware monitoring.  NOTE: this requires special
137support which is not in standard 2.2-vintage kernels.
138
1391 PC and Sensor Overview
140************************
141
1421.1 What sensors are available on my PC?
143========================================
144
145Most PC's built since late 1997 now come with a hardware health
146monitoring chip. This chip may be accessed via the ISA bus or the
147SMBus, depending on the motherboard.
148
149   Some motherboard chipsets, notably the Via 686 and the SiS 5595,
150contain hardware monitor functions.
151
152   This FAQ frequently refers to the "LM78". This chip has been
153obsoleted by National Semiconductor. Most motherboards today contain a
154chip with similar functions.
155
1561.2 What can a sensor chip like the "LM78" do?
157==============================================
158
159The LM78 is a chip made by National Semiconductor which can monitor 7
160voltages (5 positive, 2 negative) from 0 to 4.08V.  The inputs are
161usually in series with voltage dividers which lower the +/- 12V and +/-
1625V supplies to measurable range.  Therefore, the readings for such
163inputs need to be re-scaled appropriately by software.
164
165   The LM78 also has 3 fan speed monitoring inputs, an internal
166temperature sensor, a chassis intrusion sensor, and a couple maskable
167interrupt inputs.  The LM78 can also relay the processor's (P6 or Pent
168II) VID lines which are hardwired and used to indicate to the power
169regulator (usually on the mainboard close to the processor socket/slot)
170what voltage to supply to the processor.
171
172   The LM78 can be interfaced to a system via the ISA bus and/or the
173SMBus.
174
175   Most other sensor chips have comparable functionality. Each supported
176chip is documented in the `doc/chips' directory.
177
1781.3 Where do I find out more about any of these chips?
179======================================================
180
181Most semiconductor companies have comprehensive documentation,
182including complete datasheets, on their websites. Analog Devices,
183Dallas Semiconductor, Maxim, and National Semiconductor have the widest
184selection of sensor chips. Their websites are:
185
186   * `http://www.analog.com'
187
188   * `http://www.dalsemi.com'
189
190   * `http://www.maxim-ic.com'
191
192   * `http://www.national.com'
193
194   Please see the file `http://www.lm-sensors.org/wiki/UsefulLinks' for
195links to other companies' websites.
196
1972 Sensor and Bus Basics
198***********************
199
2002.1 How are these sensors read?
201===============================
202
203Sensor chips reside on either the ISA bus, the SMBus, or both.  See the
204file `doc/chips/SUMMARY' in our package for a list.
205
206   To communicate with chips on the ISA bus, the software uses simple
207I/O reads and writes.
208
209   To communicate with chips on the SMBus, the software must use an
210SMBus interface device, explained below.
211
2122.2 What is the SMBus? And the I2C bus?
213=======================================
214
215The SMBus is the "System Management Bus".  More specifically, it is a
2162-wire, low-speed serial communication bus used for basic health
217monitoring and hardware management. It is a specific implementation of
218the more general I2C (pronunciation: I-squared-C) bus. In fact, both
219I2C devices and SMBus devices may be connected to the same (I2C) bus.
220
221   The SMBus (or I2C bus) starts at the host controller, used for
222starting transactions on the SMBus.  From the host interface, the
223devices communicated with are the "slave" devices.  Each slave device
224has a unique 7-bit address which the host uses to refer to that device.
225
226   For each supported SMBus host, there is a separate kernel module
227which implements the communication protocol with the host. Some SMBus
228hosts really operate on the SMBus level; these hosts can not cope with
229pure I2C devices. Other hosts are in fact I2C hosts: in this case, we
230implement the SMBus protocol in terms of I2C operations. But these
231hosts can also talk to pure I2C devices.
232
2332.3 I don't have an ISA bus!
234============================
235
236We promise, you do, even if you don't have any old ISA slots.  The "ISA
237Bus" exists in your computer even if you don't have ISA slots; it is
238simply a memory-mapped area, 64KB in size (0x0000 - 0xFFFF) where many
239"legacy" functions, such as keyboard and interrupt controllers, are
240found. It isn't necessarily a separate physical bus.  See the file
241`/proc/ioports' for a list of devices living on the "ISA Bus" in your
242system. If you don't like the term "ISA Bus" think "I/O Space".
243
2442.4 What sensors do processors have?
245====================================
246
247Most new processors contain a thermal diode on the die itself.  The
248electical properties of all diodes and transistors vary slightly with
249temperature. The thermal diode is exceptionally accurate because it is
250directly on the die. Newer temperature sensor chips, like the Analog
251Devices ADM1021 and clones, and the Winbond chips, have circuitry for
252measuring the the electrical properties of an external diode and
253converting this data to a temperature.  Any sensor chip listed in
254`doc/chips/SUMMARY' in our package which has support for more than one
255temperature supports external temperature sensing.
256
257   Older motherboards and processors without this feature generally use
258an LM75 placed close to the processor. This is much less accurate.
259
260   The Pentium 2 'boxed' processor usually has an LM75 very close to the
261base of the box. It can be read through the SMBus to report the
262approximate temperature of the processor.  The processor also contains
263an internal temperature sensor (of low accuracy) used as a fail-safe to
264disable the processor in case it gets much too hot (usually around 130
265degrees C).  And, the Pentium 2 also has a hard-wired signal (VID
266lines) on it's SEC (single edge connector) which indicates what power
267supply is required to operate the processor.
268
269   The P6 (Pentium-Pro) may have an LM75 in or just under the socket.
270P6's also have VID lines.
271
272   Pentiums and Pentium w/ MMX do not have VID lines, and sometimes have
273LM75's under the sockets (depends on the mainboard, and how 'modern' the
274mainboard is).
275
276   The P2 Xeon was the first Intel processor to include the SMBus
277interface on the P2 Xeon SEC.
278
2792.5 How often are the sensor values updated?
280============================================
281
282The LM78, and most other sensor chips like it, reads its sensors one by
283one. A complete scanning sweep will take about 1.5 seconds. The LM78
284stops readings sensors if you try to access it, so if you access it
285very often (by reading sensor values; writing new limits is safe) it
286will not find the time to update its sensor values at all! Fortunately,
287the kernel module takes care not to do this, and only reads new values
288each 1.5 seconds. If you read the values again, you will get the 'old'
289values again.
290
2912.6 How are alarms triggered?
292=============================
293
294It is possible to monitor each sensor and have an alarm go off if it
295crosses some pre-determined limits.  There are two sorts of interrupts
296which can be generated by sensor chips if this happens (it depends a
297bit on the actual chip if both are supported; the LM80, for example,
298has only IRQ interrupts): IRQ interrupts and SMI interrupts.  IRQ
299stands for Interrupt Request and are the interrupt lines you can find
300in `/proc/interrupts'.  SMI stands for System Management Interrupt, and
301is a special interrupt which puts the processor in a secure environment
302independent of any other things running.  SMI is currently not
303supported by the Linux kernel.  IRQs are supported, of course.
304
305   Even if no interrupt is generated, some bits in a status register
306will be set until the register is read the next time. If the alarm
307condition persists after that, the bits will be set on the next
308scanning sweep, etc.
309
310   Most drivers in our package do not support interrupts at this time.
311
3123 Installation and Management
313*****************************
314
3153.1 Why so many modules, and how do I cope with them?
316=====================================================
317
318We tried to make this package as modular as possible. This makes it
319easy to add new drivers, and unused drivers will take no precious kernel
320space. On the other hand, it can be a bit confusing at first.
321
322   Here are two simple guidelines:
323   * Run `sensors-detect' and do what it tells you.
324
325   * Always use `modprobe', not `insmod'.
326
327   Further information is in `doc/modules'.
328
3293.2 How do I know which chips I own?
330====================================
331
332We have an excellent program that scans all your hardware.  It is
333called `sensors-detect' and is installed in `/usr/local/sbin' by `make
334install'. Just execute this script, and it will tell you.
335
336   Chip detection in the drivers is fairly good. That means that it is
337usually harmless to insert more chip drivers than you need. However,
338this can still lead to problems, so we do not recommend it.
339
340   If sensors-detect didn't find any sensors, either you don't have
341any, or the ones you have, we don't support. (Look at your motherboard
342for candidates, then *note Help::)
343
3443.2.1 What chips are on motherboard XYZ?
345----------------------------------------
346
347*!!!!!!!!! YES THIS IS THE MOST FREQUENT QUESTION WE GET !!!!!!!!!*
348
349   We have no idea. Here is what you should do:
350  1. Run sensors-detect.
351
352   If that doesn't work:
353  2. Look at your motherboard.
354
355  3. Check the manufacturer's website or ask their support
356
357  4. Check the "links" (http://www.lm-sensors.org/wiki/UsefulLinks)
358     page on our website (http://www.lm-sensors.org) some good
359     cross-references.
360
3613.2.2 Do you support motherboard XYZ?
362-------------------------------------
363
364We don't support boards, we support chips. *Note What chips are on
365motherboard XYZ: Section 3.2.1.
366
3673.2.3 Do you support chip XYZ?
368------------------------------
369
370This we have good answers for.
371   * Sorted by Manufacturer:   `README'
372
373   * Sorted by Manufacturer:   `http://www.lm-sensors.org/wiki/Devices'
374
375   * Sorted by Sensor Driver:  `doc/chips/SUMMARY'
376
3773.2.4 Anybody working on a driver for chip XYZ?
378-----------------------------------------------
379
380Newest Driver Status: `http://www.lm-sensors.org/wiki/Devices'
381
3823.3 Which modules should I insert?
383==================================
384
385`sensors-detect' will tell you. Take the `modprobe' lines it recommends
386and paste them into the appropriate `/etc/rc.d/xxxx' file to be
387executed at startup.
388
389   You need one module for each sensor chip and bus adapter you own; if
390there are sensor chips on the ISA bus, you also need `i2c-isa.o'.  for
391each type of chip you own. That's all. On my computer, I could use the
392following lines:
393   * `modprobe i2c-isa'
394
395   * `modprobe i2c-piix4'
396
397   * `modprobe lm78'
398
399   * `modprobe lm75'
400
401   * `modprobe i2c-dev'
402
403   * `sensors -s'
404
4053.4 Do I need the configuration file `/etc/sensors.conf'?
406=========================================================
407
408Yes, for any applications that use `libsensors,' including the
409`sensors' application included in our package.  It tells libsensors how
410to translate the values the chip measures to real-world values. This is
411especially important for voltage inputs. The default configuration file
412should usually do the trick.  It is automatically installed as
413`/etc/sensors.conf', but it will not overwrite any existing file with
414that name.
415
4163.4.1 The labels for the voltage and temperature readings in `sensors' are incorrect!
417-------------------------------------------------------------------------------------
418
419Every motherboard is different. You can customize the labels in the
420file `/etc/sensors.conf'. That's why it exists!  The default labelling
421(in `lib/chips.c' and `/etc/sensors.conf') is just a template.
422
4233.4.2 The min and max for the readings in `sensors' are incorrect!
424------------------------------------------------------------------
425
426You can customize them in the file `/etc/sensors.conf'. See above.
427
4283.4.3 The min and max settings in `/etc/sensors.conf' didn't take effect!
429-------------------------------------------------------------------------
430
431You forgot to run `sensors -s'. See above.
432
4333.4.4 One sensor isn't hooked up on my board!
434---------------------------------------------
435
436Use an `ignore' line in `/etc/sensors.conf' so it isn't displayed in
437`sensors'.
438
4393.4.5 I need help with `sensors.conf'!
440--------------------------------------
441
442There is detailed help at the top of that file.
443
4443.4.6 Do you have a database of `sensors.conf' entries for specific boards?
445---------------------------------------------------------------------------
446
447No. Good idea though. If you would like to set one up on your website
448send us mail and we will set up a link to it.
449
4503.5 What about the `No such file or directory' warnings when I compile?
451=======================================================================
452
453Don't worry about them. The dependency files (which tell which files
454should be recompiled when certain files change) are created
455dynamically. They are not distributed with the package. The `make'
456program notices they are not there, and warns about that - and the
457first thing it will do is generate them. So all is well.
458
4593.6 I get all kinds of weird compilation errors?
460================================================
461
462Check that the correct i2c header files are used. Depending on how you
463installed, they should be under either `/usr/local/include' or
464`/usr/src/linux*/include'. Try to edit the `Makefile' for the other
465setting.
466
4673.6.1 `No rule to make target xxxx needed by xxxx' - how to fix?
468----------------------------------------------------------------
469
470   * *Note I get all kinds of weird compilation errors: Section 3.6,
471     also try `make clean' in `lm_sensors'.
472
473   * If that doesn't work, try `make clean' in `i2c'.
474
475   * If that doesn't work, try `make clean' in the kernel.
476
477   * Also make sure `/usr/include/linux' points to
478     `/usr/src/linux/include/linux'.
479
4803.7 It still does not compile or patch!
481=======================================
482
483Have you installed the matching version of the i2c package? Remember,
484compilation is not enough, you also need to install it for the header
485files to be found!
486
487   If you want to patch the kernel, you will have to apply the i2c
488patches first!
489
4903.8 `make install' fails on Mandrake kernels
491============================================
492
493Mandrake uses a non-standard `version.h' file which confuses our
494`Makefile'.  Edit our `Makefile' on the `MODDIR :=' line to hard-code
495the module directory.
496
4973.9 I get unresolved symbols when I `modprobe' modules (Red Hat especially)
498===========================================================================
499
500Example:
501     *** Unresolved symbols in /lib/modules/2.4.5/kernel/drivers/i2c/i2c-i810.o
502     i2c_bit_add_bus_R8c3bc60e
503     i2c_bit_del_bus_R92b18f49
504
505   You can also run `depmod -a -e' to see all unresolved symbols.
506
507   These are module versioning problems. Generally you did not compile
508against the kernel you are running. Sometimes the Red Hat source you
509have is not for the kernel you are running.  You must compile our
510package against the source for the kernel you are running with
511something like `make LINUX=/usr/src/linux-2.4.14'.
512
513   Try the following to be sure:
514
515   * `nm --extern MODULE.o' Filter out the kernel symbols, like
516     `kmalloc', `printk' etc. and note the number code behind them,
517     like `printk_R1b7d4074'. If there is no numeric code after them,
518     note this too.
519
520   * `grep SYMBOL /proc/ksyms' Substitute SYMBOL by the basename of the
521     symbols above, like `kmalloc', `printk' etc. Note the number code
522     behind them, or the lack thereof.
523
524   * Compare both sets of symbols. Are they the same? If so, the problem
525     lies somewhere else. Are they different? If so, you have a module
526     versioning problem.
527
5283.10 I2C_DRIVERID_ADM1024 undefined (Red Hat especially)
529========================================================
530
531In some versions of Redhat, an RPM is included to provide i2c support.
532However, this RPM does not place the header files in the kernel
533directory structure.  When you update kernels, they may persist.  To
534get rid of these obsolete header files, at a command prompt:
535
536  1. `rpm -qa | grep i2c'
537
538  2. Look for `kernel-i2c,' or a similar rpm in the output
539
540  3. <as root> `rpm -ev kernel-i2c' (or the name of the similar package)
541     If this complains about dependencies, you can try adding
542     `--nodeps', but this *MAY* break something else.  Not likely, as
543     you have upgraded kernels, and nothing should be using the old i2c
544     stuff anymore anyway.  Just don't use it with abandon.
545
546  4. Try (in the build directory of `lm_sensors)'
547          `make clean'
548          `make'
549
550  5. _If_ you still have problems, you may have to replace the include
551     paths in the `.c/.h' files with absolute paths to the header files.
552     More of a workaround than a real fix, but at least you can get it
553     to work.
554
5554 Problems
556**********
557
5584.1 My fans report exactly half/double their values compared to the BIOS?
559=========================================================================
560
561The problem with much of the sensor data is that it is impossible to
562properly interpret some of the readings without knowing what the
563hardware configuration is.  Some fans report one 'tick' each rotation,
564some report two 'ticks' each rotation. It is easy to resolve this
565through the configuration file `/etc/sensors.conf':
566
567     chip lm78-*             # Or whatever chip this relates to
568     compute fan1 2*@,@/2    # This will double the fan1 reading
569                             # -- or --
570     compute fan1 @/2,2*@    # This will halve the fan1 reading
571
572   See `doc/fan-divisors' in our package for further information.
573
5744.1.1 Fans sometimes/always read 0!!
575------------------------------------
576
577You may not have a three-wire fan, which is required.
578
579   You may need to increase the 'fan divisor'. See `doc/fan-divisors'
580in our package for further information.
581
5824.1.2 I doubled the fan divisor and the fan still reads 7000!
583-------------------------------------------------------------
584
585Believe it or not, doubling the 'fan divisor' will not halve the fan
586reading. You have to add a compute line in `/etc/sensors.conf'.  *Note
587My fans report exactly half/double their values compared to the BIOS:
588Section 4.1, and see `doc/fan-divisors' in our package for further
589information.
590
5914.2 Why do my two LM75's report "-48 degrees"?
592==============================================
593
594For starters, those aren't LM75's.  Your mainboard actually has the
595Winbond W83781D which emulates two LM75's, but many systems which use
596the Winbond chip (such as the Asus P2B) don't have the thermo-resisters
597connected to the chip resulting in these strange -48 degree readings.
598
599   In upcoming versions, you will be able to disable non-interesting
600readings.
601
6024.3 Why do I have two Vcore readings, I have only one processor!
603================================================================
604
605The LM78 has seven voltage sensors. The default way of connecting them
606is used in the configuration file. This includes a VCore2, even if you
607do not have one. You can easily edit the configuration file to give it
608another name, or make this reading disappear using an `ignore' line.
609
610   Note that Vcore2 is often the same as Vcore on motherboards which
611only support one processor. Another possibility is that Vcore2 is not
612connected at all and will not have a valid reading at all.  A third
613possibility, is that Vcore2 monitors something else, so you should not
614be too surprised if the values are completely different.
615
6164.4 How do those ALARMS work? The current value is within range but there is still an ALARM warning!
617====================================================================================================
618
619The ALARM indications in `sensors' are those reported by the sensor
620chip itself. They are NOT calculated by `sensors'. `sensors' simply
621reads the ALARM bits and reports them.
622
623   An ALARM will go off when a minimum or maximum limit is crossed.
624The ALARM is then latched - that is, it will stay there until the
625chip's registers are next accessed - which will be the next time you
626read these values, but not within (usually) 1.5 seconds since the last
627update.
628
629   Reading the registers clears the ALARMS, unless the current value is
630still out of range.
631
632   The purpose of this scheme is to tell you if there has been a
633problem and report it to the user. Voltage or temperature spikes get
634detected without having to read the sensor chip hundreds of times a
635second. The implemetation details depend a bit on the kind of chip.
636See the specific chip documentation in `doc/chips' and the chip
637datasheet for more information.
638
6394.5 My voltage readings seem to drift a bit. Is something wrong?
640================================================================
641
642No, probably not. If your motherboard heats up a bit, the sensed
643voltages will drift a bit. If your power supply is loaded (because a
644disk gets going, for example), the voltages may get a bit lower. Heavy
645processor activity, in particular, dramatically increases core voltage
646supply load which will often cause variation in the other supplies.  As
647long as they stay within a sensible range (say 5% of the nominal value
648for CPU core voltages, and 10% for other voltages), there is no reason
649to worry.
650
6514.6 Some measurements are way out of range. What happened?
652==========================================================
653
654Each module tries to set limits to sensible values on initialization,
655but a module does not know how a chip is actually connected. This is
656described in the configuration file, which is not read by kernel
657modules.  So limits can be strange, if the chip is connected in a
658non-standard way.
659
660   Readings can also be strange; there are several reasons for this.
661Temperature sensors, for example, can simply not be present, even though
662the chip supports them. Also, it can be that the input is used in a
663non-standard way. You can use the configuration file to describe how
664this measurement should be interpreted; see the comments the example
665file for more information.
666
6674.6.1 -5V and -12V readings are way out of range!
668-------------------------------------------------
669
670It's very frequent that negative voltage lines are not wired because
671motherboard manufacturers don't think they're worth monitoring (they
672are mostly unused these days). You can just add `ignore inN' lines to
673`/etc/sensors.conf' to hide them.
674
675   Another possibility is that these lines are used to monitor different
676voltages. Only the motherboard manufacturer can tell for sure. Taking a
677look at what voltage values the BIOS displays may provide valuable
678hints though.
679
6804.7 What are VID lines? Why is the VID reading wrong?
681=====================================================
682
683These describe the core voltage for your processor. They are supported
684for most processors, however they are not always correctly connected to
685the sensor chip, so the readings may be invalid.  A reading of 0V,
686+3.5V or +2.05V is especially suspect.  If this is the case, add a line
687`ignore vid' to `/etc/sensors.conf', and change the min and max
688settings for the Processor Core voltage (often in0_min and in0_max) in
689that file so that they don't depend on vid.
690
691   The CPU nominal voltage is computed from VID lines according to a
692formula that depends on the CPU type. Since Linux 2.6.9, the right
693formula is selected automatically.  See `doc/vid' for more information.
694
6954.8 I read sensor values several times a second, but they are only updated only each second or so. Why?
696=======================================================================================================
697
698If we would read the registers more often, it would not find the time
699to update them. So we only update our readings once each 1.5 seconds
700(the actual delay is chip-specific; for some chips, it may not be needed
701at all).
702
7034.9 It sometimes seems to take almost a second before I see the sensor reading results. Why?
704============================================================================================
705
706ISA bus access is fast, but SMBus access is really slow. If you have a
707lot of sensors, it just takes a lot of time to access them. Fortunately,
708this has almost no impact on the system as a whole, as another job can
709run while we are waiting for the transaction to finish.
710
7114.10 Can I be alerted when an ALARM occurs?
712===========================================
713
714No, you can't; and it may well be never supported.
715
716   Almost no mainboard we have encountered have actually connected the
717IRQ-out pin of sensor chips. That means that we could enable IRQ
718reporting, but nothing would happen. Also, even if a motherboard has it
719connected, it is unclear what interrupt number would be triggered. And
720IRQ lines are a scarce facility, which means that almost nobody would
721be able to use it anyway.
722
723   The SMI interrupt is only available on a few types of chips. It is
724really a very obscure way to handle interrupts, and supporting it under
725Linux might be quite hard to do.
726
727   Your best bet would be to poll the alarm file with a user-land daemon
728which alerts you if an alarm is raised. I am not aware of any program
729which does the job, though you might want to examine one of the
730graphical monitor programs under X, see
731`http://www.lm-sensors.org/wiki/UsefulLinks' for addresses.
732
7334.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?
734==============================================================================
735
736Some chips which mainboard makers connect to the SMBus are not SMBus
737devices.  An example is the 91xx clock generator chips.  When read,
738these devices can lock up the SMBus until the next hard reboot.  This
739is because they have a similar serial interface (like the I2C), but
740don't conform to Intel's SMBus standard.
741
742   Why did they connect these devices to the SMBus if they aren't
743compatible?  Good question! :')  Actually, these devices may support
744being written to, but lock things up when they are read.
745
7464.12 My BIOS reports a much higher CPU temperature than your modules!
747=====================================================================
748
749We display the actual temperature of the sensor. This may not be the
750temperature you are interested in, though.  If a sensor should measure
751the CPU temperature, it must be in thermal contact with it.  In
752practice, it may be just somewhere nearby. Your BIOS may correct for
753this (by adding, for example, thirty degrees to the measured
754temperature).  The correction factor is regrettably different for each
755mainboard, so we can not do this in the module itself. You can do it
756through the configuration file, though:
757
758     chip lm75-*-49                      # Or whatever chip this relates to
759     label temp "Processor"
760     compute temp @*1.2+13,(@-13)/1.2    # Or whatever formula
761
762   However, the offset you are introducing might not be necessary. If
763you tried to have Linux idle temperature and BIOS "idle" temperature
764match, you may be misguided.  We have a Supermicro (370DLE) motherboard
765and we know that its BIOS has a closed, almost undelayed while(1) loop
766that keeps the CPU busy all the time. Linux reads 26 degrees idle, BIOS
767reads 38 degrees. Linux at full load is in the 35-40 degrees range so
768this makes sense.
769
7704.13 I try to read the raw `/proc' files, but the values are strange?!?
771=======================================================================
772
773Remember, these values do not take the configuration file `compute'
774lines in account. This is especially obvious for voltage readings
775(usually called in? or vin?). Use a program linked to libsensors (like
776the provided `sensors' program) instead.
777
7784.14 How do I set new limits?
779=============================
780
781Change the limit values in `/etc/sensors.conf' and then run `sensors
782-s'.
783
7844.14.1 I set new limits and it didn't work?
785-------------------------------------------
786
787You forgot to run `sensors -s'. Put it in a `/etc/rc.d/...' file after
788the modprobe lines to run at startup.
789
7904.15 Some sensors are doubly detected?
791======================================
792
793Yes, this is still a problem. It is partially solved by alias detection
794and confidence values in sensors-detect, but it is really tough.
795
796   Double detections can be caused by two things: sensors can be
797detected to both the ISA and the SMBus (and if you have loaded the
798approprate adapter drivers, it will be detected on both), and some
799chips simulate other chips (the Winbond W83781D simulates LM75 chips on
800the SMBus, for example). Remove the offending adapter or chip driver, or
801run sensors-detect and add the `ignore=' modprobe parameters it
802suggests.
803
8044.16 I ran sensors-detect, but now I get very strange readings?!?
805=================================================================
806
807Your SMBus (PIIX4?) is probably crashed or hung. There are some
808mainboards which connect a clock chip to the SMBus. Unfortunately, this
809clock chip hangs the PIIX4 if it is read (it is an I2C device, but not
810SMBus compatible).  We have found no way of solving this, except for
811rebooting your computer.  Next time when you run sensors-detect, you
812may want to exclude addresses 0x69 and/or 0x6a, by entering `s' when
813you are asked whether you want to scan the PIIX4.
814
8154.17 Bad readings from particular chips
816=======================================
817
818See below for some particularly troublesome chips.  Also be sure and
819check `doc/chips/xxxxx' for the particular driver.
820
8214.17.1 Bad readings from the AS99127F!
822--------------------------------------
823
824The Asus AS99127F is a modified version of the Winbond W83781D.  Asus
825will not release a datasheet. The driver was developed by tedious
826experimentation. We've done the best we can. If you want to make
827adjustments to the readings please edit `/etc/sensors.conf.' Please
828don't ask us to fix the driver. Ask Asus to release a datasheet.
829
8304.17.2 Bad readings from the VIA 686A!
831--------------------------------------
832
833The Via 686A datasheet is incomplete.  Via will not release details.
834The driver was developed by tedious experimentation. We've done the
835best we can. If you want to make adjustments to the readings please
836edit `/etc/sensors.conf.' Please don't ask us to fix the driver. Ask
837Via to release a better datasheet.  Also, don't forget to `modprobe
838i2c-isa'.
839
8404.17.3 Bad readings from the MTP008!
841------------------------------------
842
843The MTP008 has programmable temperature sensor types.  If your sensor
844type does not match the default, you will have to change it.  See
845`doc/chips/mtp008' for details.  Also, MTP008 chips seem to randomly
846refuse to respond, for unknown reasons. You can see this as 'XX'
847entries in i2cdump.
848
8494.17.4 Bad temperature readings from the SIS5595!
850-------------------------------------------------
851
852This chip can use multiple thermistor types and there are also two
853different versions of the chip. We are trying to get the driver working
854better and develop formulas for different thermistors but we aren't
855there yet. Sorry.  Also, many times the chip isn't really a sis5595 but
856it was misidentified. We are working on improving that too.
857
8584.17.5 Bad readings from a w8378[12]d!
859--------------------------------------
860
861Do you own an ASUS motherboard?  Perhaps your chip is being
862misidentified.  Look on the motherboard for a 'Winbond' or Asus chip.
863Often the real device is an Asus as99127f. If so, the driver can be
864forced to recognize the as99127f with `force_as99127f=BUS,0x2d' where
865`BUS' is your i2c bus number.  Cat /proc/bus/i2c to see a list of bus
866numbers.  Read the w83781d module documentation (`doc/chips/w83781d')
867for more details.
868
8694.17.6 Bus hangs on Ali 1543 on Asus P5A boards!
870------------------------------------------------
871
872The SMBus tends to hang on this board and it seems to get worse at
873higher temperatures. Use ISA accesses to reliably use the w83781d
874monitor chip on this board and use the `ignore=1,0x2d' or similar option
875to the w83781d module to prevent i2c accesses.
876
8774.17.7 Bad readings from LM75!
878------------------------------
879
880The LM75 detection is poor and other hardware is often misdetected as
881an LM75. Figure out what you really have *Note What chips are on
882motherboard XYZ: Section 3.2.1.
883
8844.17.8 Bad readings from LM78!
885------------------------------
886
887The LM78 is no longer manufactured by National Semiconductor.  You
888probably don't have a real LM78 but something similar that we do not
889recogize or support. Figure out what you really have *Note What chips
890are on motherboard XYZ: Section 3.2.1.
891
8924.17.9 Bad readings from LM80!
893------------------------------
894
895The LM80 detection is poor and other hardware is often misdetected as
896an LM80. Figure out what you really have *Note What chips are on
897motherboard XYZ: Section 3.2.1.
898
8994.18 How do I configure two chips (LM87) differently?
900=====================================================
901
902There is a SuperMicro board with two LM87's on it that are not hooked
903up in the same way, so they need different defaults.  For example, both
904CPU temperatures go to one LM87.
905
906   Make two different sections in `/etc/sensors.conf' as follows:
907     chip "lm87-i2c-*-2c"
908         put configuration for the chip at 0x2c here
909     chip "lm87-i2c-*-2d"
910         put configuration for the chip at 0x2d here
911
912   There is a commented example in `sensors.conf.eg' which should be
913helpful.
914
9154.19 Dmesg says `Upgrade BIOS'! I don't want to!
916================================================
917
918If the problem is a PCI device is not present in `lspci', the solution
919is complex. For the ALI M7101 device, there is a solution which uses the
9202.4 kernel's `hotplug' facility. See `prog/hotplug' in our package.
921For other PCI devices, you can try to modify the m7101 solution in
922`prog/hotplug'.
923
924   If dmesg says `try force_addr', see below. Other drivers generally
925do not support the force_addr parameter. Sorry. Check the documentation
926for your driver in `doc/[chips,busses]' and if we don't support it you
927can send us your request.
928
9294.19.1 Dmesg says `use force_addr=0xaddr'! What address do I use?
930-----------------------------------------------------------------
931
932If the problem is a PCI device whose base address is not set, you may
933be able to set the address with a force parameter. The via686a and
934sis5595 chip drivers, and some bus drivers, support the command line
935`modprobe via686a force_addr=0xADDRESS' where ADDRESS is the I/O
936address. You must select an address that is not in use.  `cat
937`/proc/ioports'' to check (carefully) for conflicts. A high number like
9380xf000 is generally safe.
939
9404.20 Sensors says `Can't access procfs/sysfs file'
941==================================================
942
943   * Linux 2.6
944        * Did you `modprobe i2c_sensor'? Check `lsmod'.
945
946        * Do you have sysfs support in your kernel and `/sys' mounted
947          (is `/sys' there and populated)?  Create /sys with `mkdir
948          /sys' if needed. Then add the following line to `/etc/fstab':
949               sys              /sys             sysfs       default          0   0
950          and `mount /sys'.
951
952   * Linux 2.4
953        * Did you `modprobe i2c-proc'? Check `lsmod'.
954
955        * Do you have procfs support in your kernel and `/proc' mounted
956          (is `/proc' there and populated)?  Create /proc with `mkdir
957          /proc' if needed. Then add the following line to `/etc/fstab':
958               proc             /proc            proc        defaults         0   0
959          and `mount /proc'.
960
961   * If you did `sensors -s', did you run it as root?
962
9634.21 Sensors says `No sensors found!'
964=====================================
965
966   * Did `sensors-detect' find sensors? (If not *note Sensors-detect
967     doesnt find any sensors::)
968
969   * Did you do what `sensors-detect' said?
970
971   * Did you `modprobe' your sensor modules?
972
973   * Did you `modprobe' your I2C adapter modules?
974
975   * Did you `modprobe i2c-isa' if you have ISA sensor chips?
976
977   * Check `lsmod'.
978
9794.22 Sensors output is not correct!
980===================================
981
982What specifically is the trouble?
983   * Labels: *Note The labels for the voltage and temperature readings
984     in sensors are incorrect: Section 3.4.1.
985
986   * Min/max readings: *Note The min and max for the readings in
987     sensors are incorrect: Section 3.4.2, and *Note The min and max
988     settings didnt take effect: Section 3.4.3.
989
990   * AS99127F: *Note I ran sensors-detect but now I get very strange
991     readings?: Section 4.16.
992
993   * Via 686A: *Note I ran sensors-detect but now I get very strange
994     readings?: Section 4.16.
995
996   * Other specific chips: *Note I ran sensors-detect but now I get
997     very strange readings?: Section 4.16.
998
999   * No output for a particular sensors chip: *Note What to do if it
1000     inserts but nothing happens: Section 5.3.
1001
1002   * No output at all: *Note Sensors says No sensors found: Section
1003     4.21, *Note What to do if it inserts but nothing happens: Section
1004     5.3.
1005
1006   * Completely bad output for a particular sensor chip: *Note What to
1007     do if I read only bogus information: Section 5.4.
1008
1009   * One particular sensor readings:
1010        * Maybe it isn't hooked up? - tell 'sensors' to ignore it.
1011          *Note One sensor isnt hooked up on my board: Section 3.4.4.
1012
1013        * Maybe it is hooked up differently on your motherboard? -
1014          adjust `sensors.conf' calculation.
1015
10164.23 What is at I2C address XXX?
1017================================
1018
1019In general, we don't know. Start by running `sensors-detect'.  If it
1020doesn't recognize it, try running `i2cdump'. A partial list of
1021manufacturers' IDs are at the bottom of `doc/chips/SUMMARY'.
1022
10234.23.1 What is at I2C address 0x69?
1024-----------------------------------
1025
1026A clock chip. Often, accessing these clock chips in the wrong way will
1027instantly crash your computer. Sensors-detect carefully avoids these
1028chips, and you should do too.  You have been warned.
1029
10304.23.2 What is at I2C addresses 0x50 - 0x57?
1031--------------------------------------------
1032
1033EEPROMs on your SDRAM DIMMs. Load the eeprom module and use the script
1034`decode-dimms.pl' (in the i2c-tools package) to get more information
1035than you ever wanted.
1036
10374.23.3 What is at I2C addresses 0x30 - 0x37?
1038--------------------------------------------
1039
1040These are often 'shadows' of your EEPROMs on your SDRAM DIMMs at
1041addresses 0x50 - 0x57. They are the 'software write-protect' registers
1042of the SDRAM Serial Presence Detect EEPROMs.  If you try and do a
1043`i2cdump' on them to read the location, you won't get anything, because
1044they contain a single write-only register.  This register can be used
1045to permanently write-protect the contents of the eeprom.
1046
10474.24 Sensors-detect doesn't work at all
1048=======================================
1049
1050It could be many things. What was the problem? *Note Problems on
1051particular motherboards: Section 4.31.
1052
10534.24.1 Sensors-detect says "Couldn't open /proc/bus/i2c?!?"
1054-----------------------------------------------------------
1055
1056You don't have i2c support in your kernel, or the i2c-core module was
1057not loaded and you did not run sensors-detect as root.
1058
10594.24.2 Sensors-detect says "Can't open /dev/i2c[-/]0"
1060-----------------------------------------------------
1061
1062Your `/dev/i2c-0,' `/dev/i2c0', or `/dev/i2c/0' files do not exist or
1063you did not run `sensors-detect' as root.  Use `MAKEDEV' or `mknod' to
1064create the `/dev/i2c-x' files.  Run `devfs' in the kernel to get the
1065`/dev/i2c/x' files.
1066
10674.24.3 Sensors-detect doesn't find any sensors!
1068-----------------------------------------------
1069
1070Either
1071  1. The board doesn't have any sensors.
1072
1073  2. We don't support the sensors on the board.
1074
1075  3. The sensors it has are on an I2C bus connected to an I2C bus
1076     adapter that we don't support.
1077
1078  4. You don't have the latest version of lm_sensors.
1079
1080   But in any case you should figure out what is on the board:
1081  1. Look at your motherboard.
1082
1083  2. Check the manufacturer's website.
1084
1085   When you know what chips you have, check the Driver Status
1086(http://www.lm-sensors.org/wiki/Devices) web page to see if support has
1087been added for your chip in a later release or in SVN.
1088
10894.25 Sensors says `Error: Line xxx: zzzzzzz'
1090============================================
1091
1092These are errors from the libsensors library in reading the
1093`/etc/sensors.conf' configuration file. Go to that line number and fix
1094it. If you have a parse error, perhaps you have to put the feature name
1095in double quotes.
1096
10974.26 Sensors only gives the name and adapter for my chip
1098========================================================
1099
1100If `sensors' only says this, for example, and doesn't provide any
1101actual data at all:
1102
1103     it87-isa-0290
1104     Adapter: ISA adapter
1105
1106   Your chip is not currently supported by `sensors' and so all it does
1107is print out that information. Get the latest release and be sure you
1108are running the `sensors' program it installed and not some older
1109`sensors'.
1110
11114.27 Sensors says `ERROR: Can't get xxxxx data!'
1112================================================
1113
1114   * (Linux 2.6) Make sure you are using one of the recommended
1115     kernel/lm_sensors combination
1116     (http://www.lm-sensors.org/wiki/Kernel2.6).
1117
1118   * You have a `libsensors'/`sensors' mismatch.  `sensors' is unable to
1119     get a data entry from `libsensors'. You probably have an old
1120     `libsensors' in your `/etc/ld.so.conf' path.  Make sure you did
1121     (as root) a `make install' (Linux 2.4) or `make user_install'
1122     (Linux 2.6) followed by a `ldconfig'.  Then check the output of
1123     `ldconfig -v | grep libsensors' to verify that there is only ONE
1124     `libsensors' entry and that it matches the `libsensors' that was
1125     built in the `lib/' directory in `lm_sensors2'.
1126
11274.28 Sensors doesn't find any sensors, just eeproms.
1128====================================================
1129
1130*Note Sensors-detect doesnt work at all: Section 4.24, if
1131`sensors-detect' failed to find any sensors.
1132
1133   If `sensors-detect' did find sensors, did you insert your modules?
1134For chips on the ISA bus, did you insert i2c-isa?
1135
1136   *Note What to do if a module wont insert: Section 5.2, if the
1137modules didn't insert, also *Note Sensors says No sensors found:
1138Section 4.21.
1139
11404.29 Inserting modules hangs my board
1141=====================================
1142
1143There are several possible causes:
1144  1. Bus driver problems. Insert the bus driver first, before you have
1145     inserted any chip drivers, to verify.
1146
1147  2. Wrong chip driver. Verify that you have a chip supported by the
1148     chip driver, see *Note What chips are on motherboard XYZ: Section
1149     3.2.1.
1150
1151  3. The chip driver is reinitializing the chip, which undoes critical
1152     initialization done by the BIOS.  Try the parameter `init=0' for
1153     the w83781d driver; this is the only driver supporting this
1154     parameter.
1155
1156  4. Some chips on the bus don't like to be probed at all.  After
1157     inserting the bus driver (but not the chip drivers), run
1158     `i2cdetect' on the bus, then `i2cdump' on each address responding
1159     to `i2cdetect'. This may find the culprit.  Do not `i2cdump
1160     address 0x69', the clock chip.
1161
1162  5. The chip driver is incorrectly finding a second chip on the bus
1163     and is accessing it. For example, with the Tyan 2688 with a
1164     w83781d at 0x29, use `modprobe
1165     ignore_range=0,0x00,0x28,0,0x2a,0x7f' to prevent access to other
1166     addresses. (`init=0' also req'd for the Tyan 2688).
1167
11684.30 Inserting modules slows down my board
1169==========================================
1170
1171Generally this is caused by an overtemperature alarm output from the
1172sensor chip. This triggers hardware on the board which automatically
1173slows down the CPU clock. Be sure that your temperature limits are
1174above the temperature reading. Put the new limits in
1175`/etc/sensors.conf' and run `sensors -s'.
1176
11774.31 Problems on particular motherboards
1178========================================
1179
1180The following boards have unique problems and solutions.
1181
11824.31.1 Asus P4B
1183---------------
1184
1185See `prog/hotplug/README.p4b' if your SMBus master is not found.
1186
11874.31.2 Tyan 2460, 2462
1188----------------------
1189
1190See support tickets 805, 765, 781, 812, 813, and 867 for information.
1191
11924.31.3 Tyan 2466
1193----------------
1194
1195See support tickets 941, 840, and 841 for information.
1196
11974.31.4 Tyan 2688
1198----------------
1199
1200For board hangs, see support ticket 721 for information.  Also *Note
1201Inserting modules hangs my board: Section 4.29.
1202
12034.32 Problems on 2.6 kernels
1204============================
1205
1206Not all drivers have been ported to 2.6. If your favorite driver is not
1207in 2.6, the reason is that nobody has ported it, or the ported code did
1208not get a proper review yet.  If you would like to port the driver, see
1209the file Documentation/i2c/porting-clients in the 2.6 kernel tree for
1210help, then send us the ported driver when you are done.
1211
12124.32.1 i2c-viapro and via686a
1213-----------------------------
1214
1215Until kernel 2.6.11, there was a PCI resource conflict between
1216i2c-viapro (the SMBus driver for VIA bridges) and via686a (the
1217integrated sensors driver for VIA bridges). This caused the second
1218loaded driver to silently fail working. So do not load both i2c-viapro
1219and via686a together unless you have a recent kernel.
1220
12214.32.2 Where are my EEPROMs?
1222----------------------------
1223
1224The 2.6.14-rc1 kernel introduced the hwmon class, which groups all
1225hardware monitoring drivers in a logical way. The goal was to help
1226libsensors grab the relevant sensors information in /sys. In particular:
1227   * libsensors will no more need to know about the underlying bus types
1228     (I2C/SMBus, ISA or other);
1229
1230   * libsensors will no more list non-hardware monitoring chips.
1231   This explains why EEPROMs are no more displayed by `sensors': they
1232are no hardware monitoring chips. The medium term plan is to drop
1233eeprom support for all Linux 2.6 kernels, as it didn't fit well in the
1234library code in the first place.
1235
1236   Note that you can still obtain information about your EEPROMs by
1237using the dedicated perl scripts in the i2c-tools package: `ddcmon',
1238`decode-dimms.pl', `decode-edid.pl' and `decode-vaio.pl'.
1239
12405 How to Ask for Help
1241*********************
1242
12435.1 What to send us when asking for help
1244========================================
1245
1246We are always willing to answer questions if things don't work out.
1247Post your question to our discussion list
1248(http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), and not the
1249individual authors, unless you have something private to say.
1250
1251   Instead of using email, you can also use the web-based support area,
1252at `http://www.lm-sensors.org/wiki/FeedbackAndSupport'. You will be
1253helped just as fast, and others may profit from the answer too. You
1254will be emailed automatically when your question has been answered.
1255
1256   Here's what you should send us:
1257
1258   * The dmesg or syslog output if applicable
1259
1260   * The output of (as root) `prog/detect/sensors-detect'
1261
1262   * The output of `lsmod'
1263
1264   * If a PCI chip problem:
1265        * The output of `lspci -n'
1266
1267   * If an I2C sensor chip problem:
1268        * The output of (as root) `prog/detect/i2cdetect X' where X =
1269          the bus number (run `i2cdetect' with no arguments to list the
1270          busses) (please send this only if it's not all `XX')
1271
1272        * The output of (as root) `prog/dump/i2cdump X 0xXX' where XX =
1273          the address of each chip you see in the output of
1274          `i2cdetect'. (run once for each chip) (please send this only
1275          if it's not all `ff')
1276
1277   * If an ISA sensor chip problem:
1278        * The output of (as root) `prog/dump/isadump 0x295 0x296' (only
1279          if it's not all `XX')
1280
1281   * Part numbers of chips on your motherboard you think are the sensor
1282     chips (look at your motherboard)
1283
1284   * Motherboard type
1285
1286   * Sensors version
1287
1288   * Kernel version
1289
12905.2 What to do if a module won't insert?
1291========================================
1292
1293Did you use `modprobe' instead of `insmod'??? Don't use insmod.
1294
1295   Were there unresolved symbols? Did you run `depmod -a'? Run `depmod
1296-a -e' to see where the symbol problem is.
1297
1298   ALWAYS inspect the output of `dmesg'. That's where the error
1299messages come out!!! Don't rely on the generic message from `modprobe'.
1300If you still can't figure it out, send us the information listed above.
1301
13025.3 What to do if it inserts, but nothing happens?
1303==================================================
1304
1305For an ISA sensor chip, did you also `modprobe i2c-isa'? It must be
1306inserted.
1307
1308   For an I2C sensor chip, did you also `modprobe i2c-xxx' where xxx is
1309your I2C bus adapter? It must be inserted.
1310
1311   Always inspect the output of `dmesg'. That's where the error
1312messages come out. If you still can't figure it out, send us the
1313information listed above.
1314
13155.4 What to do if I read only bogus information?
1316================================================
1317
1318It may be that this was a mis-detection: the chip may not be present.
1319If you are convinced there is something wrong, verify that you indeed
1320have the devices on your motherboard that you think you do.  Look at
1321the motherboard and make sure. If you are still stuck, please send us
1322the usual information (*note Help::)
1323
13245.5 What to do if you have other problems?
1325==========================================
1326
1327Again, send the output listed above.
1328
13295.6 What if it just works like a charm?
1330=======================================
1331
1332Drop us a mail if you feel like it, mentioning the mainboard and
1333detected chip type. That way, we have some positive feedback, too!
1334
13355.7 How do I update a ticket?
1336=============================
1337
1338You can't. Only developers can. Follow up by emailing us and reference
1339your ticket number in the subject. Please don't enter a new ticket with
1340follow-up information, email us instead. Thanks.
1341
13425.8 How do I follow up on a ticket?
1343===================================
1344
1345Follow up by emailing us and reference your ticket number in the
1346subject.
1347
13485.9 Why did you decide not to support undocumented chips?
1349=========================================================
1350
1351There are several reasons why we are generally not interested in writing
1352drivers for undocumented chips:
1353
1354   * Writing a driver without a datasheet is much harder, as you have to
1355     guess most things. Remember that, most of the time, we write
1356     drivers for fun and for free, so there is no reason we would write
1357     a driver in conditions that promise more pain than fun.
1358
1359   * If we hit a problem, we are certain never to get any support from
1360     the chip manufacturer. This means that we may spend days on code
1361     which will finally never work.
1362
1363   * There are several chips out there which are fully documented and
1364     lack a driver. This is natural for us to give these the priority
1365     when we finally have some spare time to spend on driver coding.
1366
1367   * Hardware monitoring chips are not toys. Misprogramming them can
1368     result in data loss or hardware breakage. This is obviously more
1369     likely to happen with undocumented chips. This is a responsability
1370     we do not want to endorse (the GPL is pretty clear than we are not
1371     legally liable, but still).
1372
1373   There are also several reasons why we do not want to support such
1374drivers, even if they were written by other people:
1375
1376   * Problems are much more likely to happen with such drivers.  This
1377     means increased needs of support. User support if very
1378     time-consuming and we are usually short of time.
1379
1380   * Support should be done by the driver author (as only him/her knows
1381     the driver and chip) but in the reality of facts, people will
1382     always ask us for help if the driver is part of our package.
1383     Redirecting all user requests to the driver's author manually is
1384     boring.
1385
1386   * The lack of datasheet usually results in an original driver which
1387     works relatively fine for its author, but will happen not to work
1388     completely for other users. This means that the driver will need
1389     many more additions and fixes than other drivers do, resulting in
1390     an increased maitainance workload, which we can hardly afford. Of
1391     course this too should be handled by the original driver author,
1392     but we never know whether he/she will actually do the work.
1393
1394   Lastly, there are other considerations, some of which are
1395deliberately political:
1396
1397   * We do not want to trick hardware buyers into thinking that a chip
1398     is fully supported under Linux when in fact it is only partly
1399     supported by a driver which was written without a datasheet.
1400     Clearly stating that such chips are not supported makes it much
1401     easier for anyone who really needs fully working hardware
1402     monitoring under Linux to avoid motherboards with these partly
1403     supported chips.
1404
1405   * Drivers written without a datasheet are a pain for developers and
1406     users, but are a complete win for the manufacturers of these chips:
1407     they don't have to write the driver, they don't have to help us,
1408     they don't have to support the users, and they still sell their
1409     hardware. We do not want to encourage such a selfish behavior.
1410
1411   That being said, authors of such drivers can still submit their code
1412to the Linux kernel folks for inclusion into Linux 2.6. Their driver
1413may be accepted there, under conditions.
1414
1415   If such a driver is ever accepted into the Linux 2.6 tree, and
1416someone provides a patch to libsensors and/or sensors to add support
1417for this driver, we will apply it. This generic code is unlikely to
1418cause trouble.
1419
14206 How to Contribute
1421*******************
1422
14236.1 How to write a driver
1424=========================
1425
1426See `doc/developers/new_drivers' in our package for instructions.
1427
14286.2 How to get SVN access
1429=========================
1430
1431For anonymous SVN read access, see the instructions on our download
1432page (http://www.lm-sensors.org/wiki/Download).
1433
1434   For write access, please contact us.
1435
14366.3 How to donate hardware to the project
1437=========================================
1438
1439Contact us (http://www.lm-sensors.org/wiki/FeedbackAndSupport).
1440
14416.4 How to join the project mailing lists
1442=========================================
1443
1444There are two lists you can subscribe to:
1445
1446   * A general discussion list
1447     (http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), meant
1448     for both development and user support. You do not need to be
1449     subscribed to post.
1450
1451   * A CVS commits list
1452     (http://lists.lm-sensors.org/mailman/listinfo/lm-sensors-commit),
1453     for watching the changes made to the CVS repositories. This list
1454     is read-only.
1455
14566.5 How to access mailing list archives
1457=======================================
1458
1459The primary mailing list archive is at:
1460`http://lists.lm-sensors.org/pipermail/lm-sensors/'.  It contains
1461messages since October 28, 2001.
1462
1463   There is another mailing list archive at:
1464`http://news.gmane.org/gmane.linux.drivers.sensors'.  It contains
1465messages since December 31, 2004.  This archive may also be accessed
1466via a news reader: `nntp://news.gmane.org/gmane.linux.drivers.sensors'
1467and RSS: `http://rss.gmane.org/gmane.linux.drivers.sensors'.
1468
1469   And last there is a legacy archive at:
1470`http://archives.andrew.net.au/lm-sensors'.  It contains messages from
1471October 28, 2001 through May 16, 2005.
1472
14736.6 How to submit a patch
1474=========================
1475
1476Check out the latest from CVS, then copy the directory to another
1477directory, and make your changes. Generate the diff with `diff -u2 -r
1478DIR1 DIR2'. Or you can generate the diff in CVS with `cvs diff -u2'.
1479Send us the patch in an email and tell us what it does.
1480
14816.7 How to REALLY help
1482======================
1483
1484Believe it or not, what we really need help with are:
1485   * Answering email
1486
1487   * Answering support tickets
1488
1489   * Porting drivers to Linux 2.6
1490
1491   * Creating a sensors.conf database
1492
1493   * Reviewing patches
1494
1495   If you are willing to help, simply join our discussion list
1496(http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), and we'll
1497help you help us.
1498
14996.8 How to get release announcements
1500====================================
1501
1502We don't have a separate release announcement mailing list; however, we
1503put all our releases on freshmeat: `http://freshmeat.net' and you can
1504register on our freshmeat project page
1505`http://freshmeat.net/projects/lm_sensors' to 'subscribe to new
1506releases' and then freshmeat will email you announcement.
1507
1508Appendix A Revision History of This Document
1509********************************************
1510
1511   * Rev 2.18 (JD) Removed version 1 specifics part, 2005-12-17
1512
1513   * Rev 2.17 (JD) Added 5.9 (why we don't support undocumented chips),
1514     removed 6.9 (doesn't apply to the new mailing list), 2005-10-05
1515
1516   * Rev 2.16 (JD) Added 4.33.2, 2005-09-06
1517
1518   * Rev 2.15 (JD) Updates, including mailing-list change, 2005-05-21
1519
1520   * Rev 2.14 (MDS) Updated 4.12, 2004-11-26
1521
1522   * Rev 2.13 (JD) Added 4.6.1, updated 4.7, 2004-06-23
1523
1524   * Rev 2.12 (JD) Updated 4.27, 2004-04-11
1525
1526   * Rev 2.11 (JD) Various updates, 2004-01-18
1527
1528   * Rev 2.10 (MDS) Various updates, 2004-01-03
1529
1530   * Rev 2.9 (CP) Converted to Gnu texinfo format, 2002-09-10
1531
1532   * Rev 2.8 (MDS) Minor updates 2002-07-10, released with lm_sensors
1533     2.6.4
1534
1535   * Rev 2.7 (MDS) Minor updates 2002-04-25
1536
1537   * Rev 2.6 (MDS) Minor updates 2002-01-15, released with lm_sensors
1538     2.6.3
1539
1540   * Rev 2.5 (MDS) Minor updates 2001-11-11, released with lm_sensors
1541     2.6.2
1542
1543   * Rev 2.4 (MDS) Minor updates 2001-07-22
1544
1545   * Rev 2.3 (MDS) General update, 2001-02-24, released with lm_sensors
1546     2.6.0.
1547
1548   * Rev 2.2 (Frodo) Corrections for lm_sensors 2.4, 1999-09-20
1549
1550   * Rev 2.1 (Frodo) Corrections for lm_sensors 2.2, 1999-01-12
1551
1552   * Rev 2.0 (Frodo) Major revision for lm_sensors 2.1, 1998-12-29
1553
1554   * Rev 1.10 (Frodo) Modified 3.8, updated some other things,
1555     1998-09-24
1556
1557   * Rev 1.9 (Frodo) Added 3.15, 1998-09-06
1558
1559   * Rev 1.8 (Frodo) Added 3.14, 1998-09-05
1560
1561   * Rev 1.7 (Phil) Added 3.13 and some other minor changes, 1998-09-01
1562
1563   * Rev 1.6 (Frodo) Added 4, 4.1, 4.2, 4.3, 4.4, 4.5, 1998-09-01
1564
1565   * Rev 1.5 (Frodo) Added 2.3, 2.4, 3.9, 3.10, 3.11, 1998-08-26
1566
1567   * Rev 1.4 (Frodo) Added some more Winbond information, and 3.5-3.8,
1568     1998-08-17
1569
1570   * Rev 1.3 (Phil) Added info on the Winbond chip, 1998-08-16
1571
1572   * Rev 1.2 (Frodo) Adapation, 1998-08-10
1573
1574   * Rev 1.1 (Phil) Modifications, 1998-08-09
1575
1576   * Rev 1.0 (Phil) First version, 1998-08-03
1577
Note: See TracBrowser for help on using the browser.