Rx-Problem with 8139.c Driver

Donald Becker becker@cesdis.gsfc.nasa.gov
Fri Dec 3 16:10:12 1999


On Fri, 3 Dec 1999, Stefan Meister wrote:

> I have a problem in receiving Data-Packets with an Lantech Fastnet TX 
> PCI-Card with an 8139A.
> If i send files bigger than (ca.) 64K to the receiving Linux-Server 
...
> Server: ASUS SP3G, 486AMDx133, 32MB

The SP3G uses a chipset with a broken PCI implementation.  It does not work
with modern cards using long bursts.  You must limit write bursts to 8
longwords, preferably with 8 longword cache alignment.

I don't recall if the bug is when spanning cache lines, or just with the
length of the burst.

Try setting the constant RX_DMA_BURST to 1  (16<< 1 = 32 bytes) in the
source file.  This *should* work around the hardware bug, although I have
not verified this myself.  Please send a report to the list.

The Tulip driver used to explicitly check for this bug and silently
implement the work-around.  But it's no longer easy or accurate to check for
a 486 PCI system, and not all 486-like systems use the buggy chipset.  (Does
anyone know a correct method for programmatically detecting this bug?)

Donald Becker
Scyld Computing Corporation, and
USRA-CESDIS,   becker@cesdis.gsfc.nasa.gov

 | To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name youraddress@wherever.org
 | You will be unsubscribed as speedily as possible.