[realtek] on-board rtl8139 fails.

Jarl Friis jarl@softace.dk
Fri Dec 6 19:38:01 2002


Hi.

I bought a Medion MD5400 Notebook with an *onboard* rtl8139 ethernet
chip. System is SuSE 8.1.

I downloaded netdrivers-3.3 and tried the rtl8139 with debug=2 In the
hope for any help I here post some information to diagnosticise the
problem. As far as I can see (from DHCP attempt, and ping) the main
problem is that receiver functionality is not activated.
During insmod, ifconfig, ping nothing special is loged, but when
trying insmod, starting dhcpdc (DHCP client) the following is logged:

Dec  7 01:16:09 hermes kernel: eth0: Transmit timeout, status 0d 0004 media 10.
Dec  7 01:16:09 hermes kernel: eth0: RTL8139 Interrupt line blocked, status 4.
Dec  7 01:16:09 hermes kernel: eth0: Tx queue start entry 4  dirty entry 0, full.
Dec  7 01:16:09 hermes kernel: eth0:  Tx descriptor 0 is 8008a04e. (queue head)
Dec  7 01:16:09 hermes kernel: eth0:  Tx descriptor 1 is 8008a046.
Dec  7 01:16:09 hermes kernel: eth0:  Tx descriptor 2 is 8008a046.
Dec  7 01:16:09 hermes kernel: eth0:  Tx descriptor 3 is 8008a046.
Dec  7 01:16:09 hermes kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 40a1 0001 0000.
Dec  7 01:17:39 hermes kernel: eth0: Transmit timeout, status 0c 0005 media 10.
Dec  7 01:17:39 hermes kernel: eth0: RTL8139 Interrupt line blocked, status 5.
Dec  7 01:17:39 hermes kernel: eth0: Tx queue start entry 4  dirty entry 0, full.
Dec  7 01:17:39 hermes kernel: eth0:  Tx descriptor 0 is 8008a24e. (queue head)
Dec  7 01:17:39 hermes kernel: eth0:  Tx descriptor 1 is 8008a04e.
Dec  7 01:17:39 hermes kernel: eth0:  Tx descriptor 2 is 8008a046.
Dec  7 01:17:39 hermes kernel: eth0:  Tx descriptor 3 is 8008a24e.
Dec  7 01:17:39 hermes kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 40a1 0001 0000.

Please help.

Jarl

The 'lspci -vv' gives me the following information about the adapter:
00:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
	Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 2420
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 9
	Region 0: I/O ports at 1800 [disabled] [size=256]
	Region 1: Memory at e0004000 (32-bit, non-prefetchable) [disabled] [size=256]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

The 'lspci -n -vv' gives me the following information about the adapter:

00:08.0 Class 0200: 10ec:8139 (rev 10)
	Subsystem: 1509:2420
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 9
	Region 0: I/O ports at 1800 [disabled] [size=256]
	Region 1: Memory at e0004000 (32-bit, non-prefetchable) [disabled] [size=256]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-


I tried the rtl8139-diag, running 'rtl8139-diag -eee -m -a' gives me:
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 0x1800.
RealTek chip registers at 0x1800
 0x000: bbca4000 0000acae 2c682a49 53107933 00002000 00002000 00002000 00002000
 0x020: 00001010 298004c0 00500840 00100828 80000400 01000000 0000fff0 00000000
 0x040: 74400000 00000000 8910a472 00000000 008d1000 00000000 0088e510 00100bb4
 0x060: 1000000f 01e1782d 000140a1 00000000 00000704 000207c0 60f60c59 7b732660.
Realtek station address 00:40:ca:bb:ae:ac, chip type 'rtl8139C'.
  Receiver configuration: Reception disabled
     Rx FIFO threshold 16 bytes, maximum burst 16 bytes, 8KB ring
  Transmitter disabled with normal settings, maximum burst 16 bytes.
    Tx entry #0 status 00002000 incomplete, 0 bytes.
    Tx entry #1 status 00002000 incomplete, 0 bytes.
    Tx entry #2 status 00002000 incomplete, 0 bytes.
    Tx entry #3 status 00002000 incomplete, 0 bytes.
  Flow control: Tx disabled  Rx disabled.
  The chip configuration is 0x10 0x8d, MII half-duplex mode.
  No interrupt sources are pending.
Decoded EEPROM contents:
   PCI IDs -- Vendor 0x10ec, Device 0x8139.
   PCI Subsystem IDs -- Vendor 0x1509, Device 0x2420.
   PCI timer settings -- minimum grant 32, maximum latency 64.
  General purpose pins --  direction 0xe5  value 0x12.
  Station Address 00:40:CA:BB:AE:AC.
  Configuration register 0/1 -- 0x8d / 0xc2.
 EEPROM active region checksum is 098e.
EEPROM contents (64 words):
 0x00:  8129 10ec 8139 1509 2420 4020 e512 4000  )___9___ $ @___@
 0x08:  bbca acae 8d10 f7c2 8801 03b9 60f4 071a  _____________`__
 0x10:  dfa3 9836 dfa3 9836 03b9 60f4 1a1a 1a1a  __6___6____`____
 0x18:  0000 e4b2 0000 0000 0000 0000 0000 2000  _______________ 
 0x20:  0000 0000 0000 0000 0000 0000 0000 0000  ________________
      ...
 The RTL8139 does not use a MII transceiver.
 It does have internal MII-compatible registers:
   Basic mode control register   0x1000.
   Basic mode status register    0x782d.
   Autonegotiation Advertisement 0x01e1.
   Link Partner Ability register 0x40a1.
   Autonegotiation expansion     0x0001.
   Disconnects                   0x0000.
   False carrier sense counter   0x0000.
   NWay test register            0x0704.
   Receive frame error count     0x0000.

Running 'rtl8139-diag -mm' gives me:
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 0x1800.
Realtek station address 00:40:ca:bb:ae:ac, chip type 'rtl8139C'.
  Receiver configuration: Reception disabled
     Rx FIFO threshold 16 bytes, maximum burst 16 bytes, 8KB ring
  Transmitter disabled with normal settings, maximum burst 16 bytes.
  Flow control: Tx disabled  Rx disabled.
  The chip configuration is 0x10 0x8d, 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   0x1000.
   Basic mode status register    0x782d.
   Autonegotiation Advertisement 0x01e1.
   Link Partner Ability register 0x40a1.
   Autonegotiation expansion     0x0001.
   Disconnects                   0x0000.
   False carrier sense counter   0x0000.
   NWay test register            0x0704.
   Receive frame error count     0x0000.
 MII PHY #32 transceiver registers:
   1000 782d 0000 0000 01e1 40a1 0001 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.
 Basic mode control register 0x1000: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 This transceiver has no vendor identification.
 I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is 40a1: 100baseTx 10baseT.
   Negotiation  completed.