[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