[tulip] Catalist 1924<->Linksts LNE100TX only half duplex 10BaseT
??? ;-(
Donald Becker
becker@scyld.com
Fri, 6 Apr 2001 08:56:28 -0400 (EDT)
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));
> - Is it possible to switch the card from autonegotiation mode only to
> some particular one?
> (options F and A of tulip-diag and mii-diag don't work. Do they really suppose to work?;-( )
Yes, AFAIK they should work properly.
You must be 'root' to change the settings, and you must spell the
parameter "10baseT-FD", not "10baseT-FDX"
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993