[realtek] rtl8139 + 8139too problems (2.2 + 2.4)

Stefan Hoffmeister Stefan.Hoffmeister@Econos.de
Sat, 23 Dec 2000 20:30:21 +0100


[please CC replies to me; I am not on the list]

I am experiencing problems with an Allied Telesyn 2500TX (Realtek 8139 rev
10) card in the docking station of an HP Omnibook 800 (P133/48 MB)

The (oldish) rtl8139 driver (1.08 with a 2.2.16 kernel) would completely
die after large packet size pings, e.g. "ping -s 5000 192.168.0.55" (in
addition to 100% packet loss). Only ifconfig eth up/down would resurrect
everything. FTPing data would stall/hang

The 8139too driver in 2.2.18 would exhibit the same problems, except that
the network connection wasn't killed off completely.

I am now on the (latest) 8139too driver with 2.4-test12 and observe the
following:

  ping -s 5000 192.168.0.55

still gets me 100% packet loss, but at least I do not have to restart the
network.

  netperf -H 192.168.0.77 

indicates a throughput of about 3 MB/s *to* an Intel eepro100 in the TCP
STREAM TEST,      **but**

  netperf -H 192.168.0.55

from that Intel eepro100 system *to* the 8139too system (192.168.0.55)
gets me a whopping throughput of 500 KB/s.

IOW, if I send data from the Realtek 8139 machine, all is fine. If the
Realtek 8139 machine *receives* data, performance is just horrible.

While netperf is performing its tests, the syslog is literally spammed
with these entries:

  eth0: Abnormal interrupt, status 00000041

Occasionally, a single

  eth0: Abnormal interrupt, status 00000045

and

  eth0: Abnormal interrupt, status 00000040

are mixed in. I get the same entries in the syslog for each packet loss
with a large ping packet size.

>From http://www.scyld.com/network/rtl8139.html I gather 

  0x0040  Rx FIFO overflow, set when the Rx ring is 
          full or there is not enough PCI bandwidth 

Keeping in mind that the NIC is located in a docking station - what
exactly could be the causes of all these abnormal interrupts? I somehow
cannot imagine that a "ping -s 5000" causes a problem with PCI bandwidth.

Is there anything that I could do about this problem?

TIA!