[realtek-bug] Transmission hangup after long periods without link

Scott Henwood shenwood@intldata.ca
Thu Nov 21 08:06:00 2002


Donald Becker wrote:
> 
>>rtl8139-diag shows that the link has been detected. Tcpdump shows that 
>>broadcast/multicast traffic on the outgoing interface's cable is being 
>>received but that there are no outbound packets.
> 
> 
> What does rtl8139-diag -am report when no packets are being transmitted?
> 
------------------------------------------------------------------------
Here's the output of rtl8139-diag after output has stopped (with cable 
reconnected):


rtl8139-diag.c:v2.10 9/18/2002 Donald Becker (becker@scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xe800.
The RealTek chip appears to be active, so some registers will not be read.
To see all register values use the '-f' flag.
RealTek chip registers at 0xe800
  0x000: 81ca4000 00000c33 ffffffff ffffffff 8008a4b9 8008a5ea 8008a5ea 
8008a5ea
  0x020: 0b6e8010 0b6e8610 0b6e8c10 0b6e9210 0b6e0000 0d0a0000 00600050 
0000c07f
  0x040: 74000400 0000940e fd3258c8 00000000 008f1000 00000000 0088e110 
00100204
  0x060: 1100f00f 01e1782d 000145e1 00000000 00000004 000417c8 b0f243b9 
8a36df43.
Realtek station address 00:40:ca:81:33:0c, 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.
     Tx entry #0 status 8008a4b9 complete, 1209 bytes.
    Tx carrier lost
     Tx entry #1 status 8008a5ea complete, 1514 bytes.
    Tx carrier lost
     Tx entry #2 status 8008a5ea complete, 1514 bytes.
    Tx carrier lost
     Tx entry #3 status 8008a5ea complete, 1514 bytes.
    Tx carrier lost
   Flow control: Tx disabled  Rx disabled.
   The chip configuration is 0x10 0x8f, MII half-duplex mode.
   No interrupt sources are pending.
  The RTL8139 does not use a MII transceiver.
  It does have internal MII-compatible registers:
    Basic mode control register   0x1100.
    Basic mode status register    0x782d.
    Autonegotiation Advertisement 0x01e1.
    Link Partner Ability register 0x45e1.
    Autonegotiation expansion     0x0001.
    Disconnects                   0x0000.
    False carrier sense counter   0x0000.
    NWay test register            0x0004.
    Receive frame error count     0x0000.

------------------------------------------------------------------------
By way of comparison, here's the rtl8139-diag output when the port is 
functioning normally:

rtl8139-diag.c:v2.10 9/18/2002 Donald Becker (becker@scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xe800.
The RealTek chip appears to be active, so some registers will not be read.
To see all register values use the '-f' flag.
RealTek chip registers at 0xe800
  0x000: 81ca4000 00000c33 ffffffff ffffffff 0008a054 0008a054 0008a054 
0008a03c
  0x020: 0b6e8010 0b6e8610 0b6e8c10 0b6e9210 0b6e0000 0d0a0000 94a89498 
0000c07f
  0x040: 74000400 0000940e d5531dd8 00000000 008f1000 00000000 0088e110 
00100204
  0x060: 1100f00f 01e1782d 000145e1 001f0001 00000004 000417c8 b0f243b9 
8a36df43.
Realtek station address 00:40:ca:81:33:0c, 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.
     Tx entry #0 status 0008a054 complete, 84 bytes.
     Tx entry #1 status 0008a054 complete, 84 bytes.
     Tx entry #2 status 0008a054 complete, 84 bytes.
     Tx entry #3 status 0008a03c complete, 60 bytes.
   Flow control: Tx disabled  Rx disabled.
   The chip configuration is 0x10 0x8f, MII half-duplex mode.
   No interrupt sources are pending.
  The RTL8139 does not use a MII transceiver.
  It does have internal MII-compatible registers:
    Basic mode control register   0x1100.
    Basic mode status register    0x782d.
    Autonegotiation Advertisement 0x01e1.
    Link Partner Ability register 0x45e1.
    Autonegotiation expansion     0x0001.
    Disconnects                   0x0000.
    False carrier sense counter   0x0000.
    NWay test register            0x0004.
    Receive frame error count     0x0000.


Regards,

Scott