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

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Fri, 23 Jun 2000 17:25:08 +0200 (CEST)


On Thu, 22 Jun 2000, Donald Becker wrote:

> Doing 'mii-diag -R' will reset the transceiver, retriggering
> autonegotiation.

The original post mentioned that even only 'mii-diag -F 10base-T' worked,
so no need for resetting the transceiver, just forcing it to the right
speed (I'm assuming that this forcing does not reset the transceiver).

> The transceiver has a power-up default that the driver should not change.
> The default is usually "autonegotiate".

How about putting in some code to warn if an autonegotiation capable card
has the default set to something else? Anyway, this was not true in this
case, as both the start-up messages and mii-diag showed autonegotiation
capabilities.

> The driver should not usually reset the transceiver.  It certainly shouldn't
> do a reset each time the interface is activated, since it may take 3 seconds
> before the negotiation completes or fails.

I don't quite understand this; how often is the interface activated so
that you care for the 3 seconds?

> In default autonegotiation/autosense mode an MII transceiver should "just
> work", without the driver have to set any configuration.

Agreed, but what is to be done in case it doesn't "just work"?

> If the driver needs to force the link speed (and turn off autonegotiation),
> it should write register 0.  If the driver knows it has been forced to full
> duplex, it should set the FDX bit in reg 0 since that may be controlling
> an LED.

But the current driver does not do this! I couldn't find any mdio_write to
register 0 and anyway there is no possibility to force the link speed to
10base-T by using the module options. Should this be added to the driver?

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