root/lm-sensors/trunk/BUGS @ 1173

Revision 1173, 6.4 KB (checked in by mds, 12 years ago)

add more info about Asus P5A i2c-ali15x3 hangs

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Except for many unimplemented things (listed in the TODO file), there may be
2true bugs too. If you experience any problems not listed here,
3do not hesitate to mail sensors@stimpy.netroedge.com.
4But read this file and doc/FAQ first, please!
5
6============================================================================
7These are current problems with specific programs and drivers.
8In general, please don't send us mail telling us you have the
9same problem!!  Do send us mail if you have a fix!!
10
11
12================================
13Asus boards - as99127f support (w83781d driver)
14
15Several problems. Asus will not release a datasheet.
16Support was developed - and tweaked - with experimentation and user feedback.
17These will not be fixed unless we get a datasheet.
18If you have problems, please lobby Asus to release a datasheet.
19Unfortunately, several others have done so, without success.
20Please do not send mail to us asking for better as99127f support.
21We have done the best we can without a datasheet.
22The changes we do make to please some people generally makes
23things worse for people with other types of motherboard.
24Please do not send mail to the author or the sensors group asking for
25a datasheet or ideas on how to convince Asus.
26See doc/chips/w83781d for more information.
27
28Also, many as99127f chips are misidentified as w83781d or w83782d chips.
29If so, you can fix this by forcing the driver:
30modprobe w83781d force_as99127f=BUS,0x2d where BUS is your bus number
31(cat /proc/bus/i2c to identify your bus number).
32
33================================
34i2c/smbus lockup (i2c-piix4 and i2c-ali15x3 drivers)
35
36Sometimes the i2c bus will get hung and the driver can't un-hang it.
37If this is caused by a hung sensor chip (mtp008 and w83781d chips may
38be culprits), only a reboot or even power cycle will clear it
39(if the SDRAM eeproms are on the hung i2c bus, the machine probably won't
40boot until the power is cycled).
41If there are bugs in the i2c bus drivers, or improvements we can make to
42error recovery, we don't know what they are.
43
44On the ASUS P5A motherboard, there are several reports that
45the SMBus will hang and this can only be resolved by
46powering off the computer. It appears to be worse when the board
47gets hot, for example under heavy CPU load, or in the summer.
48There may be electrical problems on this board.
49On the P5A, the W83781D sensor chip is on both the ISA and
50SMBus. Therefore the SMBus hangs can generally be avoided
51by accessing the W83781D on the ISA bus only.
52
53================================
54IBM Thinkpad laptops and sensors-detect
55See the file README.thinkpad
56
57
58================================
59mtp008 support
60
61This chip does not always respond, as evidenced by 'XX' fields
62in i2cdump. Results in non-detection by sensors-detect and/or
63the mtp008 driver, or periodic bad readings.
64Cause unknown - perhaps a bug in the chip, or the chip
65not meeting the i2c specifications.
66
67
68================================
69sis5595 (sis5595 and i2c-sis5595 drivers)
70
71These drivers latch on to many non-sis5595 chips which
72do not support sensors, i2c bus, or both.
73This is because SiS uses the same PCI ID for several different chips.
74This will have to be fixed by us to recognize these other chips.
75
76Right now, the driver tries
77writing the base addresses (using the force_addr=0x.... parameter to modprobe),
78it does not work for some machines (dmesg message is "force address failed").
79Either some chips do not support sensors, or there is some undocumented
80lock bit for the base address registers.
81
82Also, the temperature reading in sis5595 is usually wrong.
83Different formulas are required for different versions of
84the chip and different motherboards.
85
86================================
87bus drivers (all)
88
89Rmmod'ing a bus driver when the /proc directory for a chip
90driver on that bus is in use may cause a kernel oops, because
91the chip driver gets removed too. See ticket #331 for details.
92Not likely to happen. No obvious way to fix.
93
94
95============================================================================
96Following are old problems with older kernels.
97
98
99Pre-2.1.58 /proc directory Oops
100===============================
101
102There is a problem in pre 2.1.58 kernels that can make the kernel Oops. You
103can trigger this Oops if you have opened any file, or are in any directory,
104created by a module. If you remove the module at such a moment, successive
105access to those files or directories will make the kernel complain through
106an Oops. There is really no good way to solve this. Stock kernel modules
107exhibit the same problem, by the way. Kernels from 2.1.58 onwards have new
108fill_inode() semantics; using this function, we can increase the module use
109count while a module file or directory is accessed. This solves the problem,
110because it makes it impossible to remove the module.
111Alan Cox (alan@lxorguk.ukuu.org.uk), the maintainer of 2.0 kernels, has
112said he will consider patches that backport this 2.1 feature; perhaps it
113will be in 2.0.37. Until then, be careful when you unload modules.
114
115
1162.2.x cdrom.o Oops
117==================
118
119Module cdrom.o in all 2.2 kernels conflicts with our sensors.o module.
120You can get an Oops if cdrom.o is unloaded after sensors.o was loaded.
121Below is a small diff that you can apply to the kernel to correct this.
122Another solution is to make sure cdrom.o is never unloaded, or to make
123sure it is not a module but compiled into the kernel proper.
124
125The diff corrects a long-standing /proc bug. It will go into kernel 2.2.2
126or later in a somewhat modified form. It was written by Jens Axboe
127<axboe@image.dk>.
128
129-----cut here-----
130--- virgin/kernel/sysctl.c      Sat Jan  9 07:54:16 1999
131+++ linux/kernel/sysctl.c       Mon Feb  1 23:44:58 1999
132@@ -559,12 +559,12 @@
133                        unregister_proc_table(table->child, de);
134                }
135                /* Don't unregister proc directories which still have
136-                  entries... */
137-               if (!((de->mode & S_IFDIR) && de->subdir)) {
138+                  entries or are still being used... */
139+               if (!((de->mode & S_IFDIR) && de->subdir) && !de->count)
140{
141                        proc_unregister(root, de->low_ino);
142                        table->de = NULL;
143                        kfree(de);
144-               }
145+               }
146        }
147 }
148-----cut here-----
149
150
151Kernel i2c conflict
152===================
153
154An older version of the i2c modules is distributed in 2.2 and late 2.1
155kernels. If you try to use it at the same moment as our i2c modules, you
156may get into trouble. This should be fixed for lm_sensors-2.4.0 and newer.
Note: See TracBrowser for help on using the browser.