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

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Fri, 30 Jun 2000 23:06:15 +0200 (CEST)


On Fri, 30 Jun 2000, Donald Becker wrote:

> The standard doesn't define the contents of MII reg 5 when autonegotiation
> hasn't occurred.  Some transceivers report the link speed without setting
> the 0x4000 "autonegotiation complete" bit, but others just leave reg 5 set
> to '0x0000'.

You mean that reg. 5 can be '0x0000' when autonegotiate did complete?
I was thinking of reg. 5 == 0 as a "bad things happened" indicator.

> but perhaps it's not clear that reporting the link speed in MII reg 5 is
> convenience feature that goes beyond the standard.

No, it was not clear. I have found this register in the docs for both 905C
and 905/905b and I supposed that is more or less standard. (I also suppose
that standard means here "whatever 3Com provides on their boards" and not
"MII general standard"; I always talk about 3Com specifics).

I also see in your driver (in set_media_type() from 0.99Qg):

	if (mii_reg5 == 0xffff || mii_reg5 == 0x0000)
		;					/* No MII
device or no link partner report */

What's the meaning of this ?

> > - register 1 (bmsr and new_bmsr). The condition
> > 	(bmsr & 0x0016) == 0x0004 is true when the link is established,
> > false otherwise.
> 
> Keep in mind that these are all "sticky" bits.  You have have to read the
> register a second time to get the current values.  Also, in some cases
> you'll see a working link with the Tx jabber bit set.

OK, that means that we have at least one reliable way of detecting the
situation when the link was not established. So we can check for this and
restart the autonegotiation.

Sincerely,

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