Subject: Re: Nway negotiation with an Ethernet switch
To: Erik E. Fair <fair@clock.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 05/04/1999 17:17:02
In message <v04020a00b3552ef6f67f@[209.157.85.34]>"Erik E. Fair" writes
>OK, to summarize, Nway negotiation must be done in hardware, and the best
>we can do in software is detect state after negotiation, or force state.

Mmm, no.  What happens (from a description, not reading the code) is
the driver force the NIC's PHY into various modes, sends out packets,
and listens to what comes back.  From what it gets back in each mode,
it decides what modes the other end can handle, and sets its own
operating mode accordingly.

(UTSL or ask Jason for details).


>This then begs the question, which of the chips that we support do Nway,
>and which do not?

We should have a list. It should be in the individual section-4
manpages.  Off the top of my head, a partial list is:


Does NWay:
	3c905, 3c905B, 3c575(?), 3c515(?)

Doesn't do Nway:
	3c595, 3c597

May or may not do Nway:
	.... de2114x, depends on board(?)

I dont know about the Intel 10/100 boards.



>Part of what puzzles me is that the SRM on my DS3305 (with DE500 cards,
>21143 chips) appears to get Nway wrong - when "ewa0_mode" is set to "auto"
>my switch claims that the card negotiates 100base-T OK, but not FDX, and
>when NetBSD gets control, it renegotiates and gets 10base-T HDX (even
>worse!). 

This could well be due to the software FSM in the de driver trying to
send at 10Mbits full-duplex; UTSL.


>Ooops. My switch is a Dlink DSS-8; I've also bought some Asante
>10/100 PCI I/F's (21141's) for my Macintoshes, and they get it right,
>immediately.

If memory serves, the Asante boards have an external NS phy, which
(IIRC) does do Nway. (I know Matt and I spent ages getting the old
Asante srom code to work with the de driver).

I'll crack a case tomorrow and double-check the asante card.


>Assuming the DE500 with the 21143 is Nway capable, what is SRM (and NetBSD)
>doing wrong?
>
>	'tis a puzzlement!

Hope that helps.