root/lm-sensors/tags/V2-8-4/BUGS

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