root/lm-sensors/branches/lm-sensors-2.10/doc/FAQ

Revision 5616, 62.2 KB (checked in by khali, 3 years ago)

Don't tell users to blindly run i2cdump, it is dangerous!

  • 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 "links" (http://www.lm-sensors.org/wiki/UsefulLinks)
359     page on our website (http://www.lm-sensors.org) some good
360     cross-references.
361
3623.2.2 Do you support motherboard XYZ?
363-------------------------------------
364
365We don't support boards, we support chips. *Note What chips are on
366motherboard XYZ: Section 3.2.1.
367
3683.2.3 Do you support chip XYZ?
369------------------------------
370
371This we have good answers for.
372   * Sorted by Manufacturer:   `README'
373
374   * Sorted by Manufacturer:   `http://www.lm-sensors.org/wiki/Devices'
375
376   * Sorted by Sensor Driver:  `doc/chips/SUMMARY'
377
3783.2.4 Anybody working on a driver for chip XYZ?
379-----------------------------------------------
380
381Newest Driver Status: `http://www.lm-sensors.org/wiki/Devices'
382
3833.3 Which modules should I insert?
384==================================
385
386`sensors-detect' will tell you. Take the `modprobe' lines it recommends
387and paste them into the appropriate `/etc/rc.d/xxxx' file to be
388executed at startup.
389
390   You need one module for each sensor chip and bus adapter you own; if
391there are sensor chips on the ISA bus, you also need `i2c-isa.o'.  for
392each type of chip you own. That's all. On my computer, I could use the
393following lines:
394   * `modprobe i2c-isa'
395
396   * `modprobe i2c-piix4'
397
398   * `modprobe lm78'
399
400   * `modprobe lm75'
401
402   * `modprobe i2c-dev'
403
404   * `sensors -s'
405
4063.4 Do I need the configuration file `/etc/sensors.conf'?
407=========================================================
408
409Yes, for any applications that use `libsensors,' including the
410`sensors' application included in our package.  It tells libsensors how
411to translate the values the chip measures to real-world values. This is
412especially important for voltage inputs. The default configuration file
413should usually do the trick.  It is automatically installed as
414`/etc/sensors.conf', but it will not overwrite any existing file with
415that name.
416
4173.4.1 The labels for the voltage and temperature readings in `sensors' are incorrect!
418-------------------------------------------------------------------------------------
419
420Every motherboard is different. You can customize the labels in the
421file `/etc/sensors.conf'. That's why it exists!  The default labelling
422(in `lib/chips.c' and `/etc/sensors.conf') is just a template.
423
4243.4.2 The min and max for the readings in `sensors' are incorrect!
425------------------------------------------------------------------
426
427You can customize them in the file `/etc/sensors.conf'. See above.
428
4293.4.3 The min and max settings in `/etc/sensors.conf' didn't take effect!
430-------------------------------------------------------------------------
431
432You forgot to run `sensors -s'. See above.
433
4343.4.4 One sensor isn't hooked up on my board!
435---------------------------------------------
436
437Use an `ignore' line in `/etc/sensors.conf' so it isn't displayed in
438`sensors'.
439
4403.4.5 I need help with `sensors.conf'!
441--------------------------------------
442
443There is detailed help at the top of that file.
444
4453.4.6 Do you have a database of `sensors.conf' entries for specific boards?
446---------------------------------------------------------------------------
447
448No. Good idea though. If you would like to set one up on your website
449send us mail and we will set up a link to it.
450
4513.5 What about the `No such file or directory' warnings when I compile?
452=======================================================================
453
454Don't worry about them. The dependency files (which tell which files
455should be recompiled when certain files change) are created
456dynamically. They are not distributed with the package. The `make'
457program notices they are not there, and warns about that - and the
458first thing it will do is generate them. So all is well.
459
4603.6 I get all kinds of weird compilation errors?
461================================================
462
463Check that the correct i2c header files are used. Depending on how you
464installed, they should be under either `/usr/local/include' or
465`/usr/src/linux*/include'. Try to edit the `Makefile' for the other
466setting.
467
4683.6.1 `No rule to make target xxxx needed by xxxx' - how to fix?
469----------------------------------------------------------------
470
471   * *Note I get all kinds of weird compilation errors: Section 3.6,
472     also try `make clean' in `lm_sensors'.
473
474   * If that doesn't work, try `make clean' in `i2c'.
475
476   * If that doesn't work, try `make clean' in the kernel.
477
478   * Also make sure `/usr/include/linux' points to
479     `/usr/src/linux/include/linux'.
480
4813.7 It still does not compile or patch!
482=======================================
483
484Have you installed the matching version of the i2c package? Remember,
485compilation is not enough, you also need to install it for the header
486files to be found!
487
488   If you want to patch the kernel, you will have to apply the i2c
489patches first!
490
4913.8 `make install' fails on Mandrake kernels
492============================================
493
494Mandrake uses a non-standard `version.h' file which confuses our
495`Makefile'.  Edit our `Makefile' on the `MODDIR :=' line to hard-code
496the module directory.
497
4983.9 I get unresolved symbols when I `modprobe' modules (Red Hat especially)
499===========================================================================
500
501Example:
502     *** Unresolved symbols in /lib/modules/2.4.5/kernel/drivers/i2c/i2c-i810.o
503     i2c_bit_add_bus_R8c3bc60e
504     i2c_bit_del_bus_R92b18f49
505
506   You can also run `depmod -a -e' to see all unresolved symbols.
507
508   These are module versioning problems. Generally you did not compile
509against the kernel you are running. Sometimes the Red Hat source you
510have is not for the kernel you are running.  You must compile our
511package against the source for the kernel you are running with
512something like `make LINUX=/usr/src/linux-2.4.14'.
513
514   Try the following to be sure:
515
516   * `nm --extern MODULE.o' Filter out the kernel symbols, like
517     `kmalloc', `printk' etc. and note the number code behind them,
518     like `printk_R1b7d4074'. If there is no numeric code after them,
519     note this too.
520
521   * `grep SYMBOL /proc/ksyms' Substitute SYMBOL by the basename of the
522     symbols above, like `kmalloc', `printk' etc. Note the number code
523     behind them, or the lack thereof.
524
525   * Compare both sets of symbols. Are they the same? If so, the problem
526     lies somewhere else. Are they different? If so, you have a module
527     versioning problem.
528
5293.10 I2C_DRIVERID_ADM1024 undefined (Red Hat especially)
530========================================================
531
532In some versions of Redhat, an RPM is included to provide i2c support.
533However, this RPM does not place the header files in the kernel
534directory structure.  When you update kernels, they may persist.  To
535get rid of these obsolete header files, at a command prompt:
536
537  1. `rpm -qa | grep i2c'
538
539  2. Look for `kernel-i2c,' or a similar rpm in the output
540
541  3. <as root> `rpm -ev kernel-i2c' (or the name of the similar package)
542     If this complains about dependencies, you can try adding
543     `--nodeps', but this *MAY* break something else.  Not likely, as
544     you have upgraded kernels, and nothing should be using the old i2c
545     stuff anymore anyway.  Just don't use it with abandon.
546
547  4. Try (in the build directory of `lm_sensors)'
548          `make clean'
549          `make'
550
551  5. _If_ you still have problems, you may have to replace the include
552     paths in the `.c/.h' files with absolute paths to the header files.
553     More of a workaround than a real fix, but at least you can get it
554     to work.
555
5564 Problems
557**********
558
5594.1 My fans report exactly half/double their values compared to the BIOS?
560=========================================================================
561
562The problem with much of the sensor data is that it is impossible to
563properly interpret some of the readings without knowing what the
564hardware configuration is.  Some fans report one 'tick' each rotation,
565some report two 'ticks' each rotation. It is easy to resolve this
566through the configuration file `/etc/sensors.conf':
567
568     chip lm78-*             # Or whatever chip this relates to
569     compute fan1 2*@,@/2    # This will double the fan1 reading
570                             # -- or --
571     compute fan1 @/2,2*@    # This will halve the fan1 reading
572
573   See `doc/fan-divisors' in our package for further information.
574
5754.1.1 Fans sometimes/always read 0!!
576------------------------------------
577
578You may not have a three-wire fan, which is required.
579
580   You may need to increase the 'fan divisor'. See `doc/fan-divisors'
581in our package for further information.
582
5834.1.2 I doubled the fan divisor and the fan still reads 7000!
584-------------------------------------------------------------
585
586Believe it or not, doubling the 'fan divisor' will not halve the fan
587reading. You have to add a compute line in `/etc/sensors.conf'.  *Note
588My fans report exactly half/double their values compared to the BIOS:
589Section 4.1, and see `doc/fan-divisors' in our package for further
590information.
591
5924.2 Why do my two LM75's report "-48 degrees"?
593==============================================
594
595For starters, those aren't LM75's.  Your mainboard actually has the
596Winbond W83781D which emulates two LM75's, but many systems which use
597the Winbond chip (such as the Asus P2B) don't have the thermo-resisters
598connected to the chip resulting in these strange -48 degree readings.
599
600   In upcoming versions, you will be able to disable non-interesting
601readings.
602
6034.3 Why do I have two Vcore readings, I have only one processor!
604================================================================
605
606The LM78 has seven voltage sensors. The default way of connecting them
607is used in the configuration file. This includes a VCore2, even if you
608do not have one. You can easily edit the configuration file to give it
609another name, or make this reading disappear using an `ignore' line.
610
611   Note that Vcore2 is often the same as Vcore on motherboards which
612only support one processor. Another possibility is that Vcore2 is not
613connected at all and will not have a valid reading at all.  A third
614possibility, is that Vcore2 monitors something else, so you should not
615be too surprised if the values are completely different.
616
6174.4 How do those ALARMS work? The current value is within range but there is still an ALARM warning!
618====================================================================================================
619
620The ALARM indications in `sensors' are those reported by the sensor
621chip itself. They are NOT calculated by `sensors'. `sensors' simply
622reads the ALARM bits and reports them.
623
624   An ALARM will go off when a minimum or maximum limit is crossed.
625The ALARM is then latched - that is, it will stay there until the
626chip's registers are next accessed - which will be the next time you
627read these values, but not within (usually) 1.5 seconds since the last
628update.
629
630   Reading the registers clears the ALARMS, unless the current value is
631still out of range.
632
633   The purpose of this scheme is to tell you if there has been a
634problem and report it to the user. Voltage or temperature spikes get
635detected without having to read the sensor chip hundreds of times a
636second. The implemetation details depend a bit on the kind of chip.
637See the specific chip documentation in `doc/chips' and the chip
638datasheet for more information.
639
6404.5 My voltage readings seem to drift a bit. Is something wrong?
641================================================================
642
643No, probably not. If your motherboard heats up a bit, the sensed
644voltages will drift a bit. If your power supply is loaded (because a
645disk gets going, for example), the voltages may get a bit lower. Heavy
646processor activity, in particular, dramatically increases core voltage
647supply load which will often cause variation in the other supplies.  As
648long as they stay within a sensible range (say 5% of the nominal value
649for CPU core voltages, and 10% for other voltages), there is no reason
650to worry.
651
6524.6 Some measurements are way out of range. What happened?
653==========================================================
654
655Each module tries to set limits to sensible values on initialization,
656but a module does not know how a chip is actually connected. This is
657described in the configuration file, which is not read by kernel
658modules.  So limits can be strange, if the chip is connected in a
659non-standard way.
660
661   Readings can also be strange; there are several reasons for this.
662Temperature sensors, for example, can simply not be present, even though
663the chip supports them. Also, it can be that the input is used in a
664non-standard way. You can use the configuration file to describe how
665this measurement should be interpreted; see the comments the example
666file for more information.
667
6684.6.1 -5V and -12V readings are way out of range!
669-------------------------------------------------
670
671It's very frequent that negative voltage lines are not wired because
672motherboard manufacturers don't think they're worth monitoring (they
673are mostly unused these days). You can just add `ignore inN' lines to
674`/etc/sensors.conf' to hide them.
675
676   Another possibility is that these lines are used to monitor different
677voltages. Only the motherboard manufacturer can tell for sure. Taking a
678look at what voltage values the BIOS displays may provide valuable
679hints though.
680
6814.7 What are VID lines? Why is the VID reading wrong?
682=====================================================
683
684These describe the core voltage for your processor. They are supported
685for most processors, however they are not always correctly connected to
686the sensor chip, so the readings may be invalid.  A reading of 0V,
687+3.5V or +2.05V is especially suspect.  If this is the case, add a line
688`ignore vid' to `/etc/sensors.conf', and change the min and max
689settings for the Processor Core voltage (often in0_min and in0_max) in
690that file so that they don't depend on vid.
691
692   The CPU nominal voltage is computed from VID lines according to a
693formula that depends on the CPU type. Most chips that report a VID
694value can be configured to use either VRM 8.2 (for Pentium III) or VRM
6959.0 (for Pentium 4 and Athlon). You chose which one you want through
696`/etc/sensors.conf'.  See `doc/vid' for more information.
697
6984.8 I read sensor values several times a second, but they are only updated only each second or so. Why?
699=======================================================================================================
700
701If we would read the registers more often, it would not find the time
702to update them. So we only update our readings once each 1.5 seconds
703(the actual delay is chip-specific; for some chips, it may not be needed
704at all).
705
7064.9 It sometimes seems to take almost a second before I see the sensor reading results. Why?
707============================================================================================
708
709ISA bus access is fast, but SMBus access is really slow. If you have a
710lot of sensors, it just takes a lot of time to access them. Fortunately,
711this has almost no impact on the system as a whole, as another job can
712run while we are waiting for the transaction to finish.
713
7144.10 Can I be alerted when an ALARM occurs?
715===========================================
716
717No, you can't; and it may well be never supported.
718
719   Almost no mainboard we have encountered have actually connected the
720IRQ-out pin of sensor chips. That means that we could enable IRQ
721reporting, but nothing would happen. Also, even if a motherboard has it
722connected, it is unclear what interrupt number would be triggered. And
723IRQ lines are a scarce facility, which means that almost nobody would
724be able to use it anyway.
725
726   The SMI interrupt is only available on a few types of chips. It is
727really a very obscure way to handle interrupts, and supporting it under
728Linux might be quite hard to do.
729
730   Your best bet would be to poll the alarm file with a user-land daemon
731which alerts you if an alarm is raised. I am not aware of any program
732which does the job, though you might want to examine one of the
733graphical monitor programs under X, see
734`http://www.lm-sensors.org/wiki/UsefulLinks' for addresses.
735
7364.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?
737==============================================================================
738
739Some chips which mainboard makers connect to the SMBus are not SMBus
740devices.  An example is the 91xx clock generator chips.  When read,
741these devices can lock up the SMBus until the next hard reboot.  This
742is because they have a similar serial interface (like the I2C), but
743don't conform to Intel's SMBus standard.
744
745   Why did they connect these devices to the SMBus if they aren't
746compatible?  Good question! :')  Actually, these devices may support
747being written to, but lock things up when they are read.
748
7494.12 My BIOS reports a much higher CPU temperature than your modules!
750=====================================================================
751
752We display the actual temperature of the sensor. This may not be the
753temperature you are interested in, though.  If a sensor should measure
754the CPU temperature, it must be in thermal contact with it.  In
755practice, it may be just somewhere nearby. Your BIOS may correct for
756this (by adding, for example, thirty degrees to the measured
757temperature).  The correction factor is regrettably different for each
758mainboard, so we can not do this in the module itself. You can do it
759through the configuration file, though:
760
761     chip lm75-*-49                      # Or whatever chip this relates to
762     label temp "Processor"
763     compute temp @*1.2+13,(@-13)/1.2    # Or whatever formula
764
765   However, the offset you are introducing might not be necessary. If
766you tried to have Linux idle temperature and BIOS "idle" temperature
767match, you may be misguided.  We have a Supermicro (370DLE) motherboard
768and we know that its BIOS has a closed, almost undelayed while(1) loop
769that keeps the CPU busy all the time. Linux reads 26 degrees idle, BIOS
770reads 38 degrees. Linux at full load is in the 35-40 degrees range so
771this makes sense.
772
7734.13 I try to read the raw `/proc' files, but the values are strange?!?
774=======================================================================
775
776Remember, these values do not take the configuration file `compute'
777lines in account. This is especially obvious for voltage readings
778(usually called in? or vin?). Use a program linked to libsensors (like
779the provided `sensors' program) instead.
780
7814.14 How do I set new limits?
782=============================
783
784Change the limit values in `/etc/sensors.conf' and then run `sensors
785-s'.
786
7874.14.1 I set new limits and it didn't work?
788-------------------------------------------
789
790You forgot to run `sensors -s'. Put it in a `/etc/rc.d/...' file after
791the modprobe lines to run at startup.
792
7934.15 Some sensors are doubly detected?
794======================================
795
796Yes, this is still a problem. It is partially solved by alias detection
797and confidence values in sensors-detect, but it is really tough.
798
799   Double detections can be caused by two things: sensors can be
800detected to both the ISA and the SMBus (and if you have loaded the
801approprate adapter drivers, it will be detected on both), and some
802chips simulate other chips (the Winbond W83781D simulates LM75 chips on
803the SMBus, for example). Remove the offending adapter or chip driver, or
804run sensors-detect and add the `ignore=' modprobe parameters it
805suggests.
806
8074.16 I ran sensors-detect, but now I get very strange readings?!?
808=================================================================
809
810Your SMBus (PIIX4?) is probably crashed or hung. There are some
811mainboards which connect a clock chip to the SMBus. Unfortunately, this
812clock chip hangs the PIIX4 if it is read (it is an I2C device, but not
813SMBus compatible).  We have found no way of solving this, except for
814rebooting your computer.  Next time when you run sensors-detect, you
815may want to exclude addresses 0x69 and/or 0x6a, by entering `s' when
816you are asked whether you want to scan the PIIX4.
817
8184.17 Bad readings from particular chips
819=======================================
820
821See below for some particularly troublesome chips.  Also be sure and
822check `doc/chips/xxxxx' for the particular driver.
823
8244.17.1 Bad readings from the AS99127F!
825--------------------------------------
826
827The Asus AS99127F is a modified version of the Winbond W83781D.  Asus
828will not release a datasheet. The driver was developed by tedious
829experimentation. We've done the best we can. If you want to make
830adjustments to the readings please edit `/etc/sensors.conf.' Please
831don't ask us to fix the driver. Ask Asus to release a datasheet.
832
8334.17.2 Bad readings from the VIA 686A!
834--------------------------------------
835
836The Via 686A datasheet is incomplete.  Via will not release details.
837The driver was developed by tedious experimentation. We've done the
838best we can. If you want to make adjustments to the readings please
839edit `/etc/sensors.conf.' Please don't ask us to fix the driver. Ask
840Via to release a better datasheet.  Also, don't forget to `modprobe
841i2c-isa'.
842
8434.17.3 Bad readings from the MTP008!
844------------------------------------
845
846The MTP008 has programmable temperature sensor types.  If your sensor
847type does not match the default, you will have to change it.  See
848`doc/chips/mtp008' for details.  Also, MTP008 chips seem to randomly
849refuse to respond, for unknown reasons. You can see this as 'XX'
850entries in i2cdump.
851
8524.17.4 Bad temperature readings from the SIS5595!
853-------------------------------------------------
854
855This chip can use multiple thermistor types and there are also two
856different versions of the chip. We are trying to get the driver working
857better and develop formulas for different thermistors but we aren't
858there yet. Sorry.  Also, many times the chip isn't really a sis5595 but
859it was misidentified. We are working on improving that too.
860
8614.17.5 Bad readings from a w8378[12]d!
862--------------------------------------
863
864Do you own an ASUS motherboard?  Perhaps your chip is being
865misidentified.  Look on the motherboard for a 'Winbond' or Asus chip.
866Often the real device is an Asus as99127f. If so, the driver can be
867forced to recognize the as99127f with `force_as99127f=BUS,0x2d' where
868`BUS' is your i2c bus number.  Cat /proc/bus/i2c to see a list of bus
869numbers.  Read the w83781d module documentation (`doc/chips/w83781d')
870for more details.
871
8724.17.6 Bus hangs on Ali 1543 on Asus P5A boards!
873------------------------------------------------
874
875The SMBus tends to hang on this board and it seems to get worse at
876higher temperatures. Use ISA accesses to reliably use the w83781d
877monitor chip on this board and use the `ignore=1,0x2d' or similar option
878to the w83781d module to prevent i2c accesses.
879
8804.17.7 Bad readings from LM75!
881------------------------------
882
883The LM75 detection is poor and other hardware is often misdetected as
884an LM75. Figure out what you really have *Note What chips are on
885motherboard XYZ: Section 3.2.1.
886
8874.17.8 Bad readings from LM78!
888------------------------------
889
890The LM78 is no longer manufactured by National Semiconductor.  You
891probably don't have a real LM78 but something similar that we do not
892recogize or support. Figure out what you really have *Note What chips
893are on motherboard XYZ: Section 3.2.1.
894
8954.17.9 Bad readings from LM80!
896------------------------------
897
898The LM80 detection is poor and other hardware is often misdetected as
899an LM80. Figure out what you really have *Note What chips are on
900motherboard XYZ: Section 3.2.1.
901
9024.18 How do I configure two chips (LM87) differently?
903=====================================================
904
905There is a SuperMicro board with two LM87's on it that are not hooked
906up in the same way, so they need different defaults.  For example, both
907CPU temperatures go to one LM87.
908
909   Make two different sections in `/etc/sensors.conf' as follows:
910     chip "lm87-i2c-*-2c"
911         put configuration for the chip at 0x2c here
912     chip "lm87-i2c-*-2d"
913         put configuration for the chip at 0x2d here
914
915   There is a commented example in `sensors.conf.eg' which should be
916helpful.
917
9184.19 Dmesg says `Upgrade BIOS'! I don't want to!
919================================================
920
921If the problem is a PCI device is not present in `lspci', the solution
922is complex. For the ALI M7101 device, there is a solution which uses the
9232.4 kernel's `hotplug' facility. See `prog/hotplug' in our package.
924For other PCI devices, you can try to modify the m7101 solution in
925`prog/hotplug'.
926
927   If dmesg says `try force_addr', see below. Other drivers generally
928do not support the force_addr parameter. Sorry. Check the documentation
929for your driver in `doc/[chips,busses]' and if we don't support it you
930can send us your request.
931
9324.19.1 Dmesg says `use force_addr=0xaddr'! What address do I use?
933-----------------------------------------------------------------
934
935If the problem is a PCI device whose base address is not set, you may
936be able to set the address with a force parameter. The via686a and
937sis5595 chip drivers, and some bus drivers, support the command line
938`modprobe via686a force_addr=0xADDRESS' where ADDRESS is the I/O
939address. You must select an address that is not in use.  `cat
940`/proc/ioports'' to check (carefully) for conflicts. A high number like
9410xf000 is generally safe.
942
9434.20 Sensors says `Can't access procfs/sysfs file'
944==================================================
945
946   * Linux 2.6
947        * Did you `modprobe i2c_sensor'? Check `lsmod'.
948
949        * Do you have sysfs support in your kernel and `/sys' mounted
950          (is `/sys' there and populated)?  Create /sys with `mkdir
951          /sys' if needed. Then add the following line to `/etc/fstab':
952               sys              /sys             sysfs       default          0   0
953          and `mount /sys'.
954
955   * Linux 2.4
956        * Did you `modprobe i2c-proc'? Check `lsmod'.
957
958        * Do you have procfs support in your kernel and `/proc' mounted
959          (is `/proc' there and populated)?  Create /proc with `mkdir
960          /proc' if needed. Then add the following line to `/etc/fstab':
961               proc             /proc            proc        defaults         0   0
962          and `mount /proc'.
963
964   * If you did `sensors -s', did you run it as root?
965
9664.21 Sensors says `No sensors found!'
967=====================================
968
969   * Did `sensors-detect' find sensors? (If not *note Sensors-detect
970     doesnt find any sensors::)
971
972   * Did you do what `sensors-detect' said?
973
974   * Did you `modprobe' your sensor modules?
975
976   * Did you `modprobe' your I2C adapter modules?
977
978   * Did you `modprobe i2c-isa' if you have ISA sensor chips?
979
980   * Check `lsmod'.
981
9824.22 Sensors output is not correct!
983===================================
984
985What specifically is the trouble?
986   * Labels: *Note The labels for the voltage and temperature readings
987     in sensors are incorrect: Section 3.4.1.
988
989   * Min/max readings: *Note The min and max for the readings in
990     sensors are incorrect: Section 3.4.2, and *Note The min and max
991     settings didnt take effect: Section 3.4.3.
992
993   * AS99127F: *Note I ran sensors-detect but now I get very strange
994     readings?: Section 4.16.
995
996   * Via 686A: *Note I ran sensors-detect but now I get very strange
997     readings?: Section 4.16.
998
999   * Other specific chips: *Note I ran sensors-detect but now I get
1000     very strange readings?: Section 4.16.
1001
1002   * No output for a particular sensors chip: *Note What to do if it
1003     inserts but nothing happens: Section 5.3.
1004
1005   * No output at all: *Note Sensors says No sensors found: Section
1006     4.21, *Note What to do if it inserts but nothing happens: Section
1007     5.3.
1008
1009   * Completely bad output for a particular sensor chip: *Note What to
1010     do if I read only bogus information: Section 5.4.
1011
1012   * One particular sensor readings:
1013        * Maybe it isn't hooked up? - tell 'sensors' to ignore it.
1014          *Note One sensor isnt hooked up on my board: Section 3.4.4.
1015
1016        * Maybe it is hooked up differently on your motherboard? -
1017          adjust `sensors.conf' calculation.
1018
10194.23 What is at I2C address XXX?
1020================================
1021
1022In general, we don't know. Start by running `sensors-detect'.  If it
1023doesn't recognize it, try running `i2cdump'. A partial list of
1024manufacturers' IDs are at the bottom of `doc/chips/SUMMARY'.
1025
10264.23.1 What is at I2C address 0x69?
1027-----------------------------------
1028
1029A clock chip. Often, accessing these clock chips in the wrong way will
1030instantly crash your computer. Sensors-detect carefully avoids these
1031chips, and you should do too.  You have been warned.
1032
10334.23.2 What is at I2C addresses 0x50 - 0x57?
1034--------------------------------------------
1035
1036EEPROMs on your SDRAM DIMMs. Load the eeprom module to look at some
1037basic data in `sensors' or use the program
1038`prog/eeprom/decode-dimms.pl' to get more information than you ever
1039wanted.
1040
10414.23.3 What is at I2C addresses 0x30 - 0x37?
1042--------------------------------------------
1043
1044These are often 'shadows' of your EEPROMs on your SDRAM DIMMs at
1045addresses 0x50 - 0x57. They are the 'software write-protect' registers
1046of the SDRAM Serial Presence Detect EEPROMs.  If you try and do a
1047`i2cdump' on them to read the location, you won't get anything, because
1048they contain a single write-only register.  This register can be used
1049to permanently write-protect the contents of the eeprom.
1050
10514.24 Sensors-detect doesn't work at all
1052=======================================
1053
1054It could be many things. What was the problem? *Note Problems on
1055particular motherboards: Section 4.31.
1056
10574.24.1 Sensors-detect says "Couldn't open /proc/bus/i2c?!?"
1058-----------------------------------------------------------
1059
1060You don't have i2c support in your kernel, or the i2c-core module was
1061not loaded and you did not run sensors-detect as root.
1062
10634.24.2 Sensors-detect says "Can't open /dev/i2c[-/]0"
1064-----------------------------------------------------
1065
1066Your `/dev/i2c-0,' `/dev/i2c0', or `/dev/i2c/0' files do not exist or
1067you did not run `sensors-detect' as root.  Run the script
1068`prog/mkdev/mkdev.sh' to create the `/dev/i2c-x' files.  Run `devfs' in
1069the kernel to get the `/dev/i2c/x' files.
1070
10714.24.3 Sensors-detect doesn't find any sensors!
1072-----------------------------------------------
1073
1074Either
1075  1. The board doesn't have any sensors.
1076
1077  2. We don't support the sensors on the board.
1078
1079  3. The sensors it has are on an I2C bus connected to an I2C bus
1080     adapter that we don't support.
1081
1082  4. You don't have the latest version of lm_sensors.
1083
1084   But in any case you should figure out what is on the board:
1085  1. Look at your motherboard.
1086
1087  2. Check the manufacturer's website.
1088
1089   When you know what chips you have, check the Driver Status
1090(http://www.lm-sensors.org/wiki/Devices) web page to see if support has
1091been added for your chip in a later release or in SVN.
1092
10934.25 Sensors says `Error: Line xxx: zzzzzzz'
1094============================================
1095
1096These are errors from the libsensors library in reading the
1097`/etc/sensors.conf' configuration file. Go to that line number and fix
1098it. If you have a parse error, perhaps you have to put the feature name
1099in double quotes.
1100
11014.26 Sensors only gives the name, adapter, and algorithm for my chip
1102====================================================================
1103
1104If `sensors' only says this, for example, and doesn't provide any
1105actual data at all:
1106
1107     it87-isa-0290
1108     Adapter: ISA adapter
1109     Algorithm: ISA algorithm
1110
1111   Your chip is not currently supported by `sensors' and so all it does
1112is print out that information. Get the latest release and be sure you
1113are running the `sensors' program it installed and not some older
1114`sensors'.
1115
11164.27 Sensors says `ERROR: Can't get xxxxx data!'
1117================================================
1118
1119   * (Linux 2.6) Make sure you are using one of the recommended
1120     kernel/lm_sensors combination
1121     (http://www.lm-sensors.org/wiki/Kernel2.6).
1122
1123   * You have a `libsensors'/`sensors' mismatch.  `sensors' is unable to
1124     get a data entry from `libsensors'. You probably have an old
1125     `libsensors' in your `/etc/ld.so.conf' path.  Make sure you did
1126     (as root) a `make install' (Linux 2.4) or `make user_install'
1127     (Linux 2.6) followed by a `ldconfig'.  Then check the output of
1128     `ldconfig -v | grep libsensors' to verify that there is only ONE
1129     `libsensors' entry and that it matches the `libsensors' that was
1130     built in the `lib/' directory in `lm_sensors2'.
1131
11324.28 Sensors doesn't find any sensors, just eeproms.
1133====================================================
1134
1135*Note Sensors-detect doesnt work at all: Section 4.24, if
1136`sensors-detect' failed to find any sensors.
1137
1138   If `sensors-detect' did find sensors, did you insert your modules?
1139For chips on the ISA bus, did you insert i2c-isa?
1140
1141   *Note What to do if a module wont insert: Section 5.2, if the
1142modules didn't insert, also *note Sensors says No sensors found:
1143Section 4.21.
1144
11454.29 Inserting modules hangs my board
1146=====================================
1147
1148There are several possible causes:
1149  1. Bus driver problems. Insert the bus driver first, before you have
1150     inserted any chip drivers, to verify.
1151
1152  2. Wrong chip driver. Verify that you have a chip supported by the
1153     chip driver, see *note What chips are on motherboard XYZ: Section
1154     3.2.1.
1155
1156  3. The chip driver is reinitializing the chip, which undoes critical
1157     initialization done by the BIOS.  Try the parameter `init=0' for
1158     the w83781d driver; this is the only driver supporting this
1159     parameter.
1160
1161  4. Some chips on the bus don't like to be probed at all.  After
1162     inserting the bus driver (but not the chip drivers), run
1163     `i2cdetect' on the bus, then `i2cdump' on each address responding
1164     to `i2cdetect'. This may find the culprit.  Do not `i2cdump
1165     address 0x69', the clock chip.
1166
1167  5. The chip driver is incorrectly finding a second chip on the bus
1168     and is accessing it. For example, with the Tyan 2688 with a
1169     w83781d at 0x29, use `modprobe
1170     ignore_range=0,0x00,0x28,0,0x2a,0x7f' to prevent access to other
1171     addresses. (`init=0' also req'd for the Tyan 2688).
1172
11734.30 Inserting modules slows down my board
1174==========================================
1175
1176Generally this is caused by an overtemperature alarm output from the
1177sensor chip. This triggers hardware on the board which automatically
1178slows down the CPU clock. Be sure that your temperature limits are
1179above the temperature reading. Put the new limits in
1180`/etc/sensors.conf' and run `sensors -s'.
1181
11824.31 Problems on particular motherboards
1183========================================
1184
1185The following boards have unique problems and solutions.
1186
11874.31.1 Asus P4B
1188---------------
1189
1190See `prog/hotplug/README.p4b' if your SMBus master is not found.
1191
11924.31.2 Tyan 2460, 2462
1193----------------------
1194
1195See support tickets 805, 765, 781, 812, 813, and 867 for information.
1196
11974.31.3 Tyan 2466
1198----------------
1199
1200See support tickets 941, 840, and 841 for information.
1201
12024.31.4 Tyan 2688
1203----------------
1204
1205For board hangs, see support ticket 721 for information.  Also *note
1206Inserting modules hangs my board: Section 4.29.
1207
12084.32 Problems on particular systems
1209===================================
1210
1211For IBM systems, see `README.thinkpad'.
1212
12134.33 Problems on 2.6 kernels
1214============================
1215
1216Not all drivers have been ported to 2.6. If your favorite driver is not
1217in 2.6, the reason is that nobody has ported it, or the ported code did
1218not get a proper review yet.  If you would like to port the driver, see
1219the file Documentation/i2c/porting-clients in the 2.6 kernel tree for
1220help, then send us the ported driver when you are done.
1221
12224.33.1 i2c-viapro and via686a
1223-----------------------------
1224
1225Until kernel 2.6.11, there was a PCI resource conflict between
1226i2c-viapro (the SMBus driver for VIA bridges) and via686a (the
1227integrated sensors driver for VIA bridges). This caused the second
1228loaded driver to silently fail working. So do not load both i2c-viapro
1229and via686a together unless you have a recent kernel.
1230
12314.33.2 Where are my EEPROMs?
1232----------------------------
1233
1234The 2.6.14-rc1 kernel introduced the hwmon class, which groups all
1235hardware monitoring drivers in a logical way. The goal was to help
1236libsensors grab the relevant sensors information in /sys. In particular:
1237   * libsensors will no more need to know about the underlying bus types
1238     (I2C/SMBus, ISA or other);
1239
1240   * libsensors will no more list non-hardware monitoring chips.
1241   This explains why EEPROMs are no more displayed by `sensors': they
1242are no hardware monitoring chips. The medium term plan is to drop
1243eeprom support for all Linux 2.6 kernels, as it didn't fit well in the
1244library code in the first place.
1245
1246   Note that you can still obtain information about your EEPROMs by
1247using the dedicated perl scripts in `prog/eeprom': `ddcmon',
1248`decode-dimms.pl', `decode-edid.pl' and `decode-vaio.pl'.
1249
12505 How to Ask for Help
1251*********************
1252
12535.1 What to send us when asking for help
1254========================================
1255
1256We are always willing to answer questions if things don't work out.
1257Post your question to our discussion list
1258(http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), and not the
1259individual authors, unless you have something private to say.
1260
1261   Instead of using email, you can also use the web-based support area,
1262at `http://www.lm-sensors.org/wiki/FeedbackAndSupport'. You will be
1263helped just as fast, and others may profit from the answer too. You
1264will be emailed automatically when your question has been answered.
1265
1266   Here's what you should send us:
1267
1268   * The dmesg or syslog output if applicable
1269
1270   * The output of (as root) `prog/detect/sensors-detect'
1271
1272   * The output of `lsmod'
1273
1274   * If a PCI chip problem:
1275        * The output of `lspci -n'
1276
1277   * If an I2C sensor chip problem:
1278        * The output of (as root) `prog/detect/i2cdetect X' where X =
1279          the bus number (run `i2cdetect' with no arguments to list the
1280          busses) (please send this only if it's not all `XX')
1281
1282   * If an ISA sensor chip problem:
1283        * The output of (as root) `prog/dump/isadump 0x295 0x296' (only
1284          if it's not all `XX')
1285
1286   * Part numbers of chips on your motherboard you think are the sensor
1287     chips (look at your motherboard)
1288
1289   * Motherboard type
1290
1291   * Sensors version
1292
1293   * Kernel version
1294
12955.2 What to do if a module won't insert?
1296========================================
1297
1298Did you use `modprobe' instead of `insmod'??? Don't use insmod.
1299
1300   Were there unresolved symbols? Did you run `depmod -a'? Run `depmod
1301-a -e' to see where the symbol problem is.
1302
1303   ALWAYS inspect the output of `dmesg'. That's where the error
1304messages come out!!! Don't rely on the generic message from `modprobe'.
1305If you still can't figure it out, send us the information listed above.
1306
13075.3 What to do if it inserts, but nothing happens?
1308==================================================
1309
1310For an ISA sensor chip, did you also `modprobe i2c-isa'? It must be
1311inserted.
1312
1313   For an I2C sensor chip, did you also `modprobe i2c-xxx' where xxx is
1314your I2C bus adapter? It must be inserted.
1315
1316   Always inspect the output of `dmesg'. That's where the error
1317messages come out. If you still can't figure it out, send us the
1318information listed above.
1319
13205.4 What to do if I read only bogus information?
1321================================================
1322
1323It may be that this was a mis-detection: the chip may not be present.
1324If you are convinced there is something wrong, verify that you indeed
1325have the devices on your motherboard that you think you do.  Look at
1326the motherboard and make sure. If you are still stuck, please send us
1327the usual information (*note Help::)
1328
13295.5 What to do if you have other problems?
1330==========================================
1331
1332Again, send the output listed above.
1333
13345.6 What if it just works like a charm?
1335=======================================
1336
1337Drop us a mail if you feel like it, mentioning the mainboard and
1338detected chip type. That way, we have some positive feedback, too!
1339
13405.7 How do I update a ticket?
1341=============================
1342
1343You can't. Only developers can. Follow up by emailing us and reference
1344your ticket number in the subject. Please don't enter a new ticket with
1345follow-up information, email us instead. Thanks.
1346
13475.8 How do I follow up on a ticket?
1348===================================
1349
1350Follow up by emailing us and reference your ticket number in the
1351subject.
1352
13535.9 Why did you decide not to support undocumented chips?
1354=========================================================
1355
1356There are several reasons why we are generally not interested in writing
1357drivers for undocumented chips:
1358
1359   * Writing a driver without a datasheet is much harder, as you have to
1360     guess most things. Remember that, most of the time, we write
1361     drivers for fun and for free, so there is no reason we would write
1362     a driver in conditions that promise more pain than fun.
1363
1364   * If we hit a problem, we are certain never to get any support from
1365     the chip manufacturer. This means that we may spend days on code
1366     which will finally never work.
1367
1368   * There are several chips out there which are fully documented and
1369     lack a driver. This is natural for us to give these the priority
1370     when we finally have some spare time to spend on driver coding.
1371
1372   * Hardware monitoring chips are not toys. Misprogramming them can
1373     result in data loss or hardware breakage. This is obviously more
1374     likely to happen with undocumented chips. This is a responsability
1375     we do not want to endorse (the GPL is pretty clear than we are not
1376     legally liable, but still).
1377
1378   There are also several reasons why we do not want to support such
1379drivers, even if they were written by other people:
1380
1381   * Problems are much more likely to happen with such drivers.  This
1382     means increased needs of support. User support if very
1383     time-consuming and we are usually short of time.
1384
1385   * Support should be done by the driver author (as only him/her knows
1386     the driver and chip) but in the reality of facts, people will
1387     always ask us for help if the driver is part of our package.
1388     Redirecting all user requests to the driver's author manually is
1389     boring.
1390
1391   * The lack of datasheet usually results in an original driver which
1392     works relatively fine for its author, but will happen not to work
1393     completely for other users. This means that the driver will need
1394     many more additions and fixes than other drivers do, resulting in
1395     an increased maitainance workload, which we can hardly afford. Of
1396     course this too should be handled by the original driver author,
1397     but we never know whether he/she will actually do the work.
1398
1399   Lastly, there are other considerations, some of which are
1400deliberately political:
1401
1402   * We do not want to trick hardware buyers into thinking that a chip
1403     is fully supported under Linux when in fact it is only partly
1404     supported by a driver which was written without a datasheet.
1405     Clearly stating that such chips are not supported makes it much
1406     easier for anyone who really needs fully working hardware
1407     monitoring under Linux to avoid motherboards with these partly
1408     supported chips.
1409
1410   * Drivers written without a datasheet are a pain for developers and
1411     users, but are a complete win for the manufacturers of these chips:
1412     they don't have to write the driver, they don't have to help us,
1413     they don't have to support the users, and they still sell their
1414     hardware. We do not want to encourage such a selfish behavior.
1415
1416   That being said, authors of such drivers can still submit their code
1417to the Linux kernel folks for inclusion into Linux 2.6. Their driver
1418may be accepted there, under conditions.
1419
1420   If such a driver is ever accepted into the Linux 2.6 tree, and
1421someone provides a patch to libsensors and/or sensors to add support
1422for this driver, we will apply it. This generic code is unlikely to
1423cause trouble.
1424
14256 How to Contribute
1426*******************
1427
14286.1 How to write a driver
1429=========================
1430
1431See `doc/developers/new_drivers' in our package for instructions.
1432
14336.2 How to get SVN access
1434=========================
1435
1436For anonymous SVN read access, see the instructions on our download
1437page (http://www.lm-sensors.org/wiki/Download).
1438
1439   For write access, please contact us.
1440
14416.3 How to donate hardware to the project
1442=========================================
1443
1444Contact us (http://www.lm-sensors.org/wiki/FeedbackAndSupport).
1445
14466.4 How to join the project mailing lists
1447=========================================
1448
1449There are two lists you can subscribe to:
1450
1451   * A general discussion list
1452     (http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), meant
1453     for both development and user support. You do not need to be
1454     subscribed to post.
1455
1456   * A CVS commits list
1457     (http://lists.lm-sensors.org/mailman/listinfo/lm-sensors-commit),
1458     for watching the changes made to the CVS repositories. This list
1459     is read-only.
1460
14616.5 How to access mailing list archives
1462=======================================
1463
1464The primary mailing list archive is at:
1465`http://lists.lm-sensors.org/pipermail/lm-sensors/'.  It contains
1466messages since October 28, 2001.
1467
1468   There is another mailing list archive at:
1469`http://news.gmane.org/gmane.linux.drivers.sensors'.  It contains
1470messages since December 31, 2004.  This archive may also be accessed
1471via a news reader: `nntp://news.gmane.org/gmane.linux.drivers.sensors'
1472and RSS: `http://rss.gmane.org/gmane.linux.drivers.sensors'.
1473
1474   And last there is a legacy archive at:
1475`http://archives.andrew.net.au/lm-sensors'.  It contains messages from
1476October 28, 2001 through May 16, 2005.
1477
14786.6 How to submit a patch
1479=========================
1480
1481Check out the latest from CVS, then copy the directory to another
1482directory, and make your changes. Generate the diff with `diff -u2 -r
1483DIR1 DIR2'. Or you can generate the diff in CVS with `cvs diff -u2'.
1484Send us the patch in an email and tell us what it does.
1485
14866.7 How to REALLY help
1487======================
1488
1489Believe it or not, what we really need help with are:
1490   * Answering email
1491
1492   * Answering support tickets
1493
1494   * Porting drivers to Linux 2.6
1495
1496   * Creating a sensors.conf database
1497
1498   * Reviewing patches
1499
1500   If you are willing to help, simply join our discussion list
1501(http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), and we'll
1502help you help us.
1503
15046.8 How to get release announcements
1505====================================
1506
1507We don't have a separate release announcement mailing list; however, we
1508put all our releases on freshmeat: `http://freshmeat.net' and you can
1509register on our freshmeat project page
1510`http://freshmeat.net/projects/lm_sensors' to 'subscribe to new
1511releases' and then freshmeat will email you announcement.
1512
1513Appendix A Revision History of This Document
1514********************************************
1515
1516   * Rev 2.18 (JD) Removed version 1 specifics part, 2005-12-17
1517
1518   * Rev 2.17 (JD) Added 5.9 (why we don't support undocumented chips),
1519     removed 6.9 (doesn't apply to the new mailing list), 2005-10-05
1520
1521   * Rev 2.16 (JD) Added 4.33.2, 2005-09-06
1522
1523   * Rev 2.15 (JD) Updates, including mailing-list change, 2005-05-21
1524
1525   * Rev 2.14 (MDS) Updated 4.12, 2004-11-26
1526
1527   * Rev 2.13 (JD) Added 4.6.1, updated 4.7, 2004-06-23
1528
1529   * Rev 2.12 (JD) Updated 4.27, 2004-04-11
1530
1531   * Rev 2.11 (JD) Various updates, 2004-01-18
1532
1533   * Rev 2.10 (MDS) Various updates, 2004-01-03
1534
1535   * Rev 2.9 (CP) Converted to Gnu texinfo format, 2002-09-10
1536
1537   * Rev 2.8 (MDS) Minor updates 2002-07-10, released with lm_sensors
1538     2.6.4
1539
1540   * Rev 2.7 (MDS) Minor updates 2002-04-25
1541
1542   * Rev 2.6 (MDS) Minor updates 2002-01-15, released with lm_sensors
1543     2.6.3
1544
1545   * Rev 2.5 (MDS) Minor updates 2001-11-11, released with lm_sensors
1546     2.6.2
1547
1548   * Rev 2.4 (MDS) Minor updates 2001-07-22
1549
1550   * Rev 2.3 (MDS) General update, 2001-02-24, released with lm_sensors
1551     2.6.0.
1552
1553   * Rev 2.2 (Frodo) Corrections for lm_sensors 2.4, 1999-09-20
1554
1555   * Rev 2.1 (Frodo) Corrections for lm_sensors 2.2, 1999-01-12
1556
1557   * Rev 2.0 (Frodo) Major revision for lm_sensors 2.1, 1998-12-29
1558
1559   * Rev 1.10 (Frodo) Modified 3.8, updated some other things,
1560     1998-09-24
1561
1562   * Rev 1.9 (Frodo) Added 3.15, 1998-09-06
1563
1564   * Rev 1.8 (Frodo) Added 3.14, 1998-09-05
1565
1566   * Rev 1.7 (Phil) Added 3.13 and some other minor changes, 1998-09-01
1567
1568   * Rev 1.6 (Frodo) Added 4, 4.1, 4.2, 4.3, 4.4, 4.5, 1998-09-01
1569
1570   * Rev 1.5 (Frodo) Added 2.3, 2.4, 3.9, 3.10, 3.11, 1998-08-26
1571
1572   * Rev 1.4 (Frodo) Added some more Winbond information, and 3.5-3.8,
1573     1998-08-17
1574
1575   * Rev 1.3 (Phil) Added info on the Winbond chip, 1998-08-16
1576
1577   * Rev 1.2 (Frodo) Adapation, 1998-08-10
1578
1579   * Rev 1.1 (Phil) Modifications, 1998-08-09
1580
1581   * Rev 1.0 (Phil) First version, 1998-08-03
1582
Note: See TracBrowser for help on using the browser.