[vortex] Problems detecting 100Mbps with 3c59x (Vortex)

Donald Becker becker@scyld.com
Mon Dec 30 17:12:02 2002


On Mon, 30 Dec 2002, CJ Kucera wrote:
> On Mon, Dec 30, 2002 at 02:35:05PM -0500, Donald Becker wrote:
> > First: do not force full duplex!
> > 
> > When your switch allows forcing the setting, you have a long-term
> > network administration problem.
> > When your switch cannot be set, you have an immediate bug.
> 
> Hm...  I had figured since my other ethernet cards had autodetected
> 100baseTx-FD, that it was a viable mode for me to be using.

Full duplex is only correct when it is auto-negotiated.

>  I presume from when you said "Note that this is required for the
> 3c595 and 3c590 boards" you mean that autodetection is something that
> just isn't possible with the 3c595?

Correct.  The 3c595 pre-dated autonegotiation, and was one of the
earliest PCI designs.  The 3c905 was a major improvement: it added
autonegotiation, as well as a much more effective architecture for
bus-master transfers.

> > I don't recommend using an old 590 series card if you care about
> > performance.
> > Even a rtl8139 will have far better performance.
> 
> Heh.  Yeah, I figured they'd probably not be great, but they have the
> distinct advantage of being the cards I happen to already own.  :)
> Still, the 100Mbps mode on the 3c595 should do better than the 10Mbps,
> right?  Or is the difference between the two on the 3c595 negligible?

The problem is that the 3c590 series has a single-region bus master
capability.  CPU must do a substantial amount of the work transferring
packets: not as much as a NE2000 clone, but significantly more than with
more modern designs.  And for the $5-$10 that a new low-end Ethernet NIC
will cost, the 3c590 series should be relagated to stand-by use only.

> > What is confliciting?
> I was referring to the differences between these two lines:
> > Transceiver type in use:  100baseTX.
> and
> >  Transceiver selection: 10baseT.

Yes, you got it: it's the difference between the configuration EEPROM
values, and what the chip is currently configured to use.

> So, just to clarify, on a 10/100 switch, the 3c595 will *always* go with
> 10 as opposed to 100?

The 3c595 can only sense the speed.
On a autonegotiating switch the initial offered link beat is 10baseT.
Thus the 3c595 will always stay at 10baseT.

A long time ago the driver tried to offer 100baseTx link beat for a few
seconds when started.
But this jams most 10baseT repeaters.. a very bad thing.
And there is a race condition when communicating with a link partner
trying to do the same thing.

Autonegotiation is really a Very Good Thing.  It is a _requirement_ for
a plug-and-play networking.

  http://scyld.com/expert/NWay.html

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993