root/lm-sensors/trunk/doc/FAQ @ 4197

Revision 4197, 62.7 KB (checked in by khali, 8 years ago)

Delete the icspll driver. It was rather useless, not built by default,
supposedly dangerous, and has nothing to do with sensors.

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