realtek 8139 driver problems

Andre C. van Veen Andre.C.VanVeen@ruhr-uni-bochum.de
Fri Sep 10 16:45:34 1999


Hallo

This Mail should tell you about a problem with the rtl8139.c kernel
driver for a realtek 8139a fast ethernet card.

First the technical parameters: I am running linux-2.2.10 on an Intel
Pentium-MMX 233MHz system and downloaded the version 1.08 from your
webpage. The kernel was compiled using egcs-1.1.2 and glibc2.1. The
network interface is a 'no name'-product (4-lan) and has an original
RTL8139A chip (it gets detected correctly by your rtl8139-diag tool,
as shown at the end of the mail).

The problem occures if I send an large file to the network interface
in 100 Mbit mode (full or half duplex does not seem to matter). After
sending some data the card seems to freeze and blocks all further
traffic. It can be reactivated by 'ifconfig eth1 down' and 'ifconfig
eth1 up' as it is the second card in my machine.

When reading Data from that card there does not seem to ba a problem,
nor does the problem become visible when the card is used in 10 Mbit-
mode to transmit data to the linux box. The thing becomes even stranger
when I use the 100 Mbit link with this card to transmit data to an
other 10 Mbit subnet (connected to eth0) as there is also no problem
(and in this case the card itself is in 100 Mbit mode but the traffic
uses a speed of 10 Mbit because of the other slower subnet).

Another point that seems strange to me is that both lights for 100
and 10 Mbit are switched on under the 100 Mbit mode. This does not
happen if I use the same card under Windows (95), not does this card
have any problems like the ones discribed above.

To give you a more technical view I used your rtl8139-diag tool twice
when the card was working fine:


rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
RealTek chip registers at 0xec00
 0x000: 88e80000 000024a1 80000000 00000000 8008a062 8008a062 8008a062
8008a062
 0x020: 0b726000 0b726600 0b726c00 0b727200 0b740000 0d0a0000 05a40594
0000c07f
 0x040: 73000400 00009c0e 8a7bd1b3 00000000 002c1000 00000000 0000c100
00100080
 0x060: 2000f00f 05e1780d 00000000 00000000 00000000 000517c8 78fa8388
a538de43.
  No interrupt sources are pending.
 The chip configuration is 0x10 0x2c, MII half-duplex mode.
rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
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 0xf1  value 0x20.
  Station Address 00:00:E8:88:A1:24.
  Configuration register 0/1 -- 0x0d / 0xc2.
 EEPROM active region checksum is 0992.
rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
 The RTL8139 does not use a MII transceiver.
 It does have internal MII-compatible registers:
   Basic mode control register   0x780d.
   Basic mode status register    0x2000.
   Autonegotiation Advertisement 0x05e1.
   Link Partner Ability register 0x0000.
   Autonegotiation expansion     0x0000.
   Disconnects                   0x0000.
   False carrier sense counter   0x0000.
   NWay test register            0x0000.
   Receive frame error count     0x0000.


rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
RealTek chip registers at 0xec00
 0x000: 88e80000 000024a1 80000000 00000000 8008a062 8008a062 8008a105
8008a0d7
 0x020: 0b726000 0b726600 0b726c00 0b727200 0b740000 0d0a0000 05140504
0000c07f
 0x040: 73000400 00009c0e 2ee8a46c 00000000 002c1000 00000000 0000c100
00100080
 0x060: 2000f00f 05e1780d 00000000 00000000 00000000 000517c8 78fa8388
a538de43.
  No interrupt sources are pending.
 The chip configuration is 0x10 0x2c, MII half-duplex mode.
rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.  General purpose
pins --  direction 0xf1  value 0x20.
  Station Address 00:00:E8:88:A1:24.
  Configuration register 0/1 -- 0x0d / 0xc2.
 EEPROM active region checksum is 0992.
rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
 The RTL8139 does not use a MII transceiver.
 It does have internal MII-compatible registers:
   Basic mode control register   0x780d.
   Basic mode status register    0x2000.
   Autonegotiation Advertisement 0x05e1.
   Link Partner Ability register 0x0000.
   Autonegotiation expansion     0x0000.
   Disconnects                   0x0000.
   False carrier sense counter   0x0000.
   NWay test register            0x0000.
   Receive frame error count     0x0000.and twice after the card has
been frozen:


rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
RealTek chip registers at 0xec00
 0x000: 88e80000 000024a1 80000000 00000000 8014a06e 8014a0d8 8014a105
8014a0f6
 0x020: 0b726000 0b726600 0b726c00 0b727200 0b740000 0d0a0000 f528f518
0000c07f
 0x040: 73000400 80009c0e 2930a3d2 00000370 002c10c6 00000000 0000c100
00100080
 0x060: 2000f00f 05e1780d 00000000 00000000 00000000 000517c8 78fa8388
a538de43.
  No interrupt sources are pending.
 The chip configuration is 0x10 0x2c, MII half-duplex mode.
rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
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 0xf1  value 0x20.
  Station Address 00:00:E8:88:A1:24.
  Configuration register 0/1 -- 0x0d / 0xc2.
 EEPROM active region checksum is 0992.
rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
 The RTL8139 does not use a MII transceiver.
 It does have internal MII-compatible registers:
   Basic mode control register   0x780d.
   Basic mode status register    0x2000.
   Autonegotiation Advertisement 0x05e1.
   Link Partner Ability register 0x0000.
   Autonegotiation expansion     0x0000.
   Disconnects                   0x0000.
   False carrier sense counter   0x0000.
   NWay test register            0x0000.
   Receive frame error count     0x0000.


rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
RealTek chip registers at 0xec00
 0x000: 88e80000 000024a1 80000000 00000000 8008a03c 8008a06e 8008a06e
8008a03c
 0x020: 0b726000 0b726600 0b726c00 0b727200 0b740000 0d0a0000 577c576c
0000c07f
 0x040: 73000400 80009c0e dac5d0cf 0000001a 002c10c6 00000000 0000c100
00100080
 0x060: 2000f00f 05e1780d 00000000 00000000 00000000 000517c8 78fa8388
a538de43.
  No interrupt sources are pending.
 The chip configuration is 0x10 0x2c, MII half-duplex
mode.rtl8139-diag.c:v1.01 4/30/99 Donald Becker
(becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
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 0xf1  value 0x20.
  Station Address 00:00:E8:88:A1:24.
  Configuration register 0/1 -- 0x0d / 0xc2.
 EEPROM active region checksum is 0992.
rtl8139-diag.c:v1.01 4/30/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a RealTek RTL8139 adapter at 0xec00.
 The RTL8139 does not use a MII transceiver.
 It does have internal MII-compatible registers:
   Basic mode control register   0x780d.
   Basic mode status register    0x2000.
   Autonegotiation Advertisement 0x05e1.
   Link Partner Ability register 0x0000.
   Autonegotiation expansion     0x0000.

I hope that I can help you to improove the driver with this report.
As my private little network is not a production one I also may offer
you to test a new version of the driver under the conditions where
the problem reproduceablely used to become visable.

I hope you do not care about my bad english and like to thank you
for writing the network driver.

Best regards,
              Andre C. van Veen  <Andre.C.VanVeen@ruhr-uni-bochum.de>



   Disconnects                   0x0000.
   False carrier sense counter   0x0000.
   NWay test register            0x0000.
   Receive frame error count     0x0000.





Parsing the EEPROM of a RealTek chip:
  PCI IDs -- Vendor 0x10ec, Device 0x8139, Subsystem 0x10ec.
  PCI timer settings -- minimum grant 32, maximum latency 64.
 | 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.