Subject: Re: Megahertz PCMCIA problems
To: Allen Briggs <briggs@canolog.ninthwonder.com>
From: Perry E. Metzger <perry@piermont.com>
List: port-i386
Date: 06/11/1998 13:04:58
Sounds like interrupt conflicts or I/O conflicts to me. The PCMCIA
subsystem assumes (badly) that only the interrupts and io space it
knows about are in use and that all the rest may be allocated. Make
sure that every device on the machine is probed and registered during
autoconfiguration -- if you have a device that isn't being registered
(like a sound chip or something) you are going to have the sorts of
troubles you mention.

Another problem that sometimes shows up is that some PCMCIA
controllers only have certain interrupts wired to them...

.pm

Allen Briggs writes:
> I sent this message a few days ago.  I'm still looking for any
> suggestions that people might have.  I will have some time to
> hack on it in a few days, but I really would appreciate some
> pointers on where to look since I'm not at all familiar with
> the PCMCIA subsystem and I haven't seen any docs on it (in fact,
> it seems to be missing on the web page listing of busses, too).
> 
> Hi, folks...  I'm new to PCMCIA, so I'd appreciate it if someone with
> some more experience could help me get my modem card up and running.
> 
> I've got a Toshiba Satellite 2110CS with a 3Com 3C589 and Megahertz 14.4
> modem card.  The ethernet's working fine, but I'm getting stray
> interrupts from the modem card and when I try to connect to the tty
> device that is attached to the card, I get a hangup from cu.
> 
> I've enabled PCMCIADEBUG (for the stuff in sys/dev/pcmcia--I just put
> it in pcmciareg.h and commented out the definition in pcmcia.c).  I'm
> including the dmesg output for a session where I booted without the
> 3Com card installed, so it was just the modem card--I then tried cu
> (which failed) and inserted the 3Com card.  As I said, I'm new to
> pcmcia.  If anyone has any ideas on what I can try next, I'd love to
> hear them.  It looks to me in just glancing at the code, that the card
> is enabled, then disabled on each 'stray' interrupt.  I did notice that
> the ethernet card picked up the same interrupt number when it was
> installed.
> 
> Any ideas?
> 
> -allen
> 
> NetBSD 1.3F (LYNX) #1: Mon Jun  8 23:05:54 EDT 1998
>     briggs@backup:/usr/src/sys/arch/i386/compile/LYNX
> cpu0: family 4 model 8 step 0
> cpu0: Intel 486DX4 (486-class)
> real mem  = 20774912
> avail mem = 17244160
> using 279 buffers containing 1142784 bytes of memory
> mainbus0 (root)
> isa0 at mainbus0
> com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
> lpt0 at isa0 port 0x378-0x37b irq 7
> wdc0 at isa0 port 0x1f0-0x1f7 irq 14
> atapibus0 at wdc0
> wd0 at wdc0 drive 0: <IBM-DSOA-20810>
> wd0: using 16-sector 16-bit pio transfers, lba mode
> wd0: 775MB, 1587600 sec, 512 bytes/sec
> pcppi0 at isa0 port 0x61
> sysbeep0 at pcppi0
> npx0 at isa0 port 0xf0-0xff: using exception 16
> vt0 at isa0 port 0x60-0x6f irq 1
> vt0: generic, 80 col, color, 8 scr, mf2-kbd, [R3.32]
> vt0: console
> fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
> fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
> pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xd3fff: using irq 3
> pcic0: controller 0 (Intel 82365SL Revision 1) has sockets A and B
> pcmcia0 at pcic0 controller 0 socket 0
> pcmcia0: CIS version 2.0 or 2.01
> pcmcia0: CIS info: MEGAHERTZ, XJ2144, A5, PCMCIA MODEM
> pcmcia0: Manufacturer code 0x102, product 0x5
> pcmcia0: function 0: serial port, ccr addr 200 mask 1
> pcmcia0: function 0, config table entry 32: I/O card; irq mask 3c; iomask 0, 
iospace 3f8-3ff; rdybsy_active wp_active bvd_active io8 irqlevel
> pcmcia0: function 0, config table entry 33: I/O card; irq mask 3c; iomask 0, 
iospace 2f8-2ff; rdybsy_active wp_active bvd_active io8 irqlevel
> pcmcia0: function 0, config table entry 34: I/O card; irq mask 3c; iomask 0, 
iospace 3e8-3ef; rdybsy_active wp_active bvd_active io8 irqlevel
> pcmcia0: function 0, config table entry 35: I/O card; irq mask 3c; iomask 0, 
iospace 2e8-2ef; rdybsy_active wp_active bvd_active io8 irqlevel
> com2 at pcmcia0 function 0pcmcia0: card irq 5
> pcmcia0: ++enabled_count = 1
> pcmcia0: function 0 CCR at 0 offset 200: 7f ff 7f ff, ff 7f ff 7f, ff
>  port 0x2f8-0x2ff: ns16550a, working fifo
> pcmcia0: --enabled_count = 0
> pcmcia0: function 0 CCR at 0 offset 200: ff ff ff ff, ff ff ff ff, ff
> pcmcia1 at pcic0 controller 0 socket 1
> apm0 at mainbus0: Power Management spec V1.1
> apm0: battery life expectancy: 1%
> apm0: A/C state: on
> apm0: battery charge state: low charging
> apm0: estimated 0m
> biomask 4040 netmask 4040 ttymask 40ca
> stray interrupt 5
> WARNING: old BSD partition ID!
> boot device: wd0
> root on wd0a dumps on wd0b
> root file system type: ffs
> uvm_swap: allocated 138 swap buffer headers
> pcmcia0: card irq 5
> pcmcia0: ++enabled_count = 1
> pcmcia0: function 0 CCR at 0 offset 200: 7f ff 7f ff, ff 7f ff 7f, ff
> pcmcia0: --enabled_count = 0
> stray interrupt 5
> pcmcia0: card irq 5
> pcmcia0: ++enabled_count = 1
> pcmcia0: function 0 CCR at 0 offset 200: 7f ff 7f ff, ff 7f ff 7f, ff
> pcmcia0: --enabled_count = 0
> stray interrupt 5
> pcmcia1: CIS version 2.0 or 2.01
> pcmcia1: CIS info: 3Com Corporation, 3C589D, TP/BNC LAN Card Ver. 2a, 000002
> pcmcia1: Manufacturer code 0x101, product 0x589
> pcmcia1: function 0: network adapter, ccr addr 10000 mask 3
> pcmcia1: function 0, config table entry 1: I/O card; irq mask ffff; iomask 4,
 iospace 0-f; rdybsy_active wp_active bvd_active io8 io16 irqlevel
> pcmcia1: function 0, config table entry 3: I/O card; irq mask ffff; iomask 4,
 iospace 0-f; rdybsy_active wp_active bvd_active io8 io16 irqlevel
> ep0 at pcmcia1 function 0pcmcia1: ++enabled_count = 1
> pcmcia1: function 0 CCR at 0 offset 0: 41 0 0 0, 0 0 0 0, 0
>  port 0x330-0x33f: 3Com 3C589 Ethernet
> ep0: MAC address 00:60:97:91:1a:92
> ep0: 8KB byte-wide FIFO, 5:3 Rx:Tx split, utp/aui/bnc (default utp)
> pcmcia1: --enabled_count = 0
> pcmcia1: function 0 CCR at 0 offset 0: ff ff ff ff, ff ff ff ff, ff
> pcmcia1: card irq 5
> pcmcia1: ++enabled_count = 1
> pcmcia1: function 0 CCR at 0 offset 0: 41 0 0 0, 0 0 0 0, 0
>