Subject: Re: D-Link DE-220PCT (NE2000 clone) doesn't probe correctly
To: Matthias Drochner <drochner@zelux6.zel.kfa-juelich.de>
From: Dave Huang <khym@bga.com>
List: port-i386
Date: 07/08/1998 22:51:07
On Wed, 8 Jul 1998, Matthias Drochner wrote:
> Looking at the Linux sources, I see that this card is listed
> in the "bad clones" table, and that there is some black magic
> because some cards obviously don't get the byte/word access
> right.
> This would explain the ethernet address read failure.

Hmm, where is this? I'm looking at v1.10 of ne.c, and the bad clones table
seems to be related to the device probe only... The linux probe apparently
wants the last 2 bytes of the ethernet address rom to be 0x57 0x57; some
clones don't have that signature. I don't see anything in regards to
byte/word access. 

In any case, I downloaded a linux rescue disk, and it turns out that while
linux does print the address correctly, the card still doesn't work. In
fact, I was wrong when I said that the DOS diagnostic utility worked.
There were two tests tha failed, but I assumed that it was because I
wasn't running an echo server on the network. Those two tests succeed if I
don't have the HD plugged in though. 

So, it looks like there's some strange interaction between this card and
the hard drive... I can even boot without the hard drive, start a ping,
watch the packets come and go, plug the drive in (yeah, it's probably
dangerous to do that :), watch the packets stop, unplug the drive and
watch the packets start again.

I guess I'll just exchange the card for another and hope it works
better... does anyone know what could cause this though? I printed out the
contents of ethernet address ROM (after this part of ne2000.c)

        if (myea == NULL) {
                /* Read the station address. */
                ne2000_readmem(nict, nich, asict, asich, 0, romdata,
                    sizeof(romdata), useword);

and when the drive isn't plugged in, I get doubled bytes, as expected
(i.e. 00 00 80 80 c8 c8 etc...)  When the drive is plugged in, I get
single bytes, as if the card was in byte-wide mode (i.e. 00 80 c8 4d a7 f7
etc...) (incidentally, the last two bytes are 0x57 0x57, just like linux
wants, so perhaps only older DE220s are "bad clones"... maybe the PnP ones 
(DE220P?) have been fixed :) 
-- 
Name: Dave Huang     |   Mammal, mammal / their names are called /
INet: khym@bga.com   |   they raise a paw / the bat, the cat /
FurryMUCK: Dahan     |   dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 22 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++