setting 100baseTx-FD

Donald Becker
Thu May 11 21:42:39 2000

On Thu, 11 May 2000, Eric Pop wrote:

> Hi all.  I've got an ethernet card based on the Digital 21143 chipset and
> I'm using the tulip.c:v0.91g-ppc 7/16/99 driver (kernel 2.2.14 on a red hat
> install).  Recently my dorm's network was upgraded to 100baseT ethernet so
> I thought it might be nice to take advantage of this.  So I brought down the
> network interface and removed the tulip kernel module.  Then I ran
> insmod insmod /lib/modules/2.2.14-12/net/tulip.o options=5

Forcing the media here is bad -- see below.

> But tulip-diag -e still reports a 10mpbs connection:
> tulip-diag.c:v2.00 4/19/2000 Donald Becker (
> Index #1: Found a Digital DS21143 Tulip adapter at 0x2000.
>   The NWay status register is 45e1d2ca.

Your link partner is a very capable switch that wants to autonegotiate.
You should let it.

By forcing the media type you are preventing autonegotiation, and thus
causing the switch to believe that you are half duplex mode.

>  Port selection is 10mpbs-serial, full-duplex.

Hmmm, this is curious.  Something unexpected is going on.

One of the changes to the v92 (vs. 91g) driver is paying stricter attention
to the forced media type flag on the 21143, while still using the EEPROM
media table.  I would normally recommend that you try v92, but the best
solution is to just not force the media type.

> EEPROM transceiver/media description for the Digital DS21143 Tulip chip.
> Leaf node at offset 30, default media type 0800 (Autosense).
>  2 transceiver description blocks:
>   Media 10baseT, block type 2, length 6.
>    Serial transceiver for 10baseT (media type 0).
>     GP pin direction 08e1  GP pin data 0000.
>   Media 10baseT-Full Duplex, block type 2, length 6.
>    Serial transceiver for 10baseT-Full Duplex (media type 4).
>     GP pin direction 08e1  GP pin data 0000.

Ahhh, this might be a problem.  The 21143 media table only has 10baseT
types!  The driver *was* doing the best that it could.  Does your card
really support 100baseTx?

>   Internal autonegotiation state is 'Negotiation complete'.

> while mii-diag reports:
> Using the default interface 'eth0'.
> Basic registers of MII PHY #32:  1000 786c 0000 0000 04a1 45e1 0000 0000.

The driver is "faking" these registers, and doesn't do a perfect job of it.

>  Basic mode control register 0x1000: Auto-negotiation enabled.
>  You have link beat, and everything is working OK.
>  Your link partner advertised 45e1: Flow-control 100baseTx-FD 100baseTx 
> 10baseT-FD 10baseT, w/ 802.3X flow control.
> What am I missing or doing wrong?  How can I tell my card to run at 100baseT?
> Any suggestions?  Thank you.

It's possible to force the setting, but the correct solution is to find out
why the EEPROM is reporting only 10baseT media types.

Donald Becker
Scyld Computing Corporation
410 Severn Ave. Suite 210
Annapolis MD 21403

To unsubscribe send a message body containing "unsubscribe"