Bug 24804 - kernel-pcmcia-cs-3.1.23-0.1 doesn't reload 3c589_cs.o
kernel-pcmcia-cs-3.1.23-0.1 doesn't reload 3c589_cs.o
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: kernel-pcmcia-cs (Show other bugs)
7.1
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Florence Gold
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-01-23 23:59 EST by Sam Varshavchik
Modified: 2008-05-01 11:37 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-01-30 21:59:32 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Sam Varshavchik 2001-01-23 23:59:25 EST
I upgraded beta2 to kernel-pcmcia-cs-3.1.23-0.1 package, on a laptop with a
3com PCMCIA combo 10baseT card.  There are errors logged to syslog when the
card is removed and inserted, with the end result being cardmgr failing to
load 3c589_cs.o.

The card works fine if it is present at system boot.  Only live removal and
insertion is broken.

Also, if after reinserting the card I run /etc/rc.d/init.d/pcmcia stop,
then start, the card works again (pcmcia stop prints a complaint from
cardmgr "Trying to free nonexistent resource").

The chipset:

00:07.0 CardBus bridge: Texas Instruments PCI1130 (rev 04)
00:07.1 CardBus bridge: Texas Instruments PCI1130 (rev 04)

00:07.0 Class 0607: 104c:ac12 (rev 04)
	Flags: medium devsel
	Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=04, sec-latency=0
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 03e1

00:07.1 Class 0607: 104c:ac12 (rev 04)
	Flags: medium devsel
	Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=05, subordinate=08, sec-latency=0
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 03e1

dmesg at system boot:

Linux PCMCIA Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
Intel PCIC probe: 
  Intel i82365sl DF ISA-to-PCMCIA at port 0x3e0 ofs 0x00, 2 sockets
    host opts [0]: none
    host opts [1]: none
spurious 8259A interrupt: IRQ7.
    ISA irqs (scanned) = 5,7,9,10,11,12 status change on irq 11
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x200-0x207 0x220-0x22f
0x300-0x307 0x378-0x37f 0x388-0x38f 0x398-0x39f 0x400-0x40f 0x480-0x48f
0x4c0-0x4df
cs: IO port probe 0x0a00-0x0aff: clean.
cs: memory probe 0x0d0000-0x0dffff: clean.
eth0: 3Com 3c589, io 0x310, irq 5, hw_addr 00:60:97:46:2E:61
  8K FIFO split 5:3 Rx:Tx, auto xcvr
eth0: flipped to 10baseT
eth0: flipped to 10baseT

Here's what goes into syslog when the card is removed, and inserted:

Jan 23 22:44:38 localhost cardmgr[438]: shutting down socket 0
Jan 23 22:44:38 localhost cardmgr[438]: executing: './network stop eth0'
Jan 23 22:44:40 localhost /sbin/hotplug: /sbin/hotplug: event type 'net'
unsupported
Jan 23 22:44:40 localhost cardmgr[438]: executing: 'modprobe -r 3c589_cs'



Jan 23 22:45:07 localhost cardmgr[438]: initializing socket 0
Jan 23 22:45:07 localhost cardmgr[438]: socket 0: 3Com 589 Ethernet
Jan 23 22:45:07 localhost cardmgr[438]: executing: 'modprobe 3c589_cs'
Jan 23 22:45:07 localhost cardmgr[438]: get dev info on socket 0 failed: No
such device
Jan 23 22:45:07 localhost cardmgr[438]: shutting down socket 0
Jan 23 22:45:07 localhost cardmgr[438]: executing: 'modprobe -r 3c589_cs'
Jan 23 22:45:07 localhost cardmgr[438]: initializing socket 0
Jan 23 22:45:07 localhost cardmgr[438]: socket 0: Anonymous Memory
Jan23 22:45:08 localhost cardmgr[438]: executing: 'modprobe memory_cs'
Jan 23 22:45:08 localhost cardmgr[438]: + modprobe: Can't locate module
memory_cs
Jan 23 22:45:08 localhost cardmgr[438]: modprobe exited with status 255
Jan 23 22:45:08 localhost cardmgr[438]: module
/lib/modules/2.4.0-0.43.12/pcmcia/memory_cs.o not available
Jan 23 22:45:09 localhost cardmgr[438]: get dev info on socket 0 failed:
Resource temporarily unavailable

