Subject: IBM Credit Card Ethernet Adapter Problem.
To: None <perry@piermont.com>
From: Deng Hongwei <dhongwei@sz.cei.go.cn>
List: port-i386
Date: 01/09/1998 14:27:45
I wrote:
> Now I have another problem with a IBM Credit Card Ethernet Adapter.
>
> Here is the Dmesg:
>
> ...
> pcic0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
> pcic0: controlller 0 (Intel 82365SL Revision 1) has socket A and B
> pcmcia0 at pcic0 controller 0 socket 0
> pcmcia1 at pcic0 controller 0 socket 1
> pcmcia1: CIS checksum failed
> pcmcia1: CIS version 2.0 or 2.01
> pcmcia1: CIS info: IBM Corp., Ethernet, 0934214, PC-NIC ENCC 990010...
> pcmcia1: Manufacture code 0xa4, product 0x2
> pcmcia1: function 0: network adapter, ccr addr 20000 mask b
> pcmcia1: function 0, config table entry 1: I/O card; irq mask ffff;
> iomask 5, iospace 0-1f; mwait_required rdybsy_active wp_active
> bvd_active io16 irqpulse iqrlevel
> ne0 at pcmcia1 function 0 port 0x3c0-0x3cf port 0x3d0-0x3df
> ne0: IBM CCAE Ethernet
> ne0: where did the card go?
> ....
>
> I've modified if_ne_pcmcia.c(/sys/dev/pcmcia) to add my card's info as
>
> /*
> { "National Semiconductor InfoMover",
> 0x00a4, 0x0002, NULL, NULL, 0,
> 0x0ff0, { 0x08, 0x00, 0x5a } },
> */
> { "IBM CCAE",
> 0x00a4, 0x0002, "IBM Corp.", "Ethernet", 0,
> 0x0ff0, { 0x00, 0x04, 0xac } },
>
> The "National Semecondution InfoMover" is commented, or the if_ne_pcmcia
> will recognize my card as it first (because the same Manufactor code and
> productor code), and complain : "0x00,0x04,0xac" should be "0x08,0x00,
> 0x5a".
>
> >From the dmesg's "ne0: where did the card go?" , I traced the ne2000.c
> code(/sys/dev/ic), and found my card failed at:
>
> tmp = bus_space_read_1(nict, nich, ED_P0_ISR);
> if ((tmp & ED_ISR_RST) != ED_ISR_RST)
> goto out; --- it then goto out here.
>
> I know my card is really a ne2000 compatible card. It can be recognized
> as a NE2000 Compatible PCMCIA Ethernet card by FreeBSD and OpenBSD.
>
I've just tested the ne2000.c code, and found in:
tmp = bus_space_read_1(nict, nich, ED_P0_ISR);
if ((tmp & ED_ISR_RST) != ED_ISR_RST)
goto out; --- it then goto out here.
the 'tmp' returns 0x03, which should be ED_ISR_RST = 0x80.
Then I tried another PCMCIA Ethernet Card: 3COM 3C589D, it failed on
my NetBSD box too.