[realtek] Rtl8139 file transmission lockup

Sean Mullen mullens@attbi.com
Sun Aug 4 00:05:01 2002


Donald,
Thanks for the analysis.

I'm currently using driver version 1.17.  I have since tried moving up to
1.20 and the card still locks (but I didn't see the ifconfig error count
increment).

>From what you note below, I assume everything looks like it's fine, even
though the interface locked up, correct?

Sean

----- Original Message -----
From: "Donald Becker" <becker@scyld.com>
To: "Sean Mullen" <mullens@attbi.com>
Cc: <realtek@scyld.com>
Sent: Saturday, August 03, 2002 8:17 PM
Subject: Re: [realtek] Rtl8139 file transmission lockup


> On Sat, 3 Aug 2002, Sean Mullen wrote:
>
> >    I'm using 2 RTL8139 cards (both are SMC 1211TX) on my linux firewall.
> > These are on a linux box with kernel linux-2.4.16.  Normal internet
traffic
> > from my local LAN is fine.  However, when I'm transferring files off of
the
> > linux box to a Win 2k box on the local LAN, the eth1 (LAN facing)
interface
> > locks with a TX error (assuming it's speed related).
>
> What driver version are you using?
>
> >    I can re-enable the LAN with an 'ifdown eth1' and an 'ifup eth1'.  I
> > added a debug printout for a TX underrun, I think that's what's
happening.
> >
> >    Here's the result of thedebug line I added: "eth1:TxUnderrun, status
> > 0008e52e."
>
> That is reporting a transmit underrun.
> This should be a mostly harmless event.
>   The transmitted packet might be corrupted, with a assured-bad CRC.
>   The Tx FIFO threshold will be increased
>   The transmitter will be restarted.
>
> The initial Tx threshold value is set to 256 bytes (see TX_FIFO_THRESH
below)
> The threshold is increased by 64 bytes at each underrun.
>
> This initial value is set by the following documented constant:
>
> /* PCI Tuning Parameters
>    Threshold is bytes transferred to chip before transmission starts. */
> #define TX_FIFO_THRESH 256 /* In bytes, rounded down to 32 byte units. */
>
>
> > Index #2: Found a RealTek RTL8139 adapter at 0xec00.
> > RealTek chip registers at 0xec00
> >  0x000: ... ... ... ...  000aa52e 000aa52e 000aa52e 000aa52e
>
> Hmmm, none of the Tx status registers are reporting a Tx underrun here.
>
> >  0x020: 02f70010 02f71010 02f72010 02f73010 02f60000 0d0a0000 654c653c
> > 0000c07f
>
> And this reports that the transmitter and receiver are both enabled.
>
> >  0x040: 74000400
>
> The transmitter configuration is normal
>   74.. .... Version 74 == 8139C
>   .... .4.. 256 bytes per burst
>
> >  0x060: 1100f00f 01e1782d 000145e1 00000000 00000004 000417c8 b0f243b9
>
> --
> 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
>
> _______________________________________________
> realtek mailing list
> realtek@scyld.com
> http://www.scyld.com/mailman/listinfo/realtek