[eepro100] High collision rate

Bernd Stahlbock stahlbock@basysprint.de
Sun, 28 Jan 2001 16:24:15 +0100


Donald Becker schrieb:

> > I've recognised a problem in the internal network of our industrial
> > machines: We use a NT workstation control PC with GUI (normally SMC
> > Etherpower II or 3Com NICs) and one or two Linux embedded PCs with Intel
> > 82558B Chip and Donald Beckers driver "eepro100.c:v1.11 7/19/2000 Donald
> > Becker <becker@scyld.com>\n";.
> > If the machine has one embedded PC, it's a direct cross connection to
> > the NT PC. If there are two embedded PCs, we use a small 100MB Hub. The
> > Problem is on all machines the same:
>
> Hmmm, a cross-over cable should result in negotiated full duplex.
> Only the repeater connection should show collisions.
>

We fix the other (NT Workstation side) card to 100TX halfduplex, because we
had trouble with the eepro running in fullduplex in former times. For now I
changed that to full duplex to get rid of this collisions. But we have two
types of machines, and this doesn't work for the machines with two embedded
pcs and a hub inside. Maybe we should change it to switches, but that's much
more expensive.


> You might want to check the link status with 'mii-diag'.
>      http://www.scyld.com/diag/index.html

We use the FLUKE Nettool network tester. It tells us correctly that the eepro
anounces 10/100TX full, but actually uses halfduplex (because the other side
is forced halfduplex).

> > If we produce network traffic (with not more than 800kbyte/sec) on a TCP
> > stream while the machine is operating, we got a collision rate up to
> > 55%. Nearly no matter if one or two embedded pcs are written to at the
> > same time.
>
> The eepro100 driver is counting the total number of collisions, not the
> number of packets with collisions.  A single packet might accumulate
> up to 15 collisions.
>

We also use the fluke nettool for diagnostics.

> No.
> Check your network for a duplex mismatch, or errors reported in
> /proc/net/dev.

As I said, we force the other side to halfduplex, and the nettool tells us,
that the eepro is running halfduplex as well. Is this to have doubts upon? Is
it better to force the eepro driver to halfduplex as well?
Can you imagine another source for a high collision rate other than duplex
mismatch? Any hint will be a great help!

best regards
Bernd Stahlbock

--
stahlbock@basysprint.de, http://www.basysprint.de
basysPrint GmbH, Guelzer Str. 15, 19258 Boizenburg, Germany
Tel.: ++49-38847-99-150, Fax:++49-38847-99-192