[realtek] Huge transmit/carrier errors with 8139C on linux

Kevin Cassidy kc@cglbrd.com
Thu Jul 18 12:20:02 2002


This is a multi-part message in MIME format.

------=_NextPart_000_00F5_01C22E4D.046E6B60
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi folks,

After much research on the Internet I'm at a loss to get an explanation
as to why my ifconfig shows an output such as this :

eth0      Link encap:Ethernet  HWaddr 00:10:DC:45:EB:E4
          inet addr:209.239.20.9  Bcast:209.239.20.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:94828 errors:1 dropped:0 overruns:0 frame:0
          TX packets:112200 errors:6091 dropped:0 overruns:0 carrier:12182
          collisions:992 txqueuelen:100
          RX bytes:13857807 (13.2 Mb)  TX bytes:95681876 (91.2 Mb)
          Interrupt:11 Base address:0x8000

(and this is just from being up for only 26 minutes!).

Why am I getting so many transmit errors ? And is there any reason why the
carrier errors are exactly double the transmit errors ? The card doesn't
hang
permanently - just for a second or two every once in a while - and that
makes
a difference in the overall speed for the server.

I have another server exactly like this one - but don't want to put it in
production
if it will generate the same errors. I cannot seem to generate the same
amount
of errors on my local network when testing huge downloads on this second
server.
There are a few - 1 or 2 - of the transmit errors - certainly not as many as
I see on
our production machine!

I'm running slackware 8.1 (kernel 2.4.18) and my card info is as follows :

==============================================================

root@server1:/usr/src/rtl# lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
(rev 01)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
00:02.2 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
00:02.3 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS]
SiS7012 PCI Audio Accelerator (rev a0)
00:07.0 Communication controller: Conexant: Unknown device 2f10 (rev 01)
00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C
(rev 10)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX DDR]
(rev b2)

---

root@server1:/usr/src/rtl# ./rtl8139diag -ee
rtl8139-diag.c:v2.06 3/22/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
Decoded EEPROM contents:
   PCI IDs -- Vendor 0x10ec, Device 0x8139.
   PCI Subsystem IDs -- Vendor 0x10ec, Device 0x8139.
   PCI timer settings -- minimum grant 32, maximum latency 64.
  General purpose pins --  direction 0xe5  value 0x12.
  Station Address 00:10:DC:45:EB:E4.
  Configuration register 0/1 -- 0x8d / 0xc2.
 EEPROM active region checksum is 0ac3.
EEPROM contents (64 words):
0x00:  8129 10ec 8139 10ec 8139 4020 e512 1000
0x08:  45dc e4eb 8d10 f7c2 8801 03b9 60f4 071a
0x10:  dfa3 9836 dfa3 9836 03b9 60f4 1a1a 1a1a
0x18:  0000 f967 0000 0000 0000 0000 0000 2000
0x20:  0000 0000 0000 0000 0000 0000 0000 0000
0x28:  0000 0000 0000 0000 0000 0000 0000 0000
0x30:  0000 0000 0000 0000 0000 0000 0000 0000
0x38:  0000 0000 0000 0000 0000 0000 0000 0000

--

root@server1:/usr/src/rtl# ./rtl8139diag -m
rtl8139-diag.c:v2.06 3/22/2002 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
 The RTL8139 does not use a MII transceiver.
 It does have internal MII-compatible registers:
   Basic mode control register   0x1000.
   Basic mode status register    0x782d.
   Autonegotiation Advertisement 0x01e1.
   Link Partner Ability register 0x0000.
   Autonegotiation expansion     0x0000.
   Disconnects                   0x0000.
   False carrier sense counter   0x0000.
   NWay test register            0x0005.
   Receive frame error count     0x0000.

--

(output from cat /proc/pci)

  Bus  0, device  15, function  0:
    Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 16).
      IRQ 11.
      Master Capable.  Latency=32.  Min Gnt=32.Max Lat=64.
      I/O at 0xec00 [0xecff].
      Non-prefetchable 32 bit memory at 0xce012000 [0xce0120ff].

======================================================
I hope someone out there can help me or at least explain why this is
happening.

Thank you.

