Subject: Re: Chuck the 3com card for a rtl8139 or ne2000 ?
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Bill Paul <wpaul@ee.columbia.edu>
List: port-i386
Date: 01/29/2000 13:29:29
Of all the gin joints in all the towns in all the world, Jason Thorpe had to
walk into mine and say:

> On Sun, 30 Jan 2000 00:02:12 +1100 
>  Giles Lean <giles@nemeton.com.au> wrote:
> 
>  > Netgear
>  > 
>  >     Recommended enthusiastically by Steve Paul, subject to them
>  >     being old stock with Digital chips.  The new Netgear cards use
>  >     a different chip and don't work with NetBSD.  (Hey, Jason, you
>  >     missed one! :-)
> 
> Actually, I didn't really "miss one" :-)  I did include support for it
> in my `tlp' driver (which is only in -current for the moment), but
> it has some problems.  Most of these are due to the fact that the
> Lite-On 82C169 ``PNIC'', which is the chip used on the new NetGear
> cards, is the most amazing piece of s**t I've run across in recent
> history.  It suffers from no end of hardware bugs, including failure
> to load its receive filter information correctly, poor DMA performance
> (leading to corrupted packets going out onto the wire), and the tendency
> to just "flake out" occasionally.  Also, there is apparently a nasty
> receiver bug in them that requires a fairly CPU-intensive work-around,
> which basically kills performance.
> 
> Based on my experience with these things, I cannot recommend the
> new NetGear FA310 PCI cards.  As far as I can tell, Bill Paul, who
> wrote the FreeBSD driver for these things, is equally frustrated
> with them.  Bill, I feel your pain.

I've reached the point now where I just unconditionally default the
PNIC 82c168/82c169 chips to store and forward mode. It turns out that
in some machines, setting *any* kind of TX threshold other than store
and forward leads to corrput packets going on on the wire (due to DMA
problems, no doubt). I had a friend who tried FreeBSD on one of his
home machines and was very disappoined by the cruddy performance he
was getting with his PNIC card. I had to walk him through setting the
store and forward bit in the driver, after which he said it worked fine.
I decided I'd had enough after that and just wired it on permanently.
 
>  > Intel 10/100 (EtherExpress Pro?)
>  > 
>  >     Recommended by Jeff Northon who replaced a bunch of 3com cards
>  >     with these.  (On the other hand, Steve Paul likes the 3com
>  >     cards mostly and is unsure of the Intel ones! :-)
>  > 
>  > Jason Thorpe also liked Macronix based cards in -current but noted
>  > that he'd not made the 'tlp' driver auto-sense with them yet.
> 
> Of all of the DEC Tulip clones that I've actually used, they seem
> to work the best, and can be found on many inexpensive boards.  The
> Linksys LNE100TX Version 2 also has a variant of the Macronix chips
> called the "PNIC-II", which, even though it has the Lite-On name on
> it, is actually a Macronix chip (seems to be very close to the 98725).

The autosensing in the Macronix chips works just like the built-in
NWAY autoneg on the 21143. I didn't realize this until I actually sat
down and looked at the 21143 hardware manual. The one exception to this
rule is the original MX 98713 (not the 98713A). That chip does autoneg
via the MII management bits in CSR9.

I've also found that the 98713A doesn't work well in 10mbps full duplex.
It generates all kinds of receive errors for no apparent reason. All
the other modes seem to be okay though. I think at this point most cards
are using the 98715 or the 82c115 PNIC II though.

> You what what I really wish would happen... Some brave company out there
> would produce a NEW board based on the now-Intel-badged 21143 ... they
> are STILL PRODUCED, and are now generally nice, low power parts (since
> they're QUITE common on CardBus Ethernet cards).  As much as I wish I
> would never hear the word "Tulip" again (you try maintaining that driver
> sometime ... I now understand why Matt Thomas got sick of it :-), I still
> think the chip is very good.  The only real `problem' with it is that it's
> very flexible, and thus complicated at times :-)

Yeah. Trying to figure out what to do for media selection on a given card
will driver you insane. Kingston is still selling the KNE100TX card based
on the 21143, and the D-Link DFE-570TX quad port card also uses 21143s.
Both seem to work well for me. Both of these are MII-based designs.
(Note the KNE110TX is a PNIC 82c169 card! Danger Will Robinson!)

One minor gotcha with the 21143: the reset default value for CSR14 is
0xFFFFFFFF. This means the internal autoneg is on by default. Why is this
a gotcha? Because the full duplex bit in CSR6 has a different function when
the internal autoneg is enabled (it enables advertisement of 10mbps half
duplex during autonegotiation). Until you turn the autoneg bit off, you
can't force the chip into full duplex mode. The de driver has a problem
with this from what I've heard.

> I guess I should also say that if you can find any cards based on
> the SiS 900 chip, those work okay, too.  I wrote a driver for that
> chip for NCI (it's on-board on some NC), and even though I had early
> rev chips that were... buggy :-), I found it to be fairly nice to
> program, and it worked pretty well.  There's a newer version of it,
> too, called the SiS 7016, which is not yet supported by the `sip'
> driver, but adding support for it would not be that hard.  Unfortunately,
> I don't know what cards on the market have that chip on them... I'm
> suspecting they're currently being relegated to the integrated-on-motherboard
> market.

I thought it was the 7016 that was older. The 7016 requires an external
PHY while the 900 has it integrated. I could easily be wrong though: I'm
just going by the release dates in the data sheets. I have only one SiS 900
card: it's tiny, but so far it's been very reliable and it's really easy
to program. And SiS's documentation for the chip is freely available and
very nice too, other than the fact that it's in M$ Turd format.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Department of Electrical Engineering
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
"Mulder, toads just fell from the sky!" "I guess their parachutes didn't open."
=============================================================================