Bridging trouble with RTL 8139

Donald Becker
Thu Dec 2 16:08:01 1999

On Thu, 2 Dec 1999, Martin Leopold wrote:

> As bridge
> between the two networks I have i Linux box with a NE2k comp. 10 Mbps ISA
> card and a RTL8139 100 Mbps PCI card. The Linux box is a Pentium 100 with
> 16 Mb RAM running Slackware Linux (3.3 I think) the kernel is 2.2.12.
> The trouble is this: When I try to access SMB shares from either side of
> the LAN I get some very wierd time-out errors.

Check /proc/net/dev for error count, and check your message logs for card

If the rtl8139 driver is timing out, the first step is to try an updated
driver.  Don't bother updating the driver otherwise.

> I've tried changing the RTL card with a 3Com 905B card and the bridging
> works fine. I wanted to use the RTL card as the bridge from 100 -> 10
> because its so cheap and since the 10 Mbps card is surly going to be the
> bottle neck, it doesn't matter that the RTL card has such lousy preformance.

The rtl8139 doesn't have lousy performance, it's data transfer architecture
is just not as good as many other current 10/100 chips.  It's much faster
than a PCI NE2000 clone, which in turn is much faster than a ISA NE2000

An ISA Ethernet card will consume more than a third of your CPU cycles at
full bandwidth.  The ISA NE2000 overhead is while waiting on the ISA bus, so
the load is independent of the processor speed.  Most people think that they
can make up for slow ISA devices with a faster processor.  You only end up
wasting more CPU cycles.  In this case the slow ISA accesses might cause
problems with the faster rtl8139 card.
Summary: ISA Bad, PCI good.

In contrast, a faster memory subsystem mitigates the extra rtl8139 copy.
And the rtl8139-A and -B, with PCI v2.0 and v2.1 support, have improved the
PCI burst transfer performance.

At US$12/ea. for rtl8139b cards, there is no longer any reason to buy PCI
NE2000 clones.  And ISA cards should only be used on old systems without PCI

Donald Becker
Scyld Computing Corporation, and

 | To unsubscribe, send mail to, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name
 | You will be unsubscribed as speedily as possible.