[realtek-bug] 8139c problem ( oversized ethernet frame )

Donald Becker becker@scyld.com
Sat Oct 5 12:57:01 2002


On Sat, 5 Oct 2002 highword@gmx.net wrote:

> When downloading a file, I had no problem. Always when I try to upload a 
> file it stops... Also a ping is no longer possible...
> This "thing" happens always when I upload a file. It seems not no happen 
> when I ping, neither using windows. It happens using FTP and NFS, it 
> didnīt occur so far, using ssh (slower transmission, or packet size ???)
> 
> Maybe someone can help. ???
> 
> I have a Edimax EP-4103DL and I tried rtl8139 and 8139too...
> It would be great if anyone knows, how to get one of both to work.
> ( I can provide more debug info, e.g. rtl8139.c at debug level 31 )
> 
> Thanks
> Arthur
> 
> 1) First I had to modify rtl8139.c ( I added the device id ), after this 
> it was just fine until the problem described above occured...

What is was the device ID you added?
We can find that from 'rtl8139-diag -eee', so if you can send that output...

> Oct  5 01:46:12 portable cardmgr[477]: executing: 'modprobe rtl8139'
> Oct  5 01:46:12 portable kernel: rtl8139.c:v1.20a 7/24/2002 Donald 
> Becker, becker@scyld.com.

Good, the current version.  You must know about my nasty response when
you run driver versions released when "Wham!" was popular.

> Oct  5 01:46:12 portable kernel:  http://www.scyld.com/network/rtl8139.html
...
> Oct  5 01:46:12 portable kernel: Found a Edimax CardBus 10/100Mbps Fast 
> Ethernet (EP-4103DL) at 2/0 address 0x801->0x800 IRQ 9.
> Oct  5 01:46:12 portable kernel: Edimax CardBus 10/100Mbps Fast Ethernet 
> (EP-4103DL) at 2/0 command 0x7.
> Oct  5 01:46:12 portable kernel: eth0: Edimax CardBus 10/100Mbps Fast 
> Ethernet (EP-4103DL) at 0x800, IRQ 9, 00:e0:98:9d:c0:d9.
> Oct  5 01:46:12 portable kernel: eth0: Setting half-duplex based on 
> auto-negotiated partner ability 0000.

Is this correct?  What is your link partner?

> Oct  5 01:46:13 portable kernel: eth0: Abnormal interrupt, status 00000020.

Hmmm, this is probably a link change interrupt rather than a RxUnderrun.
There should be a message just after this with the new link partner info.

> Oct  5 01:48:11 portable kernel:  intstat=0x0000.
> Oct  5 01:48:11 portable kernel: <a8 2d 14 c0 a8 2d 0a 28 db 04 06 1f d0 
> 6c a0 2e 3e f7 3e 80 10 21 f0 70 7b 00 00 01 01 08 0a 00 00 99 2f 00 00 
> 90 e4.
> Oct  5 01:48:17 portable kernel: <e size 1514 to slot 0.

This looks as if you have turned the message level way up.  

> Oct  5 01:48:50 portable kernel: errupt, intr_status=0x0000.
> Oct  5 01:49:04 portable kernel: eth0: Oversized Ethernet frame, status 
> cccccccc!
> Oct  5 01:49:04 portable kernel: eth0: Abnormal interrupt, status 00000021.

OK, is this another link change, or a real RxUnderrun error?

> rtl8139-diag.c:v2.10 9/18/2002 Donald Becker (becker@scyld.com)
>   http://www.scyld.com/diag/index.html
> Index #1: Found a Edimax CardBus 10/100Mbps Fast Ethernet (EP-4103DL) 
> adapter at 0x800.
> Realtek station address 00:e0:98:9d:c0:d9, chip type 'rtl8139C'.
>    Receiver configuration: Normal unicast and hashed multicast
>       Rx FIFO threshold 256 bytes, maximum burst 256 bytes, 32KB ring
>    Transmitter enabled with normal settings, maximum burst 256 bytes.
>    Flow control: Tx disabled  Rx disabled.
>    The chip configuration is 0x10 0x0d, MII half-duplex mode.
>    No interrupt sources are pending.
..
> After the freeze two lines changed...
..
>    Receiver configuration: Reception disabled
>       Rx FIFO threshold 16 bytes, maximum burst 16 bytes, 8KB ring

Ohhh, OK, that points out a problem.
I've put out a new version with more error recovery code
   rtl8139.c:v1.21 10/5/2002
    ftp://www.scyld.com/pub/network/test/rtl8139.c

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993