-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUGS
204 lines (155 loc) · 9.03 KB
/
BUGS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
Known problems and limitations for the 3.2.8 PCMCIA release
============================================================
Bug summaries:
o PCI interrupt routing issues for CardBus bridges on some systems
o lspci breakage on 2.4 kernels with CardBus cards
o O2Micro and ToPIC CardBus bridge configuration problems
o On the Sony VAIO PCG-N505VE, interrupts break after a suspend
o SCSI drivers are not hot swap safe
o Iomega Clik! drives require a kernel patch
o Token ring memory allocation issues
o Interrupt lossage with Megahertz multifunction cards
o The aic7xxx/apa1480_cb driver misbehaves if the cable is detached
o Ositech Jack of Diamonds firmware issue
o Multicast filter problem with xirc2ps_cs driver
o Xircom CardBus ethernet cards lock up some Toshiba laptops
o Duplex detection doesn't work for some DL10022 based cards
Bugs that apply to out-of-date kernels:
o CardBus devices with 2.0.* kernels are not recommended
o Serial interrupt sharing bug in certain 2.2.* kernels
o aha152x interrupt bug in certain 2.2.* kernels
o Tedious IDE probes for nonexistent slave devices
o IDE driver shutdown bug in certain 2.2.* kernels
o IDE driver does not share PCI interrupts properly
o SuSE 6.4 IDE driver problem
Bug details:
o With some PCI host bridges, the PCMCIA subsystem is not able to
determine the PCI interrupt routing for CardBus bridges. For some
types of CardBus bridges, this means that we can't configure
interrupts for CardBus cards at all. When the PCMCIA drivers are
loaded, they may complain about an "unknown interrupt router".
Prognosis: see the discussion in the PCMCIA-HOWTO. With current
kernels, try enabling CONFIG_ACPI.
o Due to a kernel API incompatibility, when CardBus cards are used on
a 2.4 kernel, /proc/bus/pci is not updated properly. This confuses
'lspci' but is otherwise harmless.
o Interrupt routing on O2Micro CardBus bridges seems to have problems.
Toshiba ToPIC97 bridges also seem to have problems, particularly
with Cardbus cards.
Prognosis: I think the O2Micro problems should now be fixed. For
the ToPIC problem, Toshiba does not seem willing and/or able to
provide adequate help, so I've mostly given up on it. For both the
O2Micro and ToPIC problems, fixes would require someone with device
driver experience and the relevant hardware to work on it: data
sheets are available, and I can make suggestions of things to try,
but I can't debug the problems by email.
With ToPIC chipsets, some systems seem to work better if the bridge
mode is changed to either "PCIC" or "CardBus", rather than "Auto",
in the BIOS setup menu.
In some cases, ToPIC chipsets generate bogus eject/insert sequences
when a card is first powered up. It may be useful to increase the
vcc_settle and/or setup_time parameters for the pcmcia_core module
to prevent this.
o On the Sony VAIO PCG-N505VE, after a suspend, no interrupts are
delivered by the CardBus bridge until the system is rebooted.
Prognosis: I've spent a lot of time trying to track this down, but
I'm completely stumped. The PCMCIA drivers appear to restore the
state of the CardBus bridge correctly, and the PCI interrupt router
is also configured properly. But no interrupts get through. The
problem is not triggered by suspend-to-disk.
I'm told that with current kernels, using the kernel PCMCIA
subsystem, that reloading the yenta_socket driver after a suspend
restores proper operation.
o All of the SCSI drivers, and most of the CardBus drivers, do not
implement suspend/resume handling. The only workaround now is to
eject these cards (or do "cardctl eject") before suspending.
Prognosis: CardBus Network cards will probably be fixed eventually,
but it has not been a high priority. SCSI drivers are less likely
to be fixed since we're more dependent on kernel code.
o The Iomega Clik! drive is incompatible with the kernel ide-floppy
driver. Kernel patches for 2.2 and 2.4 kernels are available at
http://paulbristow.net/linux/clik.html.
o The token ring driver tweaks a problem in the memory management
code. To work around the problem, remove all high memory windows
from /etc/pcmcia/config.opts. The driver is also completely broken
for early 2.2 kernels. A fix is in 2.2.7.
o Megahertz EM1144, EM3288, and EM3336 cards drop interrupts if the
modem and ethernet are used simultaneously.
Prognosis: Unlikely to be fixed, since these cards are old and we
are unlikely to ever get more complete tech info.
o The kernel aic7xxx driver, which is linked into the apa1480_cb
driver, can generate spurious interrupts when a card is initialized,
which can cause system lockups. This will usually happen if the
card is inserted with no SCSI cable attached.
Prognosis: I've sent a patch to the driver maintainer. The problem
can be mostly mitigated by disabling use of PCI interrupts for
CardBus cards, by setting PCIC_OPTS="pci_int=0". This setting does
not work on some newer laptops; in those cases, you'll have to wait
for a kernel update to fix the problem.
o Some Ositech Jack of Diamonds 33.6K modem/ethernet cards don't work
because of a firmware issue. With these cards, the smc91c92_cs
driver reports "Bad chip signature".
A DOS program to update the card firmware to v8.1B is available from
Ositech's web site at ftp://www.ositech.com/pub/jod/JDCEL422.EXE
o Multicast filter problem with xirc2ps_cs driver
I have some reports that multicast filtering doesn't work properly
in the xirc2ps_cs driver. I have not investigated further.
o Xircom CardBus ethernet cards lock up some Toshiba laptops
I now have a bunch of reports of this problem. While the Toshiba
CardBus bridges are somewhat quirky, I haven't had a lot of reports
of problems with the latest PCMCIA drivers, except for this issue.
o Duplex detection doesn't work for some DL10022 based cards
For certain Linksys and D-Link 16-bit fast ethernet cards using the
pcnet_cs driver and identified as having a "DL10022 rev 5" chipset,
the driver doesn't know how to talk to the "MII" transceiver chip
that handles autonegotiation of link speed and duplex mode. By
default it assumes half duplex; this leads to poor performance on
full duplex links.
Prognosis: the pcnet_cs driver now has a "full_duplex" module option
for forcing full duplex mode. That's the best I can do without more
detailed information about this specific chipset.
Bugs that apply to out-of-date kernels:
o Use of CardBus cards with 2.0.* kernels is discouraged. It may work
on some systems, but not on others, due to PCI BIOS limitations.
Also, it is harder to diagnose problems, because /proc/bus/pccard is
not available with these kernels.
o The 2.2.* serial driver had a bug that interfered with interrupt
sharing for multifunction cards. The effect is that opening a
serial port on a multifunction card fails, giving an IO error. It
was fixed in 2.2.11.
The bug can be fixed by editing linux/drivers/char/serial.c and
changing each use of IRQ_T(info) to IRQ_T(state).
o The kernel aha152x driver, used for Adaptec 16-bit SCSI adapters,
had a PCMCIA compatibility problem in 2.2.* that was fixed in 2.2.9.
The effect was that interrupts were ignored, unless the card
happened to be configured for irq 9..12.
Either upgrade to a 2.2.9 or later kernel, or if you have an
appropriate interrupt available, add to /etc/pcmcia/config.opts:
module "aha152x_cs" opts "irq_list=9,10,11,12"
o For some ATA/IDE devices, the IDE driver will lock up the system for
up to 15 seconds while probing for (non-existent) slave devices.
I've told the IDE maintainer about the issue and it is just a matter
of getting the kernel driver updated. There are two aspects to the
fix; one is to improve automatic detection of flash memory cards,
and the other is to change the probe to sleep instead of freezing
the system during the probe. The 2.4 driver is fixed.
o The kernel IDE driver had a bug that causes shutdown of some PCMCIA
IDE cards to cause a kernel trap. It was introduced in 2.2.9 and
fixed in 2.2.10.
o The linux IDE driver generates spurious interrupts when it probes
for new devices. This is ok at boot time because the IDE probe runs
before almost all other drivers. But it causes lockups if the probe
is done when another driver is using the same PCI interrupt. This
happens when the PCMCIA subsystem is configured to use only PCI
interrupts for card status changes as well as card interrupts.
This is fixed in 2.4.19 and 2.6. For older kernels, you may be able
to work around the issue using startup options like:
PCIC_OPTS="irq_mode=0 pci_csc=0"
which will prevent the i82365 driver from sharing the PCI interrupt
for monitoring card insert/eject events; this will not help if other
PCI devices also need to share.
o The SuSE 6.4 version of the 2.2.14 kernel has a broken IDE probe
that messes up at least some PCMCIA devices. The result is that
the ide_cs driver reports "ide_register(...) failed".
Prognosis: substitute drivers/block/ide-probe.c from SuSE's 2.2.13
kernel or from a virgin 2.2.14 source tree.