This is a device driver I wrote for Linux (pl13) and IBM's
Credit Card Adapter for Ethernet.  It assumes that your system
uses the Intel 82365 PCMCIA controller, or a compatible chip,
to interface between the system bus and the PCMCIA cards.

The IBM documentation for this card is thoroughly brain-damaged.
It leaves out a number of important details and gets some things
wrong.  For instance, it says that all of the registers that
deal with the Remote DMA mode are reserved, but inside it just
uses an ordinary NS83902 chip (ST-NIC)  (this according to an 
unnamed source at IBM.)   Anyway, remote dma mode worked just
fine for me.  Your mileage may vary.

Other things that you might need to know about this card if you
are writing your own driver for it or for a different system:

+ The 16K shared-memory buffer is at offset 0x4000 on the card's 
address space.  That means that, to the ST-NIC chip, the first page 
of memory is 0x40, not 0x00.

+ The PCMCIA Configuration Index needs to be set to any nonzero value,
and it appears that you need to enable level interrupts rather than
edge triggered interrupts.  So the Configuration and Option Register
needs to be set to 0x41.

+ The Ethernet address of the card is stored in attribute memory
at offset 0xff0, and every other byte thereafter.

This driver would probably work on the Linksys card also, except
that it's configuration registers are at offset 0x8 in attribute
memory, and the IBM card's registers are at offset 0x20000.  This
information could be obtained by parsing the card information
structure's tuples.  It might be that this technique would work
for any Ethernet PCMCIA card.

				IMPORTANT

THERE'S NO WARRANTY ON THIS DEVICE DRIVER, NOT EVEN FOR MERCHANTABILITY
OR SUITABILITY FOR ANY PARTICULAR PURPOSE.  IF YOU INSTALL THIS DRIVER
IN A SYSTEM, YOU ASSUME ALL RESPONSIBILITY FOR WHATEVER GOES WRONG AS
A RESULT.

(whew!)

Despite the above disclaimer, I hope you find this driver useful.

I don't promise to maintain this thing.  In fact, I may give up 
on Linux entirely because it doesn't seem to be reliable enough 
for what I need.  But maybe someone else will pick it up, and
maybe this information will be useful to someone wanting to
write a similar driver.

Keith Moore
moore@cs.utk.edu
