[vortex-bug] Re: Asymetric throughput with 3c905b NIC (workaround)

Donald Becker becker@scyld.com
Fri, 30 Jun 2000 16:37:40 -0400 (EDT)


On 30 Jun 2000, Regis Duchesne wrote:

> Machine A has a vanilla kernel 2.2.12
> Machine B has a RedHat kernel 2.2.12-20

Where there is a performance problem with a speed differential between the
machines, it's almost always a duplex problem.  And almost all duplex
problems occur because one end is forced to full duplex.

> On machine A: ./vortex-diag -a
> vortex-diag.c:v2.01 5/17/2000 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xe800.
..
> Transceiver type in use:  Autonegotiate.
>  MAC settings: full-duplex.

> On machine B: ./vortex-diag -a
> Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xfc00.
..
> Transceiver type in use:  Autonegotiate.
>  MAC settings: half-duplex.

> OK, it seems that this one if half-duplex only. It is strange because
> autonegotiate is on, and the NIC knows the other NIC very well :)

What does 'mii-diag' report?

> I have just re-loaded the module with the full_duplex=1 option, and it
..
> So I have a workaround, but the initial problem remains: why is there
> a mis-agreement in the negotiation as far as duplex mode is concerned?
> Is this a driver bug? When do card negotiate the duplex mode? At
> module load time, or each time you plug a new cable into the NIC?

This is almost certainly a configuration bug.
Note: the driver observes the force-full-duplex bit in the EEPROM.

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Beowulf Clusters / Linux Installations
Annapolis MD 21403