Intel EtherExpress PRO/100 Mobile Cardbus 32 Adapter
Donald Becker
becker@cesdis.gsfc.nasa.gov
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 becker@cesdis.gsfc.nasa.gov (modified by danilo@cs.uni-magdeburg.de 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 (becker@cesdis.gsfc.nasa.gov)
> 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
USRA-CESDIS, becker@cesdis.gsfc.nasa.gov