[vortex] 3C905TX doesn't see 10Mbps hub till unplugged/replugged

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Mon, 26 Jun 2000 23:00:47 +0200 (CEST)

On Mon, 26 Jun 2000, Donald Becker wrote:

> One application I'm thinking of is a single program that brings the
> interface down to change a parameter and immediately marks it back up.
> This normally takes only a few microseconds, which usually results in no
> lost packets.  If the driver resets the transceiver the application will
> lose up to three seconds worth of packets.
> ....
> If I'm correct, the link is failing because of broken or misdesigned
> hardware.  It's perfectly reasonable to state that we don't support such
> hardware, and that the work-around is to use 'mii-diag -R'.

That's the whole point of the discussion as I see it. We try to get a link
in spite of broken hardware; then the user should be aware that his/her
hardware does not work "normally" and should not expect all the
networking related programs to function just how they do on "good"
hardware. Or he/she should go and buy a "good" one 8-)
As the original poster said, it's usually not desired to add mii-diag to
init scripts (although this might be the price for a cheap hardware), so
that's why I suggested adding this to the driver...

> We can't make generalized statements about 3Com.
> You must understand how 3Com does their chips.  They design the core, with
> MII-like connections and send it out to a fab house.  The fab house
> adds a MII transceiver that they have a license for, and creates a mask that
> is licensed for specific fab lines.  3Com tries to keep at least three fab
> houses ready to produce chips, and orders from whichever is least expensive
> at the time.  That means that the "same" chip might have several different
> transceivers.

Very entertaining!!! But coming back to our problem, 3Com should have  a
method of accesing the right registers. Is it something like:

	if (ASIC_ver == 1234)
	else if (ASIC_ver == 5678)... ?

Or we might as well split the driver! Just kidding... creating different
routines for different enough hardware. I haven't really checked, I just
see that B and C versions of 905 are quite similar WRT MII.


Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De