[vortex] 3C905TX doesn't see 10Mbps hub till unplugged/replugged
Donald Becker
becker@scyld.com
Fri, 30 Jun 2000 17:29:44 -0400 (EDT)
On Fri, 30 Jun 2000, Bogdan Costescu wrote:
> 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.
No, it might just mean that autonegotiation did not complete.
> 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
The 905 always uses an external transceiver.
> that standard means here "whatever 3Com provides on their boards" and not
> "MII general standard"; I always talk about 3Com specifics).
Keep in mind that there are 100baseT4 MII transceivers, not just 100baseTx.
> 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 ?
0xffff means that there is no MII transceiver.
0x0000 might mean that there is no MII transceiver, but it usually means
that there is no link partner report (no autonegotiation).
> 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.
Consider MII+10base2 boards. The driver must switch to 10base2 when there
is no twisted pair link beat.
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Beowulf Clusters / Linux Installations
Annapolis MD 21403