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

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Thu, 15 Jun 2000 19:29:53 +0200 (CEST)


On Tue, 13 Jun 2000, Bill Newcomb wrote:

> (forgive me if I am a megabozo, and this message doesn't belong on
> this list, but rather only on vortex-bug, where I posted it a week
> ago.  Maybe all the vortex-bug readers are on summer vacation :-)

No, I saw it there, but I'm simply not expert in negotiation problems and
didn't want to answer, hoping that somebody else will...

> I have a 3C905TX in my linux box which doesn't seem to see that it's
> plugged in to the cheapie 10BaseT hub when it boots up.  If I then
> disconnect the Ethernet cable and reconnect it, however, lights go on
> at the card and the hub, and all is well.  I haven't tried it with any

So, it seems like the card does not get the media setting right at boot,
but it does it when you disconnect/reconnect it.
Can you try insmod/rmmod the 3c59x module and see if the driver starts OK?

> other hub equipment, so I don't know if it's the hub, or a config
> mistake on my part.  I scrounged around in the archives a bit, and

>From your description, this hub should only be able to do 10BaseT with no
autonegotiation. So the hub is not at fault...

> didn't see this exact problem, so I assume it's not a flat-out bug in
> the driver.  I originally had 0.99H(?), and upgraded to 0.99Q, but
> that didn't seem to change anything.  I'd rather not "hard-wire" the
> transceiver setting if I don't have to, as it would be nice to not
> have to change something else when I rove around to other networks. 

So I assume that you didn't try to start the module with the option
specifying the media type. Please read
http://www.scyld.com/network/vortex.html where you can find the values and
their meaning.
Anyway, you want the driver to work without specifying options, so we have
to find out why the driver does not initialize the card correctly.

> Before:
>  Basic mode control register 0x3100: Auto-negotiation enabled.
>  Basic mode status register 0x7849 ... 7849.
>    Link status: not established.
>    This transceiver is capable of  100baseTx-FD 100baseTx 10baseT-FD
> 10baseT.
>    Able to perform Auto-negotiation, negotiation not complete.

So the card wants to negotiate, but the hub doesn't 8-) 

>  I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
>    Advertising no additional info pages.
>    IEEE 802.3 CSMA/CD protocol.
>  Link partner capability is 0000:.
>    Negotiation did not complete.

This is a bit strange. The "Link partner capability" should tell us what
the hub can do. So this is the cause of the wrong setting of the board.

> After:
>  Basic mode control register 0x3100: Auto-negotiation enabled.
>  You have link beat, and everything is working OK.
>    This transceiver is capable of  100baseTx-FD 100baseTx 10baseT-FD
> 10baseT.
>    Able to perform Auto-negotiation, negotiation complete.
>  Your link partner is generating 10baseT link beat  (no
> autonegotiation).

So now it finds the right media...

>  I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
>    Advertising no additional info pages.
>    IEEE 802.3 CSMA/CD protocol.
>  Link partner capability is 0021: 10baseT.
>    Negotiation did not complete.

...still without negotiation, but the "Link partner capability" is now
known.

I'll take a look at the driver to find out why the first time it doesn't
work. It might also be a hardware problem 8-(

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