[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