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

Revision 4593, 62.4 KB (checked in by khali, 7 years ago)

Delete mkdev.sh. i2c device nodes are created by devfs or udev on most
2.6 kernel-based systems, for others they should have been created at
system installation time. If they are missing, sensors-detect will run
MAKEDEV to create them.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Short Contents
2**************
3
4lm_sensors
51 PC and Sensor Overview
62 Sensor and Bus Basics
73 Installation and Management
84 Problems
95 How to Ask for Help
106 How to Contribute
11Appendix A Revision History of This Document
12
13
14Table of Contents
15*****************
16
17lm_sensors
181 PC and Sensor Overview
19  1.1 What sensors are available on my PC?
20  1.2 What can a sensor chip like the "LM78" do?
21  1.3 Where do I find out more about any of these chips?
222 Sensor and Bus Basics
23  2.1 How are these sensors read?
24  2.2 What is the SMBus? And the I2C bus?
25  2.3 I don't have an ISA bus!
26  2.4 What sensors do processors have?
27  2.5 How often are the sensor values updated?
28  2.6 How are alarms triggered?
293 Installation and Management
30  3.1 Why so many modules, and how do I cope with them?
31  3.2 How do I know which chips I own?
32    3.2.1 What chips are on motherboard XYZ?
33    3.2.2 Do you support motherboard XYZ?
34    3.2.3 Do you support chip XYZ?
35    3.2.4 Anybody working on a driver for chip XYZ?
36  3.3 Which modules should I insert?
37  3.4 Do I need the configuration file `/etc/sensors.conf'?
38    3.4.1 The labels for the voltage and temperature readings in `sensors' are incorrect!
39    3.4.2 The min and max for the readings in `sensors' are incorrect!
40    3.4.3 The min and max settings in `/etc/sensors.conf' didn't take effect!
41    3.4.4 One sensor isn't hooked up on my board!
42    3.4.5 I need help with `sensors.conf'!
43    3.4.6 Do you have a database of `sensors.conf' entries for specific boards?
44  3.5 What about the `No such file or directory' warnings when I compile?
45  3.6 I get all kinds of weird compilation errors?
46    3.6.1 `No rule to make target xxxx needed by xxxx' - how to fix?
47  3.7 It still does not compile or patch!
48  3.8 `make install' fails on Mandrake kernels
49  3.9 I get unresolved symbols when I `modprobe' modules (Red Hat especially)
50  3.10 I2C_DRIVERID_ADM1024 undefined (Red Hat especially)
514 Problems
52  4.1 My fans report exactly half/double their values compared to the BIOS?
53    4.1.1 Fans sometimes/always read 0!!
54    4.1.2 I doubled the fan divisor and the fan still reads 7000!
55  4.2 Why do my two LM75's report "-48 degrees"?
56  4.3 Why do I have two Vcore readings, I have only one processor!
57  4.4 How do those ALARMS work? The current value is within range but there is still an ALARM warning!
58  4.5 My voltage readings seem to drift a bit. Is something wrong?
59  4.6 Some measurements are way out of range. What happened?
60    4.6.1 -5V and -12V readings are way out of range!
61  4.7 What are VID lines? Why is the VID reading wrong?
62  4.8 I read sensor values several times a second, but they are only updated only each second or so. Why?
63  4.9 It sometimes seems to take almost a second before I see the sensor reading results. Why?
64  4.10 Can I be alerted when an ALARM occurs?
65  4.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?
66  4.12 My BIOS reports a much higher CPU temperature than your modules!
67  4.13 I try to read the raw `/proc' files, but the values are strange?!?
68  4.14 How do I set new limits?
69    4.14.1 I set new limits and it didn't work?
70  4.15 Some sensors are doubly detected?
71  4.16 I ran sensors-detect, but now I get very strange readings?!?
72  4.17 Bad readings from particular chips
73    4.17.1 Bad readings from the AS99127F!
74    4.17.2 Bad readings from the VIA 686A!
75    4.17.3 Bad readings from the MTP008!
76    4.17.4 Bad temperature readings from the SIS5595!
77    4.17.5 Bad readings from a w8378[12]d!
78    4.17.6 Bus hangs on Ali 1543 on Asus P5A boards!
79    4.17.7 Bad readings from LM75!
80    4.17.8 Bad readings from LM78!
81    4.17.9 Bad readings from LM80!
82  4.18 How do I configure two chips (LM87) differently?
83  4.19 Dmesg says `Upgrade BIOS'! I don't want to!
84    4.19.1 Dmesg says `use force_addr=0xaddr'! What address do I use?
85  4.20 Sensors says `Can't access procfs/sysfs file'
86  4.21 Sensors says `No sensors found!'
87  4.22 Sensors output is not correct!
88  4.23 What is at I2C address XXX?
89    4.23.1 What is at I2C address 0x69?
90    4.23.2 What is at I2C addresses 0x50 - 0x57?
91    4.23.3 What is at I2C addresses 0x30 - 0x37?
92  4.24 Sensors-detect doesn't work at all
93    4.24.1 Sensors-detect says "Couldn't open /proc/bus/i2c?!?"
94    4.24.2 Sensors-detect says "Can't open /dev/i2c[-/]0"
95    4.24.3 Sensors-detect doesn't find any sensors!
96  4.25 Sensors says `Error: Line xxx: zzzzzzz'
97  4.26 Sensors only gives the name and adapter for my chip
98  4.27 Sensors says `ERROR: Can't get xxxxx data!'
99  4.28 Sensors doesn't find any sensors, just eeproms.
100  4.29 Inserting modules hangs my board
101  4.30 Inserting modules slows down my board
102  4.31 Problems on particular motherboards
103    4.31.1 Asus P4B
104    4.31.2 Tyan 2460, 2462
105    4.31.3 Tyan 2466
106    4.31.4 Tyan 2688
107  4.32 Problems on 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. Since Linux 2.6.9, the right
695formula is selected automatically.  See `doc/vid' for more information.
696
6974.8 I read sensor values several times a second, but they are only updated only each second or so. Why?
698=======================================================================================================
699
700If we would read the registers more often, it would not find the time
701to update them. So we only update our readings once each 1.5 seconds
702(the actual delay is chip-specific; for some chips, it may not be needed
703at all).
704
7054.9 It sometimes seems to take almost a second before I see the sensor reading results. Why?
706============================================================================================
707
708ISA bus access is fast, but SMBus access is really slow. If you have a
709lot of sensors, it just takes a lot of time to access them. Fortunately,
710this has almost no impact on the system as a whole, as another job can
711run while we are waiting for the transaction to finish.
712
7134.10 Can I be alerted when an ALARM occurs?
714===========================================
715
716No, you can't; and it may well be never supported.
717
718   Almost no mainboard we have encountered have actually connected the
719IRQ-out pin of sensor chips. That means that we could enable IRQ
720reporting, but nothing would happen. Also, even if a motherboard has it
721connected, it is unclear what interrupt number would be triggered. And
722IRQ lines are a scarce facility, which means that almost nobody would
723be able to use it anyway.
724
725   The SMI interrupt is only available on a few types of chips. It is
726really a very obscure way to handle interrupts, and supporting it under
727Linux might be quite hard to do.
728
729   Your best bet would be to poll the alarm file with a user-land daemon
730which alerts you if an alarm is raised. I am not aware of any program
731which does the job, though you might want to examine one of the
732graphical monitor programs under X, see
733`http://www.lm-sensors.org/wiki/UsefulLinks' for addresses.
734
7354.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?
736==============================================================================
737
738Some chips which mainboard makers connect to the SMBus are not SMBus
739devices.  An example is the 91xx clock generator chips.  When read,
740these devices can lock up the SMBus until the next hard reboot.  This
741is because they have a similar serial interface (like the I2C), but
742don't conform to Intel's SMBus standard.
743
744   Why did they connect these devices to the SMBus if they aren't
745compatible?  Good question! :')  Actually, these devices may support
746being written to, but lock things up when they are read.
747
7484.12 My BIOS reports a much higher CPU temperature than your modules!
749=====================================================================
750
751We display the actual temperature of the sensor. This may not be the
752temperature you are interested in, though.  If a sensor should measure
753the CPU temperature, it must be in thermal contact with it.  In
754practice, it may be just somewhere nearby. Your BIOS may correct for
755this (by adding, for example, thirty degrees to the measured
756temperature).  The correction factor is regrettably different for each
757mainboard, so we can not do this in the module itself. You can do it
758through the configuration file, though:
759
760     chip lm75-*-49                      # Or whatever chip this relates to
761     label temp "Processor"
762     compute temp @*1.2+13,(@-13)/1.2    # Or whatever formula
763
764   However, the offset you are introducing might not be necessary. If
765you tried to have Linux idle temperature and BIOS "idle" temperature
766match, you may be misguided.  We have a Supermicro (370DLE) motherboard
767and we know that its BIOS has a closed, almost undelayed while(1) loop
768that keeps the CPU busy all the time. Linux reads 26 degrees idle, BIOS
769reads 38 degrees. Linux at full load is in the 35-40 degrees range so
770this makes sense.
771
7724.13 I try to read the raw `/proc' files, but the values are strange?!?
773=======================================================================
774
775Remember, these values do not take the configuration file `compute'
776lines in account. This is especially obvious for voltage readings
777(usually called in? or vin?). Use a program linked to libsensors (like
778the provided `sensors' program) instead.
779
7804.14 How do I set new limits?
781=============================
782
783Change the limit values in `/etc/sensors.conf' and then run `sensors
784-s'.
785
7864.14.1 I set new limits and it didn't work?
787-------------------------------------------
788
789You forgot to run `sensors -s'. Put it in a `/etc/rc.d/...' file after
790the modprobe lines to run at startup.
791
7924.15 Some sensors are doubly detected?
793======================================
794
795Yes, this is still a problem. It is partially solved by alias detection
796and confidence values in sensors-detect, but it is really tough.
797
798   Double detections can be caused by two things: sensors can be
799detected to both the ISA and the SMBus (and if you have loaded the
800approprate adapter drivers, it will be detected on both), and some
801chips simulate other chips (the Winbond W83781D simulates LM75 chips on
802the SMBus, for example). Remove the offending adapter or chip driver, or
803run sensors-detect and add the `ignore=' modprobe parameters it
804suggests.
805
8064.16 I ran sensors-detect, but now I get very strange readings?!?
807=================================================================
808
809Your SMBus (PIIX4?) is probably crashed or hung. There are some
810mainboards which connect a clock chip to the SMBus. Unfortunately, this
811clock chip hangs the PIIX4 if it is read (it is an I2C device, but not
812SMBus compatible).  We have found no way of solving this, except for
813rebooting your computer.  Next time when you run sensors-detect, you
814may want to exclude addresses 0x69 and/or 0x6a, by entering `s' when
815you are asked whether you want to scan the PIIX4.
816
8174.17 Bad readings from particular chips
818=======================================
819
820See below for some particularly troublesome chips.  Also be sure and
821check `doc/chips/xxxxx' for the particular driver.
822
8234.17.1 Bad readings from the AS99127F!
824--------------------------------------
825
826The Asus AS99127F is a modified version of the Winbond W83781D.  Asus
827will not release a datasheet. The driver was developed by tedious
828experimentation. We've done the best we can. If you want to make
829adjustments to the readings please edit `/etc/sensors.conf.' Please
830don't ask us to fix the driver. Ask Asus to release a datasheet.
831
8324.17.2 Bad readings from the VIA 686A!
833--------------------------------------
834
835The Via 686A datasheet is incomplete.  Via will not release details.
836The driver was developed by tedious experimentation. We've done the
837best we can. If you want to make adjustments to the readings please
838edit `/etc/sensors.conf.' Please don't ask us to fix the driver. Ask
839Via to release a better datasheet.  Also, don't forget to `modprobe
840i2c-isa'.
841
8424.17.3 Bad readings from the MTP008!
843------------------------------------
844
845The MTP008 has programmable temperature sensor types.  If your sensor
846type does not match the default, you will have to change it.  See
847`doc/chips/mtp008' for details.  Also, MTP008 chips seem to randomly
848refuse to respond, for unknown reasons. You can see this as 'XX'
849entries in i2cdump.
850
8514.17.4 Bad temperature readings from the SIS5595!
852-------------------------------------------------
853
854This chip can use multiple thermistor types and there are also two
855different versions of the chip. We are trying to get the driver working
856better and develop formulas for different thermistors but we aren't
857there yet. Sorry.  Also, many times the chip isn't really a sis5595 but
858it was misidentified. We are working on improving that too.
859
8604.17.5 Bad readings from a w8378[12]d!
861--------------------------------------
862
863Do you own an ASUS motherboard?  Perhaps your chip is being
864misidentified.  Look on the motherboard (or at
865`http://mbm.livewiredev.com') for a 'Winbond' or Asus chip.  Often the
866real device is an Asus as99127f. If so, the driver can be forced to
867recognize the as99127f with `force_as99127f=BUS,0x2d' where `BUS' is
868your i2c bus number.  Cat /proc/bus/i2c to see a list of bus numbers.
869Read the w83781d module documentation (`doc/chips/w83781d') for more
870details.
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 and use the script
1037`decode-dimms.pl' (in the i2c-tools package) to get more information
1038than you ever wanted.
1039
10404.23.3 What is at I2C addresses 0x30 - 0x37?
1041--------------------------------------------
1042
1043These are often 'shadows' of your EEPROMs on your SDRAM DIMMs at
1044addresses 0x50 - 0x57. They are the 'software write-protect' registers
1045of the SDRAM Serial Presence Detect EEPROMs.  If you try and do a
1046`i2cdump' on them to read the location, you won't get anything, because
1047they contain a single write-only register.  This register can be used
1048to permanently write-protect the contents of the eeprom.
1049
10504.24 Sensors-detect doesn't work at all
1051=======================================
1052
1053It could be many things. What was the problem? *Note Problems on
1054particular motherboards: Section 4.31.
1055
10564.24.1 Sensors-detect says "Couldn't open /proc/bus/i2c?!?"
1057-----------------------------------------------------------
1058
1059You don't have i2c support in your kernel, or the i2c-core module was
1060not loaded and you did not run sensors-detect as root.
1061
10624.24.2 Sensors-detect says "Can't open /dev/i2c[-/]0"
1063-----------------------------------------------------
1064
1065Your `/dev/i2c-0,' `/dev/i2c0', or `/dev/i2c/0' files do not exist or
1066you did not run `sensors-detect' as root.  Use `MAKEDEV' or `mknod' to
1067create the `/dev/i2c-x' files.  Run `devfs' in the kernel to get the
1068`/dev/i2c/x' files.
1069
10704.24.3 Sensors-detect doesn't find any sensors!
1071-----------------------------------------------
1072
1073Either
1074  1. The board doesn't have any sensors.
1075
1076  2. We don't support the sensors on the board.
1077
1078  3. The sensors it has are on an I2C bus connected to an I2C bus
1079     adapter that we don't support.
1080
1081  4. You don't have the latest version of lm_sensors.
1082
1083   But in any case you should figure out what is on the board:
1084  1. Look at your motherboard.
1085
1086  2. Check the manufacturer's website.
1087
1088  3. Check the Motherboard Monitor (http://mbm.livewiredev.com/)
1089     website.
1090
1091   When you know what chips you have, check the Driver Status
1092(http://www.lm-sensors.org/wiki/Devices) web page to see if support has
1093been added for your chip in a later release or in SVN.
1094
10954.25 Sensors says `Error: Line xxx: zzzzzzz'
1096============================================
1097
1098These are errors from the libsensors library in reading the
1099`/etc/sensors.conf' configuration file. Go to that line number and fix
1100it. If you have a parse error, perhaps you have to put the feature name
1101in double quotes.
1102
11034.26 Sensors only gives the name and adapter for my chip
1104========================================================
1105
1106If `sensors' only says this, for example, and doesn't provide any
1107actual data at all:
1108
1109     it87-isa-0290
1110     Adapter: ISA adapter
1111
1112   Your chip is not currently supported by `sensors' and so all it does
1113is print out that information. Get the latest release and be sure you
1114are running the `sensors' program it installed and not some older
1115`sensors'.
1116
11174.27 Sensors says `ERROR: Can't get xxxxx data!'
1118================================================
1119
1120   * (Linux 2.6) Make sure you are using one of the recommended
1121     kernel/lm_sensors combination
1122     (http://www.lm-sensors.org/wiki/Kernel2.6).
1123
1124   * You have a `libsensors'/`sensors' mismatch.  `sensors' is unable to
1125     get a data entry from `libsensors'. You probably have an old
1126     `libsensors' in your `/etc/ld.so.conf' path.  Make sure you did
1127     (as root) a `make install' (Linux 2.4) or `make user_install'
1128     (Linux 2.6) followed by a `ldconfig'.  Then check the output of
1129     `ldconfig -v | grep libsensors' to verify that there is only ONE
1130     `libsensors' entry and that it matches the `libsensors' that was
1131     built in the `lib/' directory in `lm_sensors2'.
1132
11334.28 Sensors doesn't find any sensors, just eeproms.
1134====================================================
1135
1136*Note Sensors-detect doesnt work at all: Section 4.24, if
1137`sensors-detect' failed to find any sensors.
1138
1139   If `sensors-detect' did find sensors, did you insert your modules?
1140For chips on the ISA bus, did you insert i2c-isa?
1141
1142   *Note What to do if a module wont insert: Section 5.2, if the
1143modules didn't insert, also *Note Sensors says No sensors found:
1144Section 4.21.
1145
11464.29 Inserting modules hangs my board
1147=====================================
1148
1149There are several possible causes:
1150  1. Bus driver problems. Insert the bus driver first, before you have
1151     inserted any chip drivers, to verify.
1152
1153  2. Wrong chip driver. Verify that you have a chip supported by the
1154     chip driver, see *Note What chips are on motherboard XYZ: Section
1155     3.2.1.
1156
1157  3. The chip driver is reinitializing the chip, which undoes critical
1158     initialization done by the BIOS.  Try the parameter `init=0' for
1159     the w83781d driver; this is the only driver supporting this
1160     parameter.
1161
1162  4. Some chips on the bus don't like to be probed at all.  After
1163     inserting the bus driver (but not the chip drivers), run
1164     `i2cdetect' on the bus, then `i2cdump' on each address responding
1165     to `i2cdetect'. This may find the culprit.  Do not `i2cdump
1166     address 0x69', the clock chip.
1167
1168  5. The chip driver is incorrectly finding a second chip on the bus
1169     and is accessing it. For example, with the Tyan 2688 with a
1170     w83781d at 0x29, use `modprobe
1171     ignore_range=0,0x00,0x28,0,0x2a,0x7f' to prevent access to other
1172     addresses. (`init=0' also req'd for the Tyan 2688).
1173
11744.30 Inserting modules slows down my board
1175==========================================
1176
1177Generally this is caused by an overtemperature alarm output from the
1178sensor chip. This triggers hardware on the board which automatically
1179slows down the CPU clock. Be sure that your temperature limits are
1180above the temperature reading. Put the new limits in
1181`/etc/sensors.conf' and run `sensors -s'.
1182
11834.31 Problems on particular motherboards
1184========================================
1185
1186The following boards have unique problems and solutions.
1187
11884.31.1 Asus P4B
1189---------------
1190
1191See `prog/hotplug/README.p4b' if your SMBus master is not found.
1192
11934.31.2 Tyan 2460, 2462
1194----------------------
1195
1196See support tickets 805, 765, 781, 812, 813, and 867 for information.
1197
11984.31.3 Tyan 2466
1199----------------
1200
1201See support tickets 941, 840, and 841 for information.
1202
12034.31.4 Tyan 2688
1204----------------
1205
1206For board hangs, see support ticket 721 for information.  Also *Note
1207Inserting modules hangs my board: Section 4.29.
1208
12094.32 Problems on particular systems
1210===================================
1211
1212For IBM systems, see `README.thinkpad'.
1213
12144.33 Problems on 2.6 kernels
1215============================
1216
1217Not all drivers have been ported to 2.6. If your favorite driver is not
1218in 2.6, the reason is that nobody has ported it, or the ported code did
1219not get a proper review yet.  If you would like to port the driver, see
1220the file Documentation/i2c/porting-clients in the 2.6 kernel tree for
1221help, then send us the ported driver when you are done.
1222
12234.33.1 i2c-viapro and via686a
1224-----------------------------
1225
1226Until kernel 2.6.11, there was a PCI resource conflict between
1227i2c-viapro (the SMBus driver for VIA bridges) and via686a (the
1228integrated sensors driver for VIA bridges). This caused the second
1229loaded driver to silently fail working. So do not load both i2c-viapro
1230and via686a together unless you have a recent kernel.
1231
12324.33.2 Where are my EEPROMs?
1233----------------------------
1234
1235The 2.6.14-rc1 kernel introduced the hwmon class, which groups all
1236hardware monitoring drivers in a logical way. The goal was to help
1237libsensors grab the relevant sensors information in /sys. In particular:
1238   * libsensors will no more need to know about the underlying bus types
1239     (I2C/SMBus, ISA or other);
1240
1241   * libsensors will no more list non-hardware monitoring chips.
1242   This explains why EEPROMs are no more displayed by `sensors': they
1243are no hardware monitoring chips. The medium term plan is to drop
1244eeprom support for all Linux 2.6 kernels, as it didn't fit well in the
1245library code in the first place.
1246
1247   Note that you can still obtain information about your EEPROMs by
1248using the dedicated perl scripts in the i2c-tools package: `ddcmon',
1249`decode-dimms.pl', `decode-edid.pl' and `decode-vaio.pl'.
1250
12515 How to Ask for Help
1252*********************
1253
12545.1 What to send us when asking for help
1255========================================
1256
1257We are always willing to answer questions if things don't work out.
1258Post your question to our discussion list
1259(http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), and not the
1260individual authors, unless you have something private to say.
1261
1262   Instead of using email, you can also use the web-based support area,
1263at `http://www.lm-sensors.org/wiki/FeedbackAndSupport'. You will be
1264helped just as fast, and others may profit from the answer too. You
1265will be emailed automatically when your question has been answered.
1266
1267   Here's what you should send us:
1268
1269   * The dmesg or syslog output if applicable
1270
1271   * The output of (as root) `prog/detect/sensors-detect'
1272
1273   * The output of `lsmod'
1274
1275   * If a PCI chip problem:
1276        * The output of `lspci -n'
1277
1278   * If an I2C sensor chip problem:
1279        * The output of (as root) `prog/detect/i2cdetect X' where X =
1280          the bus number (run `i2cdetect' with no arguments to list the
1281          busses) (please send this only if it's not all `XX')
1282
1283        * The output of (as root) `prog/dump/i2cdump X 0xXX' where XX =
1284          the address of each chip you see in the output of
1285          `i2cdetect'. (run once for each chip) (please send this only
1286          if it's not all `ff')
1287
1288   * If an ISA sensor chip problem:
1289        * The output of (as root) `prog/dump/isadump 0x295 0x296' (only
1290          if it's not all `XX')
1291
1292   * Part numbers of chips on your motherboard you think are the sensor
1293     chips (look at your motherboard)
1294
1295   * Motherboard type
1296
1297   * Sensors version
1298
1299   * Kernel version
1300
13015.2 What to do if a module won't insert?
1302========================================
1303
1304Did you use `modprobe' instead of `insmod'??? Don't use insmod.
1305
1306   Were there unresolved symbols? Did you run `depmod -a'? Run `depmod
1307-a -e' to see where the symbol problem is.
1308
1309   ALWAYS inspect the output of `dmesg'. That's where the error
1310messages come out!!! Don't rely on the generic message from `modprobe'.
1311If you still can't figure it out, send us the information listed above.
1312
13135.3 What to do if it inserts, but nothing happens?
1314==================================================
1315
1316For an ISA sensor chip, did you also `modprobe i2c-isa'? It must be
1317inserted.
1318
1319   For an I2C sensor chip, did you also `modprobe i2c-xxx' where xxx is
1320your I2C bus adapter? It must be inserted.
1321
1322   Always inspect the output of `dmesg'. That's where the error
1323messages come out. If you still can't figure it out, send us the
1324information listed above.
1325
13265.4 What to do if I read only bogus information?
1327================================================
1328
1329It may be that this was a mis-detection: the chip may not be present.
1330If you are convinced there is something wrong, verify that you indeed
1331have the devices on your motherboard that you think you do.  Look at
1332the motherboard and make sure. If you are still stuck, please send us
1333the usual information (*note Help::)
1334
13355.5 What to do if you have other problems?
1336==========================================
1337
1338Again, send the output listed above.
1339
13405.6 What if it just works like a charm?
1341=======================================
1342
1343Drop us a mail if you feel like it, mentioning the mainboard and
1344detected chip type. That way, we have some positive feedback, too!
1345
13465.7 How do I update a ticket?
1347=============================
1348
1349You can't. Only developers can. Follow up by emailing us and reference
1350your ticket number in the subject. Please don't enter a new ticket with
1351follow-up information, email us instead. Thanks.
1352
13535.8 How do I follow up on a ticket?
1354===================================
1355
1356Follow up by emailing us and reference your ticket number in the
1357subject.
1358
13595.9 Why did you decide not to support undocumented chips?
1360=========================================================
1361
1362There are several reasons why we are generally not interested in writing
1363drivers for undocumented chips:
1364
1365   * Writing a driver without a datasheet is much harder, as you have to
1366     guess most things. Remember that, most of the time, we write
1367     drivers for fun and for free, so there is no reason we would write
1368     a driver in conditions that promise more pain than fun.
1369
1370   * If we hit a problem, we are certain never to get any support from
1371     the chip manufacturer. This means that we may spend days on code
1372     which will finally never work.
1373
1374   * There are several chips out there which are fully documented and
1375     lack a driver. This is natural for us to give these the priority
1376     when we finally have some spare time to spend on driver coding.
1377
1378   * Hardware monitoring chips are not toys. Misprogramming them can
1379     result in data loss or hardware breakage. This is obviously more
1380     likely to happen with undocumented chips. This is a responsability
1381     we do not want to endorse (the GPL is pretty clear than we are not
1382     legally liable, but still).
1383
1384   There are also several reasons why we do not want to support such
1385drivers, even if they were written by other people:
1386
1387   * Problems are much more likely to happen with such drivers.  This
1388     means increased needs of support. User support if very
1389     time-consuming and we are usually short of time.
1390
1391   * Support should be done by the driver author (as only him/her knows
1392     the driver and chip) but in the reality of facts, people will
1393     always ask us for help if the driver is part of our package.
1394     Redirecting all user requests to the driver's author manually is
1395     boring.
1396
1397   * The lack of datasheet usually results in an original driver which
1398     works relatively fine for its author, but will happen not to work
1399     completely for other users. This means that the driver will need
1400     many more additions and fixes than other drivers do, resulting in
1401     an increased maitainance workload, which we can hardly afford. Of
1402     course this too should be handled by the original driver author,
1403     but we never know whether he/she will actually do the work.
1404
1405   Lastly, there are other considerations, some of which are
1406deliberately political:
1407
1408   * We do not want to trick hardware buyers into thinking that a chip
1409     is fully supported under Linux when in fact it is only partly
1410     supported by a driver which was written without a datasheet.
1411     Clearly stating that such chips are not supported makes it much
1412     easier for anyone who really needs fully working hardware
1413     monitoring under Linux to avoid motherboards with these partly
1414     supported chips.
1415
1416   * Drivers written without a datasheet are a pain for developers and
1417     users, but are a complete win for the manufacturers of these chips:
1418     they don't have to write the driver, they don't have to help us,
1419     they don't have to support the users, and they still sell their
1420     hardware. We do not want to encourage such a selfish behavior.
1421
1422   That being said, authors of such drivers can still submit their code
1423to the Linux kernel folks for inclusion into Linux 2.6. Their driver
1424may be accepted there, under conditions.
1425
1426   If such a driver is ever accepted into the Linux 2.6 tree, and
1427someone provides a patch to libsensors and/or sensors to add support
1428for this driver, we will apply it. This generic code is unlikely to
1429cause trouble.
1430
14316 How to Contribute
1432*******************
1433
14346.1 How to write a driver
1435=========================
1436
1437See `doc/developers/new_drivers' in our package for instructions.
1438
14396.2 How to get SVN access
1440=========================
1441
1442For anonymous SVN read access, see the instructions on our download
1443page (http://www.lm-sensors.org/wiki/Download).
1444
1445   For write access, please contact us.
1446
14476.3 How to donate hardware to the project
1448=========================================
1449
1450Contact us (http://www.lm-sensors.org/wiki/FeedbackAndSupport).
1451
14526.4 How to join the project mailing lists
1453=========================================
1454
1455There are two lists you can subscribe to:
1456
1457   * A general discussion list
1458     (http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), meant
1459     for both development and user support. You do not need to be
1460     subscribed to post.
1461
1462   * A CVS commits list
1463     (http://lists.lm-sensors.org/mailman/listinfo/lm-sensors-commit),
1464     for watching the changes made to the CVS repositories. This list
1465     is read-only.
1466
14676.5 How to access mailing list archives
1468=======================================
1469
1470The primary mailing list archive is at:
1471`http://lists.lm-sensors.org/pipermail/lm-sensors/'.  It contains
1472messages since October 28, 2001.
1473
1474   There is another mailing list archive at:
1475`http://news.gmane.org/gmane.linux.drivers.sensors'.  It contains
1476messages since December 31, 2004.  This archive may also be accessed
1477via a news reader: `nntp://news.gmane.org/gmane.linux.drivers.sensors'
1478and RSS: `http://rss.gmane.org/gmane.linux.drivers.sensors'.
1479
1480   And last there is a legacy archive at:
1481`http://archives.andrew.net.au/lm-sensors'.  It contains messages from
1482October 28, 2001 through May 16, 2005.
1483
14846.6 How to submit a patch
1485=========================
1486
1487Check out the latest from CVS, then copy the directory to another
1488directory, and make your changes. Generate the diff with `diff -u2 -r
1489DIR1 DIR2'. Or you can generate the diff in CVS with `cvs diff -u2'.
1490Send us the patch in an email and tell us what it does.
1491
14926.7 How to REALLY help
1493======================
1494
1495Believe it or not, what we really need help with are:
1496   * Answering email
1497
1498   * Answering support tickets
1499
1500   * Porting drivers to Linux 2.6
1501
1502   * Creating a sensors.conf database
1503
1504   * Reviewing patches
1505
1506   If you are willing to help, simply join our discussion list
1507(http://lists.lm-sensors.org/mailman/listinfo/lm-sensors), and we'll
1508help you help us.
1509
15106.8 How to get release announcements
1511====================================
1512
1513We don't have a separate release announcement mailing list; however, we
1514put all our releases on freshmeat: `http://freshmeat.net' and you can
1515register on our freshmeat project page
1516`http://freshmeat.net/projects/lm_sensors' to 'subscribe to new
1517releases' and then freshmeat will email you announcement.
1518
1519Appendix A Revision History of This Document
1520********************************************
1521
1522   * Rev 2.18 (JD) Removed version 1 specifics part, 2005-12-17
1523
1524   * Rev 2.17 (JD) Added 5.9 (why we don't support undocumented chips),
1525     removed 6.9 (doesn't apply to the new mailing list), 2005-10-05
1526
1527   * Rev 2.16 (JD) Added 4.33.2, 2005-09-06
1528
1529   * Rev 2.15 (JD) Updates, including mailing-list change, 2005-05-21
1530
1531   * Rev 2.14 (MDS) Updated 4.12, 2004-11-26
1532
1533   * Rev 2.13 (JD) Added 4.6.1, updated 4.7, 2004-06-23
1534
1535   * Rev 2.12 (JD) Updated 4.27, 2004-04-11
1536
1537   * Rev 2.11 (JD) Various updates, 2004-01-18
1538
1539   * Rev 2.10 (MDS) Various updates, 2004-01-03
1540
1541   * Rev 2.9 (CP) Converted to Gnu texinfo format, 2002-09-10
1542
1543   * Rev 2.8 (MDS) Minor updates 2002-07-10, released with lm_sensors
1544     2.6.4
1545
1546   * Rev 2.7 (MDS) Minor updates 2002-04-25
1547
1548   * Rev 2.6 (MDS) Minor updates 2002-01-15, released with lm_sensors
1549     2.6.3
1550
1551   * Rev 2.5 (MDS) Minor updates 2001-11-11, released with lm_sensors
1552     2.6.2
1553
1554   * Rev 2.4 (MDS) Minor updates 2001-07-22
1555
1556   * Rev 2.3 (MDS) General update, 2001-02-24, released with lm_sensors
1557     2.6.0.
1558
1559   * Rev 2.2 (Frodo) Corrections for lm_sensors 2.4, 1999-09-20
1560
1561   * Rev 2.1 (Frodo) Corrections for lm_sensors 2.2, 1999-01-12
1562
1563   * Rev 2.0 (Frodo) Major revision for lm_sensors 2.1, 1998-12-29
1564
1565   * Rev 1.10 (Frodo) Modified 3.8, updated some other things,
1566     1998-09-24
1567
1568   * Rev 1.9 (Frodo) Added 3.15, 1998-09-06
1569
1570   * Rev 1.8 (Frodo) Added 3.14, 1998-09-05
1571
1572   * Rev 1.7 (Phil) Added 3.13 and some other minor changes, 1998-09-01
1573
1574   * Rev 1.6 (Frodo) Added 4, 4.1, 4.2, 4.3, 4.4, 4.5, 1998-09-01
1575
1576   * Rev 1.5 (Frodo) Added 2.3, 2.4, 3.9, 3.10, 3.11, 1998-08-26
1577
1578   * Rev 1.4 (Frodo) Added some more Winbond information, and 3.5-3.8,
1579     1998-08-17
1580
1581   * Rev 1.3 (Phil) Added info on the Winbond chip, 1998-08-16
1582
1583   * Rev 1.2 (Frodo) Adapation, 1998-08-10
1584
1585   * Rev 1.1 (Phil) Modifications, 1998-08-09
1586
1587   * Rev 1.0 (Phil) First version, 1998-08-03
1588
Note: See TracBrowser for help on using the browser.