Subject: Re: Multia PCMCIA
To: David Woyciesjes <DAW@yalepress3.unipress.yale.edu>
From: Bernard Gardner <bernard@geekHaus.net.au>
List: port-alpha
Date: 04/27/2000 16:57:48
On Wed, Apr 26, 2000 at 01:43:05PM -0400, David Woyciesjes wrote:
> I just saw you posting on NetBSD/Alpha mailing list.. Have you gotten the
> PCMCIA to work? I have loaded NetBSD 1.4.2 "official" release, but NetBSD
> doesn't know I have a 3Com 3C589C Etherlink III LAN PC Card (PCMCIA2.0/2.1
> and PC Card Standard) inserted in it.... The are some postings regarding
> this at --- http://mail-index.netbsd.org/port-alpha/2000/04/

Hi,

I saw the start of this thread last night, but I was feeling a little
ill, so I figured I'd wait until I was feeling better to reply. Today
I'm home in bed, but I'm feeling a little better now, so here goes.

I've been trying on and off (mostly off) for the past few weeks to
get the PCMCIA support in NetBSD to work on my Multia. To do this,
I've built a kernel with support for the PCMCIA hardware (you need
a config file with the lines:

#PCMCIA controller
pcic*   at      isa? port 0x3e0 iomem 0xd0000 iosiz 0x4000 
pcic*   at      isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000
#PCMCIA bus support
pcmcia* at      pcic? controller ? socket ?

And a line for whatever PC Card(s) you wish to use.

With this config, I've been able to get my Multia to recognise the
Lucent WaveLAN card that's currently in it, and it can read the
ethernet address correctly from the card. However, the problem I'm
currently having is that the -current kernel code attempts to probe
for the ISA interrupts that are attatched to the pcic (PC Interface
Controller?) and on the Multia this doesn't work. The kernel probes
the two unused interrupts (skips those that it's already got marked
as in use), neither of them are detected as being connected to the
pcic(s) (noise about stray interrupts, and when you turn on debugging
in the relevant files, it's reasonably clear that it's not behaving
as a good i386 PC should) and as a result, when you attempt to configure
the network interface (wi0 in this case) it can't start the interface
(kernel message is "wi0: couldn't establish interrupt handler).

I've tried configuring an interrupt in the config file (adding irq 5
to the end of both pcic lines in the config file), this produces the
warning "pcic0: warning: configured irq 5 not detected as available"
The code is a little too smart for its own good. There is some code
in /sys/dev/isa/i82365_isasubr.c that disables the probing for the
hpcmips platform, I may see what happens if I disable the probing,
and follow a config more like those found on an hpcmips.

My (pretty random) thoughts on this are
a) It actually looks like there is no interrupt associated with the
pcic (maybe need to do something with isacfg in the SRM console)
b) Linux claims to support the PC Card slots on a UDB, maybe booting
a Linux kernel on the box would reveal some magic. (Linux/axp doesn't
support the WaveLAN cards, so I haven't bothered with this tack yet)
c) It looks like it should be possible to have the pcic interface
run in an interruptless (polling) mode, although this might only be
for support of card insert/remove detect events.
d) NT probably supported these interfaces, so if it were possible
for me to find an NT distribution that could be installed on the
box that would probably serve a similar fact finding purpose.

I'm quite keen to get this working, but I can't make any promises
about when I might manage it, I mostly don't have the time to play
with this.  I'm watching your progress with some interest, it's
good to see that I'm not the only person who is interested in this,
it means that it's more likely to actually happen, it's a shame for
this to be so close but not quite work.

Bernard.