Intel EtherExpress PRO/100 Mobile Cardbus 32 Adapter

Donald Becker
Tue Nov 30 16:00:46 1999

On Tue, 30 Nov 1999, Mike Rudgyard wrote:

> Subject: Intel EtherExpress PRO/100 Mobile Cardbus 32 Adapter

> According to the latest PCMCIA howto, this card is now supported, although
> it does not work on my setup. I have mailed the PCMCIA Message Forum, with
> no response, so I am not sure whether the problem is in the Tulip driver,
> the Cardbus interface or the PCMCIA package. As you will see below, the
> tulip-diag programme informs me about a PCI bus error, before moaning
> about the EEPROM, hence this mail.

It's supported *IF* the EEPROM media table is correct.  Some editions of the
card don't have a blank EEPROM, and you must use a recent tulip-diag program
to write it.

> Nov 18 10:52:44 rock cardmgr[360]: socket 1: Intel EtherExpress PRO/100 CardBus Mobile Adapter32
> Nov 18 10:52:44 rock kernel: cs: cb_alloc(bus 35): vendor 0x1011, device 0x0019

Yup, a 21143.

> Nov 18 10:52:44 rock kernel:   fn 0 bar 1: io 0x100-0x17f
> Nov 18 10:52:44 rock kernel:   fn 0 bar 2: mem 0x60081000-0x6008107f

I/O address 0x100.

> Nov 18 10:52:44 rock kernel: tulip.c:v0.91 4/14/99 (modified by for XIRCOM CBE, fixed by Doug Ledford)

I don't  trust the modified version, but that's not the problem here.

> Nov 18 10:52:44 rock kernel: eth0: Digital DS21143 Tulip rev 48 at 0x100,
> EEPROM not present, 00:4C:69:6E:75:79, IRQ 3.

This is the problem -- the EEPROM is blank.  Intel doesn't follow their own
design manual.  They are the *only* 21143 CardBus vendor that doesn't.

> [root@rock incoming]# tulip-diag
> tulip-diag.c:v1.19 10/2/99 Donald Becker (
> Index #1: Found a Digital DS21143 Tulip adapter at 0x60081000.

I don't know where it picked this address from!  It should use the I/O
address from BAR0, not the memory address from BAR1.  I'm guessing the
PCMCIA code does not leave the I/O space bit set in /proc/bus/pci/devices.

(David, can you comment on this?)

> Bus 35, device   0, function  0:
> Ethernet controller: DEC DC21142 (rev 48).
> Medium devsel.  Fast back-to-back capable.  IRQ 3.
> Non-prefetchable 32 bit memory at 0x100 [0x100].
> Non-prefetchable 32 bit memory at 0x60081000 [0x60081000].

Yup.  That's what is happening.  This is likely David's bug.

The work-around is
  tulip-diag -t 4 -p 0x100 -e

Follow the directions to update your EEPROM, if everything looks good from
the report.

Donald Becker
Scyld Computing Corporation, and