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

Revision 1192, 40.4 KB (checked in by mds, 12 years ago)

how to patch

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Sensors FAQ for lm_sensors version 2
2------------------------------------
3
4    Copyright (c) 1998, 1999, 2000, 2001  Frodo Looijaard <frodol@dds.nl>,
5    Philip Edelbrock <phil@netroedge.com>, and Mark Studebaker <mdsxyz123@yahoo.com>
6
7------------------------------------------------------------------------------------
8
9CONTENTS
10
111. PC and Sensor Overview
121.1 What sensors are available on my PC?
131.2 What can a sensor chip like the "LM78" do?
141.3 Where do I find out more about any of these sensor chips?
15
162. Sensor and Bus Basics
172.1 How are these sensors read?
182.2 What is the SMBus? And the I2C bus?
192.3 I don't have an ISA bus!
202.4 What sensors do processors have?
212.5 How often are the sensor values updated?
222.6 How are alarms triggered?
23
243. Installation and Management
253.1 Why so many modules, and how do I cope with them?
263.2 How do I know which chips I own?
27  3.2A What chips are on motherboard XYZ?
28  3.2B Do you support motherboard XYZ?
29  3.2C Do you support chip XYZ?
30  3.2D Anybody working on a driver for chip XYZ?
313.3 Which modules should I insert?
323.4 Do I need the configuration file?
33  3.4A The labels for the voltage and temperature readings in 'sensors' are incorrect!
34  3.4B The min and max for the readings in 'sensors' are incorrect!
35  3.4C The min and max settings in /etc/sensors.conf didn't take effect!
36  3.4D One sensor isn't hooked up on my board!
37  3.4E I need help with sensors.conf!
383.5 What about the 'No such file or directory' warnings when I compile it?
393.6 I get all kind of weird compilation errors?
40  3.6A 'No rule to make target xxxx needed by xxxx' - how to fix?
413.7 It still does not compile or patch
423.8 'make install' fails on Mandrake kernels
43
444. Problems
454.1 Why do my fans report exactly half/double their values by your code
46compared to the BIOS?
474.2 Why do my two LM75's report "-48 degrees"?
484.3 Why do I have two Vcore readings, I have only one processor!
494.4 How do those ALARMS work? The current value is within range but there
50is still an ALARM warning!
514.5 My voltage readings seem to drift a bit. Is something wrong with my power
52supply?
534.6 Some measurements are way out of range. What happened?
544.7 What are VID lines?
554.8 I read sensor values several times a second, but they are only
56updated only each second or so. Why?
574.9 It sometimes seems to take almost a second before I see the
58sensor reading results. Why?
594.10 Can I be alerted when an ALARM occurs?
604.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?
614.12 My BIOS reports a much higher CPU temperature than your modules!
624.13 I try to read the raw /proc files, but the values are strange?!?
634.14 How do I set new limits?
64  4.14A  I set new limits and it didn't work?
654.15 Some sensors are doubly detected?
664.16 I ran sensors-detect, but now I get very strange readings?!?
674.17 Bad readings from the particular chips
68  4.17A Bad readings from the AS99127F!
69  4.17B Bad readings from the VIA 686A!
70  4.17C Bad readings from the MTP008!
71  4.17D Bad temperature readings from the SIS5595!
72  4.17E Bad readings from a w8378[12]d!
73  4.17F Bus hangs on Ali 1543 on Asus P5A boards!
74  4.17G Bad readings from LM75!
75  4.17H Bad readings from LM80!
764.18 How do I configure two chips (LM87) differently?
774.19 Dmesg says Upgrade BIOS! I don't want to!
784.20 Sensors says 'Can't access /proc file'
794.21 Sensors says 'No sensors found!'
804.22 Sensors output is not correct!
814.23 What is at I2C address XXX?
82  4.23A What is at I2C address 0x69?
83  4.23B What is at I2C addresses 0x50 - 0x57?
84  4.23C What is at I2C addresses 0x30 - 0x37?
854.24 Sensors-detect doesn't work at all
86  4.24A Sensors-detect says "Couldn't open /proc/bus/i2c?!?"
87  4.24B Sensors-detect says "Can't open /dev/i2c[-/]0"
88  4.24C Sensors-detect doesn't find any sensors
894.25 Sensors says 'Error: Line xxx: zzzzzzz'
90
915. How to Ask for Help 
925.1 What to do if a module won't insert?
935.2 What to do if it inserts, but nothing happens?
945.3 What to do if I read only bogus information?
955.4 What to do if you have other problems?
965.5 What if it just works like a charm?
97
986. How to Contribute
996.1 How to write a driver
1006.2 How to get CVS access
1016.3 How to donate hardware to the project
1026.4 How to join the project mailing list
1036.5 How to (not) access mailing list archives
1046.6 How to submit a patch
105
1067. Version 1 specific questions
1077.1 My manufacturer swears that my mainboard has an SMBus, but your code
108reports that it can't find it.  What's wrong?
1097.2 The modules won't load, saying 'SMBus not detected'.
1107.3 I try to read /proc/sensors, and I get a "No sensor data yet (try again in
111a few moments)" message. Why?
112
113-------------------------------------------------------------
114
115
1161. PC and Sensor Overview
117--------------------------------------
118
1191.1 What sensors are available on my PC?
120
121    Most PC's built since late 1997 now come with a
122hardware health monitoring chip. This chip may be accessed via the
123ISA bus or the SMBus, depending on the motherboard.
124    Some motherboard chipsets, notably the Via 686 and the SiS 5595,
125contain hardware monitor functions.
126    This FAQ frequently refers to the "LM78". This chip has been
127obsoleted by National Semiconductor. Most motherboards today contain
128a chip with similar functions.
129
130   
1311.2 What can a sensor chip like the "LM78" do?
132
133    The LM78 is a chip made by National Semiconductor which can monitor 7
134voltages (5 positive, 2 negative) from 0 to 4.08V.  The inputs are usually in
135series with voltage dividers which lower the +/- 12V and +/- 5V supplies to
136measurable range.  Therefore, the readings for such inputs need to be
137re-scaled appropriately by software.
138    The LM78 also has 3 fan speed monitoring inputs, an internal
139temperature sensor, a chassis intrusion sensor, and a couple maskable interrupt
140inputs.  The LM78 can also relay the processor's (P6 or Pent II) VID lines
141which are hardwired and used to indicate to the power regulator (usually on
142the mainboard close to the processor socket/slot) what voltage to supply to
143the processor.
144    The LM78 can be interfaced to a system via the ISA bus and/or the
145SMBus.
146    Most other sensor chips have comparable functionality. Each supported
147chip is documented in the doc/chips directory.
148
149   
1501.3 Where do I find out more about any of these chips?
151
152    Most semiconductor companies have comprehensive documentation,
153including complete datasheets, on their websites. Analog Devices,
154Dallas Semiconductor, Maxim, and National Semiconductor have the widest selection
155of sensor chips. Their websites are:
156        http://www.analog.com
157        http://www.dalsemi.com
158        http://www.maxim-ic.com
159        http://www.national.com
160    Please see the file http://www2.lm-sensors.nu/~lm78/useful_addresses.html
161for links to other companies' websites.
162
163
164
1652 Sensor and Bus Basics
166-----------------------------
167
1682.1 How are these sensors read?
169
170    Sensor chips reside on either the ISA bus, the SMBus, or both.
171See the file doc/chips/SUMMARY in our package for a list.
172    To communicate with chips on the ISA bus, the software uses
173simple I/O reads and writes.
174    To communicate with chips on the SMBus, the software must
175use an SMBus interface device, explained below.
176   
177
1782.2 What is the SMBus? And the I2C bus?
179
180    The SMBus is the "System Management Bus".  More specifically, it is a
1812-wire, low-speed serial communication bus used for basic health monitoring
182and hardware management. It is a specific implementation of the more
183general I2C (pronunciation: I-squared-C) bus. In fact, both I2C devices
184and SMBus devices may be connected to the same (I2C) bus.
185    The SMBus (or I2C bus) starts at the host controller, used for
186starting transactions on the SMBus.  From the host interface, the
187devices communicated with are the 'slave' devices.  Each slave device has a
188unique 7-bit address in which the host must refer to it with.
189    For each supported SMBus host, there is a separate kernel module
190which implements the communication protocol with the host. Some SMBus hosts
191really operate on the SMBus level; these hosts can not cope with pure I2C
192devices. Other hosts are in fact I2C hosts: in this case, we implement
193the SMBus protocol in terms of I2C operations. But these hosts can also
194talk to pure I2C devices.
195   
196
1972.3 I don't have an ISA bus!
198
199    We promise, you do, even if you don't have any old ISA slots.
200The "ISA Bus" exists in your computer even if you don't have ISA slots;
201it is simply a memory-mapped area, 64KB in size (0x0000 - 0xFFFF)
202where many "legacy" functions, such as keyboard and interrupt controllers,
203are found. It isn't necessarily a separate physical bus.
204See the file /proc/ioports for a list of devices living on
205the "ISA Bus" in your system. If you don't like the term "ISA Bus"
206think "I/O Space".
207
208
2092.4 What sensors do processors have?
210
211    Most new processors contain a thermal diode on the die itself.
212The electical properties of all diodes and transistors vary
213slightly with temperature. The thermal diode is exceptionally accurate
214because it is directly on the die. Newer temperature sensor chips,
215like the Analog Devices ADM1021 and clones, and the Winbond chips,
216have circuitry for measuring the the electrical properties of
217an external diode and converting this data to a temperature.
218Any sensor chip listed in doc/chips/SUMMARY in our package which
219has support for more than one temperature supports external temperature sensing.
220    Older motherboards and processors without this feature generally use
221an LM75 placed close to the processor. This is much less accurate.
222    The Pentium 2 'boxed' processor usually has an LM75 very close to the
223base of the box. It can be read through the SMBus to report the approximate
224temperature of the processor.  The processor also contains an internal
225temperature sensor (of low accuracy) used as a fail-safe to disable the
226processor in case it gets much too hot (usually around 130 degrees C).  And,
227the Pentium 2 also has a hard-wired signal (VID lines) on it's SEC (single
228edge connector) which indicates what power supply is required to operate the
229processor.
230    The P6 (Pentium-Pro) may have an LM75 in or just under the socket. 
231P6's also have VID lines.
232    Pentiums and Pentium w/ MMX do not have VID lines, and sometimes have
233LM75's under the sockets (depends on the mainboard, and how 'modern' the
234mainboard is).
235    The P2 Xeon was the first Intel processor to include the SMBus
236interface on the P2 Xeon SEC.
237   
238
2392.5 How often are the sensor values updated?
240
241    The LM78, and most other sensor chips like it, reads its sensors one
242by one. A complete scanning sweep will take about 1.5 seconds. The LM78 stops
243readings sensors if you try to access it, so if you access it very often
244(by reading sensor values; writing new limits is safe) it will not find the
245time to update its sensor values at all! Fortunately, the kernel module takes
246care not to do this, and only reads new values each 1.5 seconds. If you
247read the values again, you will get the 'old' values again.
248
249
2502.6 How are alarms triggered?
251
252    It is possible to monitor each sensor and let an alarm go off if
253it crosses some pre-determined limits.  There are two sorts of interrupts
254which can be generated by sensor chips if this happens (it depends a bit on
255the actual chip if both are supported; the LM80, for example, has only
256IRQ interrupts): IRQ interrupts and SMI interrupts.  IRQ stands for
257Interrupt Request and are the interrupt lines you can find in /proc/interrupts.
258SMI stands for System Management Interrupt, and is a special interrupt which
259puts the processor in a secure environment independent of any other things
260running.  SMI is currently not supported by the Linux kernel.  IRQs are
261supported, of course.
262    Even if no interrupt is generated, some bits in a status register
263will be set until the register is read the next time. If the alarm condition
264persists after that, the bits will be set on the next scanning sweep, etc.
265    At this moment, interrupts are not supported.
266
267
268
2693 Installation and management
270-----------------------------
271
2723.1 Why so many modules, and how do I cope with them?
273
274    We tried to make this package as modular as possible. This makes it
275easy to add new drivers, and unused drivers will take no precious kernel
276space. On the other hand, it can be a bit confusing at first.
277    Here are two simple guidelines:
278        * Run 'sensors-detect' and do what it tells you.
279        * Always use 'modprobe', not 'insmod'.
280    Further information is in doc/modules.
281
282
2833.2 How do I know which chips I own?
284
285    We have an excellent program that scans all your hardware.
286It is called 'sensors-detect' and is installed in /usr/local/sbin
287by 'make install'. Just execute this script, and it will tell you.
288    Chip detection in the drivers is fairly good. That means that it is
289usually harmless to insert more chip drivers than you need. However, this
290can still lead to problems, so we do not recommend it.
291    If sensors-detect didn't find any sensors, either you don't have
292any, or the ones you have, we don't support. Look at your motherboard
293for candidates, then go to section 5.
294
295
2963.2A What chips are on motherboard XYZ?
297
298    We have no idea. Here is what you should do:
299        1) Run sensors-detect.
300    If that doesn't work:
301        2) Look at your motherboard.
302        3) Check the manufacturer's website.
303        4) Check the Motherboard Monitor website
304           (see useful_addresses.html) for a good cross-reference.
305
306
3073.2B Do you support motherboard XYZ?
308
309    See 3.2A.
310
311
3123.2C Do you support chip XYZ?
313
314    This we have good answers for.
315        Sorted by Manufacturer:   README
316        Sorted by Manufacturer:   http://www2.lm-sensors.nu/~lm78/supported.html
317        Sorted by Sensor Driver:  doc/chips/SUMMARY
318        Newest Driver Status:     http://www2.lm-sensors.nu/~lm78/newdrivers.html
319       
320
3213.2D Anybody working on a driver for chip XYZ?
322
323        Newest Driver Status:     http://www2.lm-sensors.nu/~lm78/newdrivers.html
324
325
3263.3 Which modules should I insert?
327
328    'sensors-detect' will tell you. Take the 'modprobe' lines it
329recommends and paste them into the appropriate /etc/rc.d/xxxx file
330to be executed at startup.
331    You need one module for each sensor chip and bus adapter you own;
332if there are sensor chips on the ISA bus, you also need i2c-isa.o.
333for each type of chip you own. That's all. On my computer, I could use the
334following lines:
335        modprobe i2c-isa
336        modprobe i2c-piix4
337        modprobe lm78
338        modprobe lm75
339        modprobe i2c-dev
340        sensors -s
341
342
3433.4 Do I need the sensors.conf configuration file?
344
345    Yes, for any applications that use libsensors, including the
346'sensors' application included in our package.
347It tells libsensors how to translate the values the chip
348measures to real-world values. This is especially important for voltage
349inputs. The default configuration file should usually do the trick.
350It is automatically installed as /etc/sensors.conf, but it will not
351overwrite any existing file with that name.
352
353
3543.4A The labels for the voltage and temperature readings in 'sensors' are incorrect!
355
356    Every motherboard is different. You can customize the labels
357in the file /etc/sensors.conf. That's why it exists!
358The default labelling (in lib/chips.c and /etc/sensors.conf) is just
359a template.
360
361
3623.4B The min and max for the readings in 'sensors' are incorrect!
363
364    You can customize them in the file /etc/sensors.conf. See above.
365
366
3673.4C The min and max settings in /etc/sensors.conf didn't take effect!
368
369    You forgot to run 'sensors -s'. See above.
370
371
3723.4D One sensor isn't hooked up on my board!
373
374    Use an 'ignore' line in /etc/sensors.conf so it isn't
375displayed in 'sensors'.
376
377
3783.4E I need help with sensors.conf!
379
380    There is detailed help at the top of that file.
381
382
3833.5 What about the 'No such file or directory' warnings when I compile it?
384
385    Don't worry about them. The dependency files (which tell which
386files should be recompiled when certain files change) are created
387dynamically. They are not distributed with the package. The `make' program
388notices they are not there, and warns about that - and the first thing
389it will do is generate them. So all is well.
390
391
3923.6 I get all kinds of weird compilation errors?
393
394    Check that the correct i2c header files are used. Depending on
395how you installed, they should be under either /usr/local/include or
396/usr/src/linux*/include. Try to edit the Makefile for the other setting.
397
398
3993.6A 'No rule to make target xxxx needed by xxxx' - how to fix?
400
401    See 3.6 above. Also try 'make clean' in lm_sensors.
402    If that doesn't work, try 'make clean' in i2c.
403    If that doesn't work, try 'make clean' in the kernel.
404    Also make sure /usr/include/linux points to /usr/src/linux/include/linux.
405
406
4073.7 It still does not compile or patch!
408
409    Have you installed the matching version of the i2c package? Remember,
410compilation is not enough, you also need to install it for the header
411files to be found!
412    If you want to patch the kernel, you will have to apply the i2c
413patches first!
414
415
4163.8 'make install' fails on Mandrake kernels
417
418    Mandrake uses a non-standard version.h file which confuses our Makefile.
419Edit our Makefile on the 'MODDIR :=' line to hard-code the module directory.
420
421
422
4234 Problems
424----------
425
4264.1 Why do my fans report exactly half/double their values by your code
427compared to the BIOS?
428
429    The problem with much of the sensor data is that it is impossible to
430properly interpret some of the readings without knowing what the hardware
431configuration is.  Some fans report one 'tick' each rotation, some report
432two 'ticks' each rotation. It is easy to resolve this through the
433configuration file:
434    chip lm78-*               # Or whatever chip this relates to
435    compute fan1 2*@,@/2      # Copy for each fan present
436
437
4384.2 Why do my two LM75's report "-48 degrees"?
439
440    For starters, those aren't LM75's.  Your mainboard actually has the
441Winbond W83781D which emulates two LM75's, but many systems which use the
442Winbond chip (such as the Asus P2B) don't have the thermo-resisters connected
443to the chip resulting in these strange -48 degree readings.
444    If you have an Asus P2B and want more information on adding thermal
445sensing capability, check out:
446http://ultimatepc.fsn.net/techinfo/p2bthermistor/p2bthermistor.htm
447    In upcoming versions, you will be able to disable non-interesting
448readings.
449
450
4514.3 Why do I have two Vcore readings, I have only one processor!
452
453    The LM78 has seven voltage sensors. The default way of
454connecting them is used in the configuration file. This includes a VCore2,
455even if you do not have one. You can easily edit the configuration file
456to give it another name, or (in upcoming versions) to make this reading
457disappear.
458    Note that Vcore2 is often the same as Vcore on motherboards which
459only support one processor. Another possibility is that Vcore2 is not
460connected at all and will not have a valid reading at all.
461A third possibility, is that Vcore2 monitors something
462else, so you should not be too surprised if the values are completely
463different.
464
465
4664.4 How do those ALARMS work? The current value is within range but there
467is still an ALARM warning!
468
469    The ALARM indications in 'sensors' are those reported by the
470sensor chip itself. They are NOT calculated by 'sensors'.
471    An ALARM will go off when a minimum or maximum limit is crossed.
472The ALARM is then latched - that is, it will stay there until the
473chip's registers are next accessed - which will be the next time
474you read these values, but not within (usually) 1.5 seconds since the last
475update.
476    Reading the registers clears the ALARMS, unless the current
477value is still out of range.
478    The purpose of this scheme is to tell you if there has been
479a problem and report it to the user. Voltage or temperature spikes
480get detected without having to read the sensor chip hundreds of times
481a second. The implemetation details depend a bit on the kind of chip.
482See the specific chip documentation in doc/chips and the
483chip datasheet for more information.
484
485
4864.5 My voltage readings seem to drift a bit. Is something wrong with my power
487supply?
488
489    No, probably not. If your motherboard heats up a bit, the sensed
490voltages will drift a bit. If your power supply is loaded (because a disk
491gets going, for example), the voltages may get a bit lower. As long as they
492stay within a sensible range (say 10% of the expected value), there is no
493reason to worry.
494
495
4964.6 Some measurements are way out of range. What happened?
497
498    Each module tries to set limits to sensible values on initialization,
499but a module does not know how a chip is actually connected. This is
500described in the configuration file, which is not read by kernel modules.
501So limits can be strange, if the chip is connected in a non-standard way.
502    Readings can also be strange; there are several reasons for this.
503Temperature sensors, for example, can simply not be present, even though
504the chip supports them. Also, it can be that the input is used in a
505non-standard way. You can use the configuration file to describe how this
506measurement should be interpreted; see the comments the example file for
507more information.
508
509
5104.7 What are VID lines?
511
512    These describe the voltage your processors use. This is supported
513for most processors, however they are not always
514correctly connected to the sensor chip, so the readings may be out of
515range. A value of +3.5 V is especially suspect.
516
517
5184.8 I read sensor values several times a second, but they are only
519updated only each second or so. Why?
520
521    If we would read the registers more often, it would not find the
522time to update them. So we only update our readings once each 1.5 seconds
523(the actual delay is chip-specific; for some chips, it may not be needed
524at all).
525
526
5274.9 It sometimes seems to take almost a second before I see the
528sensor reading results. Why?
529
530    ISA bus access is fast, but SMBus access is really slow. If you have
531a lot of sensors, it just takes a lot of time to access them. Fortunately,
532this has almost no impact on the system as a whole, as another job can run
533while we are waiting for the transaction to finish.
534
535
5364.10 Can I be alerted when an ALARM occurs?
537
538    No, you can't; and it may well be never supported.
539    Almost no mainboard we have encountered have actually connected the
540IRQ-out pin of sensor chips. That means that we could enable IRQ reporting, but
541nothing would happen. Also, even if a motherboard has it connected, it is
542unclear what interrupt number would be triggered. And IRQ lines are a scarce
543facility, which means that almost nobody would be able to use it anyway.
544    The SMI interrupt is only available on a few types of chips. It is
545really a very obscure way to handle interrupts, and supporting it under Linux
546might be quite hard to do.
547    Your best bet would be to poll the alarm file with a user-land daemon
548which alerts you if an alarm is raised. I am not aware of any program which
549does the job, though you might want to examine one of the graphical monitor
550programs under X, see doc/useful_addresses.html for addresses.
551
552
5534.11 SMBus transactions on my PIIX4 simply don't work (timeouts happen).  Why?
554
555    Some chips which mainboard makers connect to the SMBus are not SMBus
556devices.  An example is the 91xx clock generator chips.  When read, these
557devices can lock up the SMBus until the next hard reboot.  This is because
558they have a similar serial interface (like the I2C), but don't conform to
559Intel's SMBus standard.
560    Why did they connect these devices to the SMBus if they aren't
561compatible?  Good question! :')  Actually, these devices may support being
562written to, but lock things up when they are read.
563
564
5654.12 My BIOS reports a much higher CPU temperature than your modules!
566
567    We display the actual temperature of the sensor. This may not be the
568temperature you are interested in, though.  If a sensor should measure
569the CPU temperature, it must be in thermal contact with it.  In practice,
570it is just somewhere near it. Your BIOS may correct for this (by adding,
571for example, thirty degrees to the measured temperature).  The correction
572factor is regrettably different for each mainboard, so we can not do this
573in the module itself. You can do it through the configuration file, though:
574 
575    chip lm75-*-49                     # Or whatever chip this relates to
576    label temp "Processor"
577    compute temp @*1.2+13,(@-13)/1.2   # Or whatever formula
578
579
5804.13 I try to read the raw /proc files, but the values are strange?!?
581
582    Remember, these values do not take the configuration file
583'compute' lines in account. This is especially obvious for voltage readings
584(usually called in? or vin?). Use a program linked to libsensors (like
585the provided 'sensors' program) instead.
586
587
5884.14 How do I set new limits?
589
590    Change the limit values in /etc/sensors.conf and then run
591'sensors -s'.
592
593
5944.14A  I set new limits and it didn't work?
595
596    You forgot to run 'sensors -s'. Put it in a /etc/rc.d/... file
597after the modprobe lines to run at startup.
598
599
6004.15 Some sensors are doubly detected?
601
602    Yes, this is still a problem. It is partially solved by alias detection
603and confidence values in sensors-detect, but it is really tough.
604    Double detections can be caused by two things:
605sensors can be detected to both the ISA and the SMBus (and if you have
606loaded the approprate adapter drivers, it will be detected on both), and
607some chips simulate other chips (the Winbond W83781D simulates LM75 chips
608on the SMBus, for example). Remove the offending adapter or chip driver, or
609run sensors-detect and add the "ignore=" modprobe parameters it suggests.
610
611
6124.16 I ran sensors-detect, but now I get very strange readings?!?
613
614    Your SMBus (PIIX4?) is probably crashed or hung. There are some mainboards
615which connect a clock chip to the SMBus. Unfortunately, this clock chip
616hangs the PIIX4 if it is read (it is an I2C device, but not SMBus compatible).
617We have found no way of solving this, except for rebooting your computer.
618Next time when you run sensors-detect, you may want to exclude addresses
6190x69 and/or 0x6a, by entering 's' when you are asked whether you want to
620scan the PIIX4.
621
622
6234.17 Bad readings from particular chips
624
625    See below for some particularly troublesome chips.
626Also be sure and check doc/chips/xxxxx for the particular driver.
627
628
6294.17A Bad readings from the AS99127F!
630
631    The Asus AS99127F is a modified version of the Winbond W83781D.
632Asus will not release a datasheet. The driver was developed by tedious
633experimentation. We've done the best we can. If you want to make adjustments
634to the readings please edit /etc/sensors.conf. Please don't ask us to
635fix the driver. Ask Asus to release a datasheet.
636
637
6384.17B Bad readings from the VIA 686A!
639
640    The Via 686A datasheet is incomplete.
641Via will not release details. The driver was developed by tedious
642experimentation. We've done the best we can. If you want to make adjustments
643to the readings please edit /etc/sensors.conf. Please don't ask us to
644fix the driver. Ask Via to release a better datasheet.
645
646
6474.17C Bad readings from the MTP008!
648
649    The MTP008 has programmable temperature sensor types.
650If your sensor type does not match the default, you will have to change it.
651See doc/chips/mtp008 for details.
652Also, MTP008 chips seem to randomly refuse to respond, for
653unknown reasons. You can see this as 'XX' entries in i2cdump.
654
655
6564.17D Bad temperature readings from the SIS5595!
657
658    This chip can use multiple thermistor types and there are also
659two different versions of the chip. We are trying to get the driver
660working better and develop formulas for different thermistors
661but we aren't there yet. Sorry.
662Also, many times the chip isn't really a sis5595 but it was
663misidentified. We are working on improving that too.
664
665
6664.17E Bad readings from a w8378[12]d!
667
668    Do you own an ASUS motherboard?  Perhaps your chip is being
669misidentified.  Look on the motherboard (or at
670http://mbm.livewiredev.com) for a 'Winbond' or Asus chip.
671Often the real device is an Asus as99127f. If so, the driver can be
672forced to recognize the as99127f with
673'force_as99127f=BUS,0x2d' where BUS is your i2c bus number.
674Cat /proc/bus/i2c to see a list of bus numbers.
675Read the w83781d module documentation (doc/chips/w83781d)
676for more details.
677
678
6794.17F Bus hangs on Ali 1543 on Asus P5A boards!
680
681    The SMBus tends to hang on this board and it seems to get worse
682at higher temperatures. Use ISA accesses to reliably use the w83781d
683monitor chip on this board and use the 'ignore=1,0x2d' or similar option
684to the w83781d module to prevent i2c accesses.
685
686
6874.17G Bad readings from LM75!
688
689    The LM75 detection is poor and other hardware is often misdetected
690as an LM75. Figure out what you really have (see 4.24C).
691
692
6934.17H Bad readings from LM80!
694
695    The LM75 detection is poor and other hardware is often misdetected
696as an LM75. Figure out what you really have (see 4.24C).
697
698
6994.18 How do I configure two chips (LM87) differently?
700
701    There is a SuperMicro board with two LM87's on it that are
702not hooked up in the same way, so they need different defaults.
703For example, both CPU temperatures go to one LM87.
704
705    Make two different sections in /etc/sensors.conf as follows:
706        chip "lm87-i2c-*-2c"
707                put configuration for the chip at 0x2c here
708        chip "lm87-i2c-*-2d"
709                put configuration for the chip at 0x2d here
710
711
7124.19 Dmesg says Upgrade BIOS! I don't want to!
713
714    If the problem is a PCI device is not present in 'lspci', the solution
715is complex. For the ALI M7101 device, there is a solution which uses the
7162.4 kernel's 'hotplug' facility. See prog/hotplug in our package.
717For other PCI devices, you can try to modify
718the m7101 solution in prog/hotplug.
719    If the problem is a PCI device whose base address is not set,
720you may be able to set the address with a force parameter. The via686a
721and sis5595 chip drivers, and some bus drivers, support the command line
722'modprobe via686a force_addr=0xADDRESS' where ADDRESS
723is the I/O address (cat /proc/ioports to verify you don't have
724a conflict). Other drivers generally do not
725support the force_addr parameter. Sorry. Check the documentation
726for your driver in doc/[chips,busses] and if we don't suupport it
727you can send us your request.
728
729
7304.20 Sensors says 'Can't access /proc file'
731
732    (release 2.6.0 and later) Did you 'modprobe i2c-proc'? Check 'lsmod'.
733    (release 2.5.5 and earlier) Did you 'modprobe sensors'? Check 'lsmod'.
734    If you did 'sensors -s', did you run it as root?
735    Do you have /proc support in your kernel (is /proc there?)
736
737
7384.21 Sensors says 'No sensors found!'
739
740    Did sensors-detect find sensors? (If not see 4.23C)
741    Did you do what sensors-detect said?
742    Did you 'modprobe' your sensor modules?
743    Did you 'modprobe' your I2C adapter modules?
744    Did you 'modprobe i2c-isa' if you have ISA sensor chips?
745    Check 'lsmod'.
746
747
7484.22 Sensors output is not correct!
749
750    What specifically is the trouble?
751        Labels: See 3.4A above.
752        Min/max readings: See 3.4B&C above.
753        AS99127F: See 4.17 above
754        Via 686A: See 4.18 above
755        No output for a particular sensors chip: See 5.2 below
756        No output at all: See 4.21, 4.22 above; 5.2 below
757        Completely bad output for a particular sensor chip: See 5.3 below
758        One particular sensor readings:
759            Maybe it isn't hooked up;
760                tell 'sensors' to ignore it. See 3.4D above.
761            Maybe it is hooked up differently on your motherboard;
762                adjust sensors.conf calculation.
763
764
7654.23 What is at I2C address XXX?
766
767    In general, we don't know. Start by running sensors-detect.
768If it doesn't recognize it, try running i2cdump. A partial list
769of manufacturers' IDs are at the bottom of doc/chips/SUMMARY.
770
771
7724.23A What is at I2C address 0x69?
773
774    A clock chip. Often, accessing these clock chips in the wrong
775way will instantly crash your computer. Sensors-detect carefully
776avoids these chips. If you really really want to play with your clock
777chip you can look at kernel/chips/icspll.c in our package. But we
778do not recommend it. You have been warned.
779
780
7814.23B What is at I2C addresses 0x50 - 0x57?
782
783    EEPROMs on your SDRAM DIMMs. Load the eeprom module to
784look at some basic data in 'sensors' or use the program
785prog/eeprom/decode-dimms.pl to get more information than you ever wanted.
786
787
7884.23C What is at I2C addresses 0x30 - 0x37?
789
790    These are often 'shadows' of you EEPROMs on your SDRAM DIMMs
791at addresses 0x50 - 0x57. They aren't really there. If you try and
792do a 'i2cdump' on them you won't get anything. This is probably
793caused by some timing problem on your motherboard or on the DIMMs.
794We don't know the exact cause.
795
796
7974.24 Sensors-detect doesn't work at all
798
799    It could be many things. What was the problem? See below
800    in questions 4.24 A-C.
801
802
8034.24A Sensors-detect says "Couldn't open /proc/bus/i2c?!?"
804
805    You don't have i2c support in your kernel, or the i2c-core module
806was not loaded and you did not run sensors-detect as root.
807
808
8094.24B Sensors-detect says "Can't open /dev/i2c[-/]0"
810
811    Your /dev/i2c-0, /dev/i2c0, or /dev/i2c/0 files do not exist
812or you did not run sensors-detect as root.
813Run the script prog/mkdev/mkdev.sh to create the /dev/i2c-x files.
814Run devfs in the kernel to get the /dev/i2c/x files.
815
816
8174.24C Sensors-detect doesn't find any sensors!
818
819    Either
820        1) The board doesn't have any sensors.
821        2) We don't support the sensors on the board.
822        3) The sensors it has are on an I2C bus connected to an
823           I2C bus adapter that we don't support.
824    But in any case you should figure out what is on the board:
825        1) Look at your motherboard.
826        2) Check the manufacturer's website.
827        3) Check the Motherboard Monitor website
828           (see useful_addresses.html) for a good cross-reference.
829
830
8314.25 Sensors says 'Error: Line xxx: zzzzzzz'
832
833    These are errors from the libsensors library in
834    reading the /etc/sensors.conf configuration file. Go to that line
835    number and fix it. If you have a parse error, perhaps you have
836    to put the feature name in double quotes.
837
838
8395 How to ask for help
840---------------------
841
842    We are always willing to answer questions if things don't work out.
843Please mail sensors@stimpy.netroedge.com, and not the individual authors,
844unless you have something private to say.
845    Instead of using email, you can also use the web-based support
846area, at http://www.netroedge.com/~lm78/support.html. You will be helped
847just as fast, and others may profit from the answer too. You will be
848noticed automatically when your question has been answered.
849
850    Here's what you should send us:
851
852    - The dmesg or syslog output if applicable
853    - The output of (as root) 'prog/detect/sensors-detect'
854    - The output of 'lsmod'
855    - If a PCI chip problem:
856        * The output of 'lspci' or 'cat /proc/pci'
857    - If a I2C sensor chip problem:
858        * The output of (as root) 'prog/detect/i2cdetect X'
859              X = the bus number
860              (run 'i2cdetect' with no arguments to list the busses)
861        * The output of (as root) 'prog/dump/i2cdump X 0xXX'
862              XX = the address of each chip you see in the output
863              of i2cdetect. (run once for each chip)
864    - If a ISA sensor chip problem:
865        * The output of (as root) 'prog/dump/isadump 0x295 0x296'
866    - Part numbers of chips on your motherboard you think are
867          the sensor chips (look at your motherboard)
868    - Motherboard type
869    - Sensors version
870    - Kernel version
871
872
8735.1 What to do if a module won't insert?
874
875    Did you use 'modprobe' instead of 'insmod'??? Don't use insmod.
876    Were there unresolved symbols? Did you run 'depmod -a'? Run
877'depmod -a -e' to see where the symbol problem is.
878    Always inspect the output of 'dmesg'. That's where the error
879messages come out. Don't rely on the generic message from 'modprobe'.
880If you still can't figure it out, send us the information
881listed above.
882
883
8845.2 What to do if it inserts, but nothing happens?
885
886    For an ISA sensor chip, did you also 'modprobe i2c-isa'? It must be inserted.
887    For an I2C sensor chip, did you also 'modprobe i2c-xxx' where xxx is your
888I2C bus adapter? It must be inserted.
889    Always inspect the output of 'dmesg'. That's where the error
890messages come out. If you still can't figure it out, send us the information
891listed above.
892
893
8945.3 What to do if I read only bogus information?
895
896    It may be that this was a mis-detection: the chip may not be
897present. If you are convinced there is something wrong, verify that you
898indeed have the devices on your motherboard that you think you do.
899Look at the motherboard and make sure. If you are still stuck,
900please send us the usual information (see section 5).
901
902
9035.4 What to do if you have other problems?
904
905    Again, send the output listed above.
906
907
9085.5 What if it just works like a charm?
909
910    Drop us a mail if you feel like it, mentioning the mainboard and
911detected chip type. That way, we have some positive feedback, too!
912
913
9146. How to Contribute
915--------------------
916
9176.1 How to write a driver
918
919    See doc/developers/new_drivers in our package for instructions.
920
921
9226.2 How to get CVS access
923
924    For anonymous CVS read access, see the instructions on our download page.
925    Sorry, we don't have automatically generated CVS tarballs.
926    For write access, run the script doc/developers/genpasswd.pl in
927    our package and follow the instructions. Let us know what part
928    of the package you would like to work on.
929
930
9316.3 How to donate hardware to the project
932
933    Send us email <sensors@stimpy.netroedge.com>.
934
935
9366.4 How to join the project mailing list
937
938    Send us email <sensors@stimpy.netroedge.com>. Sorry, no automated
939    subscribe/unsubscribe service.
940
941
9426.5 How to (not) access mailing list archives
943
944    Sorry, there is no archive.
945
946
9476.6 How to submit a patch
948
949    Check out the latest from CVS, then copy the directory to another
950    directory, and make your changes. Generate the diff with
951    'diff -u2 -r DIR1 DIR2'. Or you can generate the diff in CVS with
952    'cvs diff -u2'. Send us the patch in an email and tell us what it does.
953
954
9557. Version 1 specific questions
956------------------------------
957
958Note: Version 1 is very very old and is not recommended.
959
9607.1 My manufacturer swears that my mainboard has an SMBus, but your code
961reports that it can't find it.  What's wrong?
962
963    Currently, our code only assumes that an SMBus exists if it originates
964from the Intel PIIX4 (82371AB).  If your computer doesn't have one, or if your
965SMBus originates from a different SMBus 'host', then you are out of luck. :'(
966Our experience is, though, that most machines have a PIIX4, and that it is
967where the SMBus is hosted.
968
969Regarding the VIA chip set(s):
970    Right now, the SMBus code depends on the Intel PIIX4 chip to handle
971SMBus transactions.  The VIA chip set is NOT supported at this time because
972it forces much of the SMBus protocol to be implemented by software.
973    To implement the SMBus correctly with the VIA chip, it needs to be
974written at a low level to be quick.  A more attractive alternative is to
975use the Bios SMBus interface (not always available nor standard).
976
977    Version 2 supports the VIA chipset, and will support other chipsets.
978Version 1 never will.
979
980
9817.2 The modules won't load, saying 'SMBus not detected'.
982
983    This should no longer be an issue in 1.4.10 and later; it will
984continue loading, but it won't support SMBus-connected devices, of course.
985
986
9877.3 I try to read /proc/sensors, and I get a "No sensor data yet (try again in
988a few moments)" message. Why?
989
990    It takes about 1.5 seconds for the LM78 to update all its sensor
991values.  If we would try to read it before it finished that, you would get
992old garbage instead. So you have to wait 1.5 seconds after the module is
993inserted before you can access /proc/sensors.
994    Module versions 1.3.7 and later let the process sleep if it tries
995to access sensor data right after insertion time, and do not display this
996message anymore.
997
998
9997.4 On my Dell, a LM80 is detected, but all readings are 0!
1000
1001    This is a bug we have only observed on Dell computers. There is
1002probably a problem with the way the SMBus is accessed; but it is not yet
1003clear whether the problem is in our code or with the Dells.
1004    There are very probably no sensor chips at all on your computer;
1005but until somebody contacts Dell about this and tells us the results, we
1006can not be sure.
1007
1008
1009---------------------------------------------------------------------------------------
1010---------------------------------------------------------------------------------------
1011
1012Rev 2.4 (MDS) Minor updates 20010929
1013Rev 2.4 (MDS) Minor updates 20010722
1014Rev 2.3 (MDS) General update, 20010224, released with lm_sensors 2.6.0.
1015Rev 2.2 (Frodo) Corrections for lm_sensors 2.4, 19990920
1016Rev 2.1 (Frodo) Corrections for lm_sensors 2.2, 19990112
1017Rev 2.0 (Frodo) Major revision for lm_sensors 2.1, 19981229
1018Rev 1.10 (Frodo) Modified 3.8, updated some other things, 19980924
1019Rev 1.9 (Frodo) Added 3.15, 19980906
1020Rev 1.8 (Frodo) Added 3.14, 19980905
1021Rev 1.7 (Phil) Added 3.13 and some other minor changes, 19980901
1022Rev 1.6 (Frodo) Added 4, 4.1, 4.2, 4.3, 4.4, 4.5, 19980901
1023Rev 1.5 (Frodo) Added 2.3, 2.4, 3.9, 3.10, 3.11, 19980826
1024Rev 1.4 (Frodo) Added some more Winbond information, and 3.5-3.8, 19980817
1025Rev 1.3 Added info on the Winbond chip, 19980816
1026Rev 1.2 Adapation by Frodo Looijaard, 19980810
1027Rev 1.1 Modifications by Philip Edelbrock, 19980809
1028Rev 1.0 Written by Philip Edelbrock, 19980803
Note: See TracBrowser for help on using the browser.