root/lm-sensors/tags/V2-6-1/BUGS

Revision 1149, 6.0 kB (checked in by mds, 7 years ago)

more on sis5595 and as99127f

  • 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
45 ================================
46 IBM Thinkpad laptops and sensors-detect
47 See the file README.thinkpad
48
49
50 ================================
51 mtp008 support
52
53 This chip does not always respond, as evidenced by 'XX' fields
54 in i2cdump. Results in non-detection by sensors-detect and/or
55 the mtp008 driver, or periodic bad readings.
56 Cause unknown - perhaps a bug in the chip, or the chip
57 not meeting the i2c specifications.
58
59
60 ================================
61 sis5595 (sis5595 and i2c-sis5595 drivers)
62
63 These drivers latch on to many non-sis5595 chips which
64 do not support sensors, i2c bus, or both.
65 This is because SiS uses the same PCI ID for several different chips.
66 This will have to be fixed by us to recognize these other chips.
67
68 Right now, the driver tries
69 writing the base addresses (using the force_addr=0x.... parameter to modprobe),
70 it does not work for some machines (dmesg message is "force address failed").
71 Either some chips do not support sensors, or there is some undocumented
72 lock bit for the base address registers.
73
74 Also, the temperature reading in sis5595 is usually wrong.
75 Different formulas are required for different versions of
76 the chip and different motherboards.
77
78 ================================
79 bus drivers (all)
80
81 Rmmod'ing a bus driver when the /proc directory for a chip
82 driver on that bus is in use may cause a kernel oops, because
83 the chip driver gets removed too. See ticket #331 for details.
84 Not likely to happen. No obvious way to fix.
85
86
87 ============================================================================
88 Following are old problems with older kernels.
89
90
91 Pre-2.1.58 /proc directory Oops
92 ===============================
93
94 There is a problem in pre 2.1.58 kernels that can make the kernel Oops. You
95 can trigger this Oops if you have opened any file, or are in any directory,
96 created by a module. If you remove the module at such a moment, successive
97 access to those files or directories will make the kernel complain through
98 an Oops. There is really no good way to solve this. Stock kernel modules
99 exhibit the same problem, by the way. Kernels from 2.1.58 onwards have new
100 fill_inode() semantics; using this function, we can increase the module use
101 count while a module file or directory is accessed. This solves the problem,
102 because it makes it impossible to remove the module.
103 Alan Cox (alan@lxorguk.ukuu.org.uk), the maintainer of 2.0 kernels, has
104 said he will consider patches that backport this 2.1 feature; perhaps it
105 will be in 2.0.37. Until then, be careful when you unload modules.
106
107
108 2.2.x cdrom.o Oops
109 ==================
110
111 Module cdrom.o in all 2.2 kernels conflicts with our sensors.o module.
112 You can get an Oops if cdrom.o is unloaded after sensors.o was loaded.
113 Below is a small diff that you can apply to the kernel to correct this.
114 Another solution is to make sure cdrom.o is never unloaded, or to make
115 sure it is not a module but compiled into the kernel proper.
116
117 The diff corrects a long-standing /proc bug. It will go into kernel 2.2.2
118 or later in a somewhat modified form. It was written by Jens Axboe
119 <axboe@image.dk>.
120
121 -----cut here-----
122 --- virgin/kernel/sysctl.c      Sat Jan  9 07:54:16 1999
123 +++ linux/kernel/sysctl.c       Mon Feb  1 23:44:58 1999
124 @@ -559,12 +559,12 @@
125                         unregister_proc_table(table->child, de);
126                 }
127                 /* Don't unregister proc directories which still have
128 -                  entries... */
129 -               if (!((de->mode & S_IFDIR) && de->subdir)) {
130 +                  entries or are still being used... */
131 +               if (!((de->mode & S_IFDIR) && de->subdir) && !de->count)
132 {
133                         proc_unregister(root, de->low_ino);
134                         table->de = NULL;
135                         kfree(de);
136 -               }
137 +               }
138         }
139  }
140 -----cut here-----
141
142
143 Kernel i2c conflict
144 ===================
145
146 An older version of the i2c modules is distributed in 2.2 and late 2.1
147 kernels. If you try to use it at the same moment as our i2c modules, you
148 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.