[tulip] Catalist 1924<->Linksys LNE100TX only half duplex 10BaseT??? ;-(

Maxim E. Zimovets Zimovets@uai.etel.ru
Tue, 10 Apr 2001 17:55:52 +0600


Donald Becker wrote:

> On Fri, 6 Apr 2001, Maxim E. Zimovets wrote:
>
> > I just bought a Linksys LNE100TX 10/100 Ethernet adapter v 4.1 and got
> > following problem.
> >
> > The card has to be connected to Cisco Catalyst 1924 10BaseT port. Such
> > port supports full duplex, but doesn't support autonegotiation.
>
> I claim that this is non-standard/pre-standard equipment.  Equipment
> should have autonegotiation to support full duplex.  Still, this
> is a configuration that the driver supports.
>
> > I do to insmod with following parameters: (though I changed a lot of parameters)
> >  /sbin/insmod tulip full_duplex=1 options=0x20a debug=2
> >
> > and dmesg shows
> >
> >  tulip.c:v0.92t 1/15/2001  Written by Donald Becker <becker@scyld.com>
> >    http://www.scyld.com/network/tulip.html
> >  eth0: ADMtek Centaur-P rev 17 at 0xc801f000, 00:03:6D:1B:E4:14, IRQ 5.
> >  eth0: Transceiver selection forced to 10baseT-FDX.
> >  eth0:  MII transceiver #1 config 1100 status 786d advertising 0041.
> >  eth0: tulip_open() irq 5.
> >  eth0: No media description table, assuming 10baseT-FDX transceiver, CSR12 00.
>
> That looks fine.
>
> > At the same time mii-diag -v shows:
> > mii-diag.c:v2.00 4/19/2000  Donald Becker (becker@scyld.com)
> >  http://www.scyld.com/diag/index.html
> > Using the default interface 'eth0'.
> >  MII PHY #1 transceiver registers:
> >    1100 786d 0022 5410 0041 0021 0004 2001
> ...
> >  Basic mode control register 0x1100: Auto-negotiation enabled.
>
> Hmmm, this should arguably be set to 0x0100.
>
> To do this, the code around line 906 should be changed from
>                 /* Enable autonegotiation: some boards default to off. */
>                 mdio_write(dev, phy, 0, (mii_reg0 & ~0x3000) |
>                            (tp->full_duplex ? 0x0100 : 0x0000) |
>                            ((media_cap[tp->default_port] & MediaIs100) ?
>                                 0x2000 : 0x1000));
> to
>                 /* Enable autonegotiation: some boards default to off. */
>                 mdio_write(dev, phy, 0, (mii_reg0 & ~0x3000) |
>                            (tp->full_duplex ? 0x0100 : 0x0000) |
>                            ((media_cap[tp->default_port] & MediaIs100) ?
>                                 0x2000 :
>                         (media_cap[tp->default_port] & MediaAlwaysFD) ?
>                 0 : 0x1000));
>

Donald it solved the problem! Great!

Will You incorparate the change into next version of the drivers?

>

BTW Can You explain following piece of information from tulip-diag:

 ADMtek vendor specific registers information:

   Cable length is approximately 0 meters.

   The receiver has lost lock 11362 times since last check and had 11362 error events.

                 ^^^^^^^^^^^^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^^^^^^^^
Is this Ok? I didn't see any loses and Catalist shows no error at all.


With best regards
Maxim
--
This mail reflects the personal opinion of the author. It can differ
from the opinion of his employer.

Maxim Zimovets
Network Administrator
Zimovets@uai.etel.ru