What appears to be happening is 3c589_cs.o not being loaded when the card
is inserted.
Comment 1 Arjan van de Ven 2001-01-24 05:02:08 EST
Jan 23 22:45:07 localhost cardmgr[438]: socket 0: Anonymous Memory

means that the kernel couldn't find the identification id of the card.
I've seen this happen as well, with other cards.
Comment 2 Glen Foster 2001-01-24 19:38:42 EST
This defect is considered MUST-FIX for Florence Gold release
Comment 3 Glen Foster 2001-01-24 19:48:22 EST
This defect is considered MUST-FIX for Florence Gold release
Comment 4 Arjan van de Ven 2001-01-26 07:56:01 EST
Working on it. I have a 3c589 card and can reproduce this.
Comment 5 Arjan van de Ven 2001-01-26 11:55:08 EST
Ok. This is more complex than it seemed. Not only the 3c589 suffers from this,
but so does every other PCMCIA card I can get my hands on.
Comment 6 Arjan van de Ven 2001-01-29 11:55:19 EST
Can you try the following:
Instead of inserting it in the same socket, put it in the other socket (if any).
On my setup, I could not reproduce the problem this way.
Comment 7 Sam Varshavchik 2001-01-29 12:59:52 EST
Ha!  If I insert the card into the other slot, it works.  If I then move it back
to the first slot, it doesn't work, then move it into the second slot, and it
works again.

Experimentation shows that the PCMCIA fails when the network card is inserted
into one of the two slot. Reinserting the card into the other slot always works.
Comment 8 Arjan van de Ven 2001-01-30 09:21:08 EST
I've been able to solve this issue (that is, with my fixes to real kernel bugs I
cannot reproduce it any longer). The solution requires a kernel patch
which will be included in the next 2.4 kernel that goes out. If you
know how to patch kernels, I can send the patch as well.
Comment 9 Sam Varshavchik 2001-01-30 13:11:58 EST
I'll take the patch.

Comment 10 Sam Varshavchik 2001-01-30 21:59:29 EST
I fed Fisher to this laptop, and applied the patch.

It's working.  Swapped the card, a couple of times, came up every time.

There were some additional complaints from the kernel, though.  They appear to
be spurious, since the card continues to work.

When booting:

PCI: No IRQ known for interrupt pin A of device 00:07.0. Please try using
pci=biosirq.
PCI: No IRQ known for interrupt pin B of device 00:07.1. Please try using
pci=biosirq.
Yenta IRQ list 0ea0, PCI irq0
Socket status: 30000006
Yenta IRQ list 0ea0, PCI irq0
Socket status: 30000010
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x200-0x207 0x220-0x22f 0x300-0x307
0x378-0x37f 0x388-0x38f 0x398-0x39f 0x400-0x40f 0x480-0x48f 0x4c0-0x4df
cs: IO port probe 0x0a00-0x0aff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
eth0: 3Com 3c589, io 0x310, irq 5, hw_addr 00:60:97:46:2E:61
  8K FIFO split 5:3 Rx:Tx, auto xcvr
eth0: flipped to 10baseT

This wasn't the case in beta2.

Also, when inserting the card into the same slot which had the problem before,
the following message goes to the console:

spurious 8259A interrupt: IRQ7

This is apparently from card services, it is not logged in syslog, only on the
console.  This is logged only when inserting the card in one of the two slots --
the one that didn't work before :-(

Comment 11 Arjan van de Ven 2001-01-31 06:48:25 EST
I'm closing this bug as fixed in rawhide, as it now works for both you and me.
Please file a new bug for the PCI irq thing, as that has nothing to do with
pcmcia.

Note You need to log in before you can comment on or make changes to this bug.