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

Donald Becker becker@scyld.com
Mon, 26 Jun 2000 15:53:16 -0400 (EDT)


On Mon, 26 Jun 2000, Bogdan Costescu wrote:

> On Sun, 25 Jun 2000, Donald Becker wrote:
> > If you reset the transceiver on 'down+up', you will drop up to three seconds
> > worth of received packets.  This is Bad.
> 
> Another one of your statements! Can you give at least once a good
> explanation ?
...
> transmission is not affected, as the network is simply not ready yet. You
> loose some packets that were maybe on the net during this time; again, the
> network is not ready yet! So what's the catch ?

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.

> And... we are discussing here a method of getting a link when the current
> methods are failing. So I think that 3 seconds delay is much better than
> no-link. The user might do it using mii-diag anyway, which will take
> the same amount of time and will not have the protection given by a
> blocked vortex_open...

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'.

> > Some MII transceivers report the link speed sensed in register 5 when
> > autonegotiation did not complete, but this cannot be relied upon.
> > Similarly, the negotiated duplex and speed may be reported in the register
> > 0, but this is not standardized.
> 
> I not really interested in other (than 3Com) cards for the moment. Are you
> saying that the 3Com cards have non-standardized registers ?

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.

> > this isn't the correct approach:
> >    It should never be necessary
> The current problem somehow proved the contrary!

No, it just showed that there is broken hardware out there.
There is a lot of 
of people that use 

> > It may be acceptable for the driver to reset the autonegotiation/autosensing
> > if no link beat is detected for three seconds after activating the
> > interface, but we should only only do this if it is confirmed to fix a
> > problem.
> 
> Finally! Although I don't agree with the part about restarting auto*. The
> auto* didn't do anything useful in this case the first time (at card
> init), do we have any hope that will do the second time?

We should only reset the link.  We should never disable autonegotiation in
this case.

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Annapolis MD 21403