[realtek] rtl8139.c (becker): transmit timeout, dirty entry, ...

Norbert Federa nfedera@thinstuff.com
Mon, 21 May 2001 16:56:25 +0200 (CEST)


same problem with rtl8139.c v1.13 1/9/2001 Donald Becker
(see http://www.scyld.com/pipermail/realtek/2001-May/000944.html) 

KERNEL/DRIVER:  2.2.19, rtl8139 v1.13 1/9/2001
NIC:            RTL8139B RTL8139C
NETWORK:        10Mbit Hub
PROBLEM:        total network hangs for ~20-40 seconds.


LOG:

May 21 16:13:04 debian kernel: rtl8139.c:v1.13 1/9/2001 Donald Becker, becker@scyld.com.
May 21 16:13:04 debian kernel:  http://www.scyld.com/network/rtl8139.html
May 21 16:13:04 debian kernel: eth0: RealTek RTL8139 Fast Ethernet at 0xd000, IRQ 11, 00:e0:c5:c4:0d:44.

# at this point i start ftp-ing a larger file via wget ...after some
# seconds the network hangs for about 20-40 seconds, no
# connections, pings,... possible 

May 21 16:15:03 debian kernel: eth0: Transmit timeout, status 0d 2000 media 18.
May 21 16:15:03 debian kernel: eth0: Tx queue start entry 39  dirty entry 35, full.
May 21 16:15:03 debian kernel: eth0:  Tx descriptor 0 is 00082042.
May 21 16:15:03 debian kernel: eth0:  Tx descriptor 1 is 10082042.
May 21 16:15:03 debian kernel: eth0:  Tx descriptor 2 is 40082042.
May 21 16:15:03 debian kernel: eth0:  Tx descriptor 3 is 00082042. (queue head)
May 21 16:15:03 debian kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 0000 0000 0000.

# network is up again .... 
# and here it hangs again ...

May 21 16:16:08 debian kernel: eth0: Transmit timeout, status 0d 2000 media 18.
May 21 16:16:08 debian kernel: eth0: Tx queue start entry 48  dirty entry 44, full.
May 21 16:16:08 debian kernel: eth0:  Tx descriptor 0 is 0008204e. (queue head)
May 21 16:16:08 debian kernel: eth0:  Tx descriptor 1 is 00082056.
May 21 16:16:08 debian kernel: eth0:  Tx descriptor 2 is 1008204e.
May 21 16:16:08 debian kernel: eth0:  Tx descriptor 3 is 4008204e.
May 21 16:16:08 debian kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 0000 0000 0000.

# to be continued ... :(


the problem is very easy to reproduce:
1: connect 4 workstations to a 10Mbit hub
2: create a little network load between 2 workstations
   (eg. netcat from one /dev/sda drive to another machine :)
3: on the machine with the 8139NIC try to ftp a larger file from
   the 4'th box.            
4: watch your log.

i've tried this with different kernels (2.2.16-19, 2.4.0-4), drivers,
driver versions and chip revisions (RTL8139B and RTL8139C, external cards 
and on-motherboard-versions) - always the same problem.

i've seen similar problem reports on the mailing list.

obviously there must be common problem between jeff's 8139too, and
donald's rtl8139 driver and/or different kernels.

sorry to mention: under nt4 with the realtek.com.tw driver
everything (except nt) is fine - although slow because of
the collisions, but no hangs).

hmmm. any hints/suggestions/tests/patches  ???

regards,
Norbert