Kevin


------=_NextPart_000_00F5_01C22E4D.046E6B60
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR></HEAD>
<BODY>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>Hi=20
folks,</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>After =
much research=20
on the Internet I'm at a loss to get an explanation </FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>as to =
why my=20
ifconfig shows an output such as this :</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp; =
HWaddr=20
00:10:DC:45:EB:E4&nbsp;=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet=20
addr:209.239.20.9&nbsp; Bcast:209.239.20.255&nbsp;=20
Mask:255.255.255.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; UP=20
BROADCAST RUNNING MULTICAST&nbsp; MTU:1500&nbsp;=20
Metric:1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX=20
packets:94828 errors:1 dropped:0 overruns:0=20
frame:0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX=20
packets:112200 errors:6091 dropped:0 overruns:0=20
carrier:12182<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
collisions:992 txqueuelen:100=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX =
bytes:13857807=20
(13.2 Mb)&nbsp; TX bytes:95681876 (91.2=20
Mb)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
Interrupt:11 Base=20
address:0x8000 </FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>(and =
this is just=20
from being up for only 26 minutes!).</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>Why am =
I getting so=20
many transmit errors ? And is there any reason why =
the</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial =
size=3D2>carrier errors are=20
exactly double the transmit errors ? The card doesn't hang =
</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial =
size=3D2>permanently - just=20
for a second or two every once in a while - and that =
makes</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>a =
difference in the=20
overall speed for the server. </FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>I have =
another=20
server exactly like this one - but don't want to put it in=20
production</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>if it =
will generate=20
the same errors.&nbsp;I cannot seem to generate the same=20
amount</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>of =
errors on my=20
local </FONT></SPAN><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>network when testing huge downloads on this second=20
server.</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>There =
are a few - 1=20
or 2 - of the transmit errors - certainly not as&nbsp;many =
</FONT></SPAN><SPAN=20
class=3D960010916-18072002><FONT face=3DArial size=3D2>as I see on=20
</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>our =
production=20
machine!</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>I'm =
running=20
slackware 8.1 (kernel 2.4.18) and my card info is as follows=20
:</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2><A=20
href=3D"mailto:root@server1:/usr/src/rtl">root@server1:/usr/src/rtl</A># =

lspci<BR>00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown =
device=20
0645 (rev 01)<BR>00:01.0 PCI bridge: Silicon Integrated Systems [SiS] =
5591/5592=20
AGP<BR>00:02.0 ISA bridge: Silicon Integrated Systems [SiS]=20
85C503/5513<BR>00:02.2 USB Controller: Silicon Integrated Systems [SiS] =
7001=20
(rev 07)<BR>00:02.3 USB Controller: Silicon Integrated Systems [SiS] =
7001 (rev=20
07)<BR>00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 =
[IDE] (rev=20
d0)<BR>00:02.7 Multimedia audio controller: Silicon Integrated Systems =
[SiS]=20
SiS7012 PCI Audio Accelerator (rev a0)<BR>00:07.0 Communication =
controller:=20
Conexant: Unknown device 2f10 (rev 01)<BR>00:0f.0 Ethernet controller: =
Realtek=20
Semiconductor Co., Ltd. RTL-8139/8139C (rev 10)<BR>01:00.0 VGA =
compatible=20
controller: nVidia Corporation NV11 [GeForce2 MX DDR] (rev=20
b2)</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>---</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2><A=20
href=3D"mailto:root@server1:/usr/src/rtl">root@server1:/usr/src/rtl</A># =

