MII media trouble with ANA 6911A/TX

Donald Becker becker@cesdis1.gsfc.nasa.gov
Fri Feb 5 15:46:58 1999


On Fri, 5 Feb 1999, Klaus Schroer wrote:

>   We are using the ANA 6911A/TX on several Alpha machines running Linux
> 2.0.36 with tulip 0.90f. We ordered a bunch of them at the same time and
> noticed that they look different and have different chipsets (DS21140 and 
> DS21143). We are also using a quad port ANA 6944A (DS21140).

Grrr, that's why the Tulip driver is a real bitch to support.  I get reports
for the "ANA6911", when that could mean any one of several very different
designs.

>   First I noticed that I had to force the tulip driver to use the same IRQ
> for all 4 ports of the ANA 6944A as was already reported. Does this have
> any impact on the performance when using all ports at the same time e.g.
> running a router or firewall ?

This is a BIOS issue: the BIOS configures the bus bridge on the multiport
board.  Most x86 BIOSes have a bug that with IRQ assignment and reporting
that the driver must work around.

>   I had some difficulties getting all of them running in 100baseTX-FD
> mode. I finally found that I couldn't use the DS21143 cards when
> connecting to a 3Com switch but I could use them when I connected the
> DS21143 to the ANA 6944A ports. The problem is that if you let it
> autonegotiate it will end up in half duplex mode and if you try to force
> it using FD (option=14) it just tells you that the MII transceiver was not
> found. Here is the log message when including the module:

The issue is NWay autonegotiation -- read
  http://cesdis.gsfc.nasa.gov/linux/misc/NWay.html

Most Cisco switches do not autonegotiate -- Cisco has been way behind on this.
Many older 3Com switches have broken autonegotiation timing.  Some swithes
have firmware updates that fixes the worst of the problem.
Old Bay Networks switches (e.g. the 28115) don't have autonegotation, but
all new ones do.

> When using no option connecting to the 3Com switch I get a large number of
>   kernel: eth0: MII status 786b, Link partner report 0081, CSR6 320e2202.

The link partner isn't doing autonegotiation..

> and the connection is very slow (netperf shows about 5 Mb/s) so the
> autonegotiation didn't work.


> When using option 14 connecting to the 3Com switch I get
>   kernel: eth0: Using user-specified media MII 100baseTx-FD.
>   kernel: eth0: 21143 negotiation status 000000c6, MII.
>   kernel: eth0: MII status 7849, Link partner report 0000, CSR6 320e2202.
>   kernel: eth0: No link beat on the MII interface, status then 7849 now 7849.
> and I get no connectionat all.

The status is reporting no link beat.  Try running 'mii-diag' to confirm.
  http://cesdis.gsfc.nasa.gov/linux/diag/index.html

> When using option 11 connecting to the 3Com switch I get
>   kernel: eth0: Using user-specified media MII.
> but get poor performance again (like with no options) so the MII
> autonegotiation didn't work either.

Correct.  The default media type when an MII transceiver is found is '11'.

> Finally I solved the problem for my case by switching connections. When
> using option 14 and connecting to one port of the ANA 6944A I get:
>   kernel: eth0: Using user-specified media MII 100baseTx-FD.
> and it works (netperf shows about 87 Mb/s).

Try using
"option tulip full_duplex=1"  (or e.g. "full_duplex=1,1,0,0" w/multiple ports)
This should work on either MII or SYM transceivers.
Note that a *negotiated* full duplex connection will always override the
duplex setting.

Donald Becker					  becker@cesdis.gsfc.nasa.gov
USRA-CESDIS, Center of Excellence in Space Data and Information Sciences.
Code 930.5, Goddard Space Flight Center,  Greenbelt, MD.  20771
301-286-0882	     http://cesdis.gsfc.nasa.gov/people/becker/whoiam.html