Sudden Timeout Error of RTL-8139 Card

Shigeo Sagai sagai@criepi.denken.or.jp
Tue Sep 8 06:48:36 1998


Dear Sirs,

I'm using a WISECOM WS-R410, a RTL-8139 Fast Ethernet Card on my
linux box(Kernel Version is 2.0.35 and the driver version is 1.00F).
The machine is connected with a full-duplex 100Base-TX switching HUB.

It seems to work very nice soon after booting. But after three of
four hours, it suddenly dies leaving message on the console:

eth0: Transmit timeout, status 0d 0000 media 00
eth0: Tx queue starts entry 4 dirty entry 0

The system doesn't hang up totally, only network ability dies.

The time between booting and network hang varies and I can't understand
what is happening.

Could you kindly suggest me, how to fix this problem.

I checked /proc/pci and it says:

  Bus  0, device  13, function  0:
    Ethernet controller: Realtek 8139 (rev 16).
      Medium devsel.  IRQ 11.  Master Capable.  Latency=32.  Min Gnt=32.Max Lat=64.
      I/O at 0xe800.
      Non-prefetchable 32 bit memory at 0xe7001000.


>From dmesg:

rtl8139.c:v1.00F 8/12/98 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html
eth0: RealTek RTL8139 Fast Ethernet at 0xe800, IRQ 11, 00:20:18:88:e6:a7.

>From Dianosis Program:

bash# ./rtl8139-diag -af
Found a RealTek PCI Ethernet RealTek RTL8129 card 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: 88182000 0000a7e6 ffffffff ffffffff 0008a0aa 0008a126 0008a07a 0008a05e
 0x020: 07d88018 07d88618 07d88c18 07d89218 07d60018 0d0a0000 ee08edf8 0000807f
 0x040: 63000400 00009c0a b2cc0f5c 00000000 006c10c6 00000000 01000040 00100000
 0x060: 1100f00f 05e1782d 000141e1 00000001 00000024 000007c0 00000000 00000000.
  No interrupt sources are pending.
 The chip configuration is 0x10 0x6c, MII mode.

bash# ./rtl8139-diag -e 
Found a RealTek PCI Ethernet RealTek RTL8129 card at 0xe800.
EEPROM contents:
  8129 10ec 8139 10ec 8139 4020 f3d0 2000
  8818 a7e6 2c10 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  ffff ffff ffff ffff ffff ffff ffff ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
 The word-wide EEPROM checksum is 0x5561.
Parsing the EEPROM of a RealTek chip:
  PCI IDs -- Vendor 0x10ec, Device 0x8139, Subsystem 0x10ec.
  PCI timer settings -- minimum grant 32, maximum latency 64.
  General purpose pins --  direction 0xf3  value 0xd0.
  Station Address 00:20:18:88:E6:A7.
  Configuration register 0/1 -- 0x2c / 0x00.
 EEPROM active region checksum is 08c2.



And I've got a RTL-8139 setting program from the realtek site.
The setting program can set Rx enable/disable and Tx enable/disable.
I can't understand what setting is correct for the linux driver.


If any other detaild information is needed, please ask me.
I would try to collect information as much as possible.


Thank you for advance.
--
----+----1----+----2----+----3----+----4----+----5----+----6----+
  Shigeo Sagai                       sagai@criepi.denken.or.jp   
 | To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name youraddress@wherever.org
 | You will be unsubscribed as speedily as possible.