./rtl8139diag -ee <BR>rtl8139-diag.c:v2.06 3/22/2002 Donald Becker (<A=20
href=3D"mailto:becker@scyld.com">becker@scyld.com</A>)<BR>&nbsp;<A=20
href=3D"http://www.scyld.com/diag/index.html">http://www.scyld.com/diag/i=
ndex.html</A><BR>Index=20
#1: Found a RealTek RTL8139 adapter at 0xec00.<BR>Decoded EEPROM=20
contents:<BR>&nbsp;&nbsp; PCI IDs -- Vendor 0x10ec, Device=20
0x8139.<BR>&nbsp;&nbsp; PCI Subsystem IDs -- Vendor 0x10ec, Device=20
0x8139.<BR>&nbsp;&nbsp; PCI timer settings -- minimum grant 32, maximum =
latency=20
64.<BR>&nbsp; General purpose pins --&nbsp; direction 0xe5&nbsp; value=20
0x12.<BR>&nbsp; Station Address 00:10:DC:45:EB:E4.<BR>&nbsp; =
Configuration=20
register 0/1 -- 0x8d / 0xc2.<BR>&nbsp;EEPROM active region checksum is=20
0ac3.<BR>EEPROM contents (64 words):<BR>0x00:&nbsp; 8129 10ec 8139 10ec =
8139=20
4020 e512 1000<BR>0x08:&nbsp; 45dc e4eb 8d10 f7c2 8801 03b9 60f4=20
071a<BR>0x10:&nbsp; dfa3 9836 dfa3 9836 03b9 60f4 1a1a =
1a1a<BR>0x18:&nbsp; 0000=20
f967 0000 0000 0000 0000 0000 2000<BR>0x20:&nbsp; 0000 0000 0000 0000 =
0000 0000=20
0000 0000<BR>0x28:&nbsp; 0000 0000 0000 0000 0000 0000 0000 =
0000<BR>0x30:&nbsp;=20
0000 0000 0000 0000 0000 0000 0000 0000<BR>0x38:&nbsp; 0000 0000 0000 =
0000 0000=20
0000 0000 0000</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>--</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2><A=20
href=3D"mailto:root@server1:/usr/src/rtl">root@server1:/usr/src/rtl</A># =

./rtl8139diag -m <BR>rtl8139-diag.c:v2.06 3/22/2002 Donald Becker (<A=20
href=3D"mailto:becker@scyld.com">becker@scyld.com</A>)<BR>&nbsp;<A=20
href=3D"http://www.scyld.com/diag/index.html">http://www.scyld.com/diag/i=
ndex.html</A><BR>Index=20
#1: Found a RealTek RTL8139 adapter at 0xec00.<BR>&nbsp;The RTL8139 does =
not use=20
a MII transceiver.<BR>&nbsp;It does have internal MII-compatible=20
registers:<BR>&nbsp;&nbsp; Basic mode control register&nbsp;&nbsp;=20
0x1000.<BR>&nbsp;&nbsp; Basic mode status register&nbsp;&nbsp;&nbsp;=20
0x782d.<BR>&nbsp;&nbsp; Autonegotiation Advertisement =
0x01e1.<BR>&nbsp;&nbsp;=20
Link Partner Ability register 0x0000.<BR>&nbsp;&nbsp; Autonegotiation=20
expansion&nbsp;&nbsp;&nbsp;&nbsp; 0x0000.<BR>&nbsp;&nbsp;=20
Disconnects&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
0x0000.<BR>&nbsp;&nbsp; False carrier sense counter&nbsp;&nbsp;=20
0x0000.<BR>&nbsp;&nbsp; NWay test=20
register&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;=20
0x0005.<BR>&nbsp;&nbsp; Receive frame error =
count&nbsp;&nbsp;&nbsp;&nbsp;=20
0x0000.</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>--</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial =
size=3D2>(output from cat=20
/proc/pci)</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>&nbsp; =
Bus&nbsp; 0,=20
device&nbsp; 15, function&nbsp; 0:<BR>&nbsp;&nbsp;&nbsp; Ethernet =
controller:=20
Realtek Semiconductor Co., Ltd. RTL-8139 (rev=20
16).<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IRQ =
11.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
Master Capable.&nbsp; Latency=3D32.&nbsp; Min Gnt=3D32.Max=20
Lat=3D64.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I/O at 0xec00=20
[0xecff].<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Non-prefetchable 32 bit =
memory at=20
0xce012000 [0xce0120ff].</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>I hope =
someone out=20
there can help me or at least explain why this is =
happening.</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial size=3D2>Thank=20
you.</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2>Kevin</FONT></SPAN></DIV>
<DIV><SPAN class=3D960010916-18072002><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_00F5_01C22E4D.046E6B60--