[realtek] Having trouble with 8139too device

Kevin M. Huffenberger khuffenb at Princeton.EDU
Sun May 22 10:18:00 PDT 2005


Forgive me if this is the inappropriate forum to ask for this kind of 
help.

I'm trying to install linux on a hp zv6000 laptop.  I have tried several 
distros, Fedora Core 4 test3 is working best, but the networking is 
working only sporadically.  Network seems to work okay in FC1 and Ubuntu 
5.04.  I get "link up" but "transmit timed out" errors, so I suspect some 
driver conflict or misconfiguration.  I rarely can get a dchp lease, but 
not usually.

I have included below the results of lspci, ifconfig, dmesg, rtl8139-diag, 
etc.

I have no idea how to debug this kind of problem.  Any input that can help 
me track this down would be greatly appreciated.

---Kevin

--------------------------------------

[root at localhost ~]# uname -a
Linux localhost.localdomain 2.6.11-1.1329_FC4 #1 Thu May 19 21:14:20 EDT 
2005 i686 athlon i386 GNU/Linux

[root at localhost ~]# /sbin/lspci -s 03:06.0 -vvvv
03:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL-8139/8139C/8139C+ (rev 10)
         Subsystem: Hewlett-Packard Company: Unknown device 3085
         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-
         Latency: 128 (8000ns min, 16000ns max)
         Interrupt: pin A routed to IRQ 11
         Region 0: I/O ports at a000 [size=256]
         Region 1: Memory at d4200000 (32-bit, non-prefetchable) [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-

---------------------------------------

[root at localhost ~]# /sbin/ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0F:B0:6E:03:F7
           inet6 addr: fe80::20f:b0ff:fe6e:3f7/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
           Interrupt:11 Base address:0xa000

----------------------------------------

lsmod reveals:

8139too                30017  0
mii                     5441  1 8139too

----------------------------------------

When I (repeatedly) try to start eth0 with ifup, /var/log/messages shows

May 22 09:46:48 localhost dhclient: DHCPDISCOVER on eth0 to 
255.255.255.255 port 67 interval 16
May 22 09:46:54 localhost kernel: NETDEV WATCHDOG: eth0: transmit timed 
out
May 22 09:46:54 localhost kernel: eth0: link up, 100Mbps, full-duplex, lpa 
0x41E1
May 22 09:47:04 localhost dhclient: DHCPDISCOVER on eth0 to 
255.255.255.255 port 67 interval 10
May 22 09:47:14 localhost dhclient: DHCPDISCOVER on eth0 to 
255.255.255.255 port 67 interval 12
May 22 09:47:26 localhost dhclient: DHCPDISCOVER on eth0 to 
255.255.255.255 port 67 interval 4
May 22 09:47:30 localhost dhclient: No DHCPOFFERS received.
May 22 09:47:30 localhost dhclient: Trying recorded lease 192.168.2.7
May 22 09:47:30 localhost kernel: Unable to handle kernel NULL pointer 
dereference at virtual address 00000004

----------------------------------------

dmesg gives some more info

NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 0c 0005 c07f media 10.
eth0: Tx queue start entry 4  dirty entry 0.
eth0:  Tx descriptor 0 is 0008a156. (queue head)
eth0:  Tx descriptor 1 is 0008a156.
eth0:  Tx descriptor 2 is 0008a156.
eth0:  Tx descriptor 3 is 0008a156.
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

... and ...

Unable to handle kernel NULL pointer dereference at virtual address 
00000004
  printing eip:
c01f31df
*pde = 00f56067
Oops: 0000 [#38]
Modules linked in: joydev parport_pc lp parport autofs4 rfcomm l2cap 
bluetooth sunrpc pcmcia ipt_REJECT ipt_state ip_conntrack iptable_filter 
ip_tables video button battery ac md5 ipv6 yenta_socket rsrc_nonstatic 
pcmcia_core ohci_hcd ehci_hcd shpchp snd_atiixp snd_ac97_codec 
snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device 
snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc 
8139too mii dm_snapshot dm_zero dm_mirror ext3 jbd dm_mod
CPU:    0
EIP:    0060:[<c01f31df>]    Not tainted VLI
EFLAGS: 00010246   (2.6.11-1.1329_FC4)
EIP is at avc_audit+0x2e9/0xbee
eax: c0ec65b0   ebx: 00000008   ecx: c0390491   edx: 00000000
esi: c82daf0c   edi: 00000008   ebp: c57a8aa0   esp: c82dae6c
ds: 007b   es: 007b   ss: 0068
Process ping (pid: 7666, threadinfo=c82da000 task=c57a8aa0)
Stack: c61b8200 c039048c c03861bb c0ccd3f0 c9d0ecec c9d0ed04 cd6a73ac 
cd6a73ac
        00db3c10 caa25e7c c11ab320 0011cc24 00000236 00000236 00000011 
00000008
        c61b8200 00000008 cd69c00c 00000236 00000236 00000011 c0168307 
00000000
Call Trace:
  [<c0168307>] handle_mm_fault+0x1f9/0x322
  [<c015a779>] poison_obj+0x20/0x3d
  [<c01f4154>] avc_has_perm+0x4e/0x5a
  [<c01f8df6>] selinux_socket_create+0x44/0x127
  [<c02fef25>] __sock_create+0x6b/0x1dd
  [<c02ff0af>] sock_create+0x18/0x1d
  [<c02ff0ed>] sys_socket+0x1c/0x44
  [<c02fff2c>] sys_socketcall+0x84/0x290
  [<c0108436>] do_syscall_trace+0xef/0x123
  [<c0103a51>] syscall_call+0x7/0xb
Code: 3f fe ff ff 8b 94 24 9c 00 00 00 8b 42 08 89 44 24 08 c7 44 24 04 a8 
04 39 c0 8b 4c 24 40 89 0c 24 e8 85 a5 f5 ff e9 18 fe ff ff <a1> 04 00 00 
00 85 c0 0f 84 ef fd ff ff 8b 80 98 00 00 00 85 c0
  <6>eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

-----------------------

Results of diagnostic programs

[root at localhost 8139_diagnostic]# ./rtl8139-diag -aaf
rtl8139-diag.c:v2.13 2/28/2005 Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xa000.
RealTek chip registers at 0xa000
  0x000: 6eb00f00 0000f703 a0000000 40000000 0008a156 00002000 00002000 
00002000
  0x020: 04c0c000 04c0c600 04c0cc00 04c0d200 05090000 0c0a0000 029cfff0 
0005c07f
  0x040: 77400680 0000f78e 3c3744f9 00000000 008d1000 00000000 00a8c110 
00100000
  0x060: 1100100f 01e1782d 000141e1 00000000 00000704 000107c8 60f60c59 
7b732660.Realtek station address 00:0f:b0:6e:03:f7, chip type 'rtl8139C'.
   Receiver configuration: Normal unicast and hashed multicast
      Rx FIFO threshold 2048 bytes, maximum burst 2048 bytes, 32KB ring
   Transmitter enabled with NONSTANDARD! settings, maximum burst 1024 
bytes.
     Tx entry #0 status 0008a156 complete, 342 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.
   Interrupt sources are pending.
    Rx Complete indication.
    Transmit OK indication.

[root at localhost 8139_diagnostic]# ./rtl8139-diag -ee
rtl8139-diag.c:v2.13 2/28/2005 Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xa000.
Realtek station address 00:0f:b0:6e:03:f7, 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.
   Interrupt sources are pending.
    Rx Complete indication.
    Transmit OK indication.
Decoded EEPROM contents:
    PCI IDs -- Vendor 0x10ec, Device 0x8139.
    PCI Subsystem IDs -- Vendor 0x103c, Device 0x3085.
    PCI timer settings -- minimum grant 32, maximum latency 64.
   General purpose pins --  direction 0xe1  value 0x1e.
   Station Address 00:0F:B0:6E:03:F7.
   Configuration register 0/1 -- 0x8d / 0xc2.
  EEPROM active region checksum is 093d.
EEPROM contents (64 words):
  0x00:  8129 10ec 8139 103c 3085 4020 e11e 0f00
  0x08:  6eb0 f703 8d10 f7c2 a801 43b9 a0f2 071a
  0x10:  df43 8a36 df43 8a36 43b9 a0f2 1111 1111
  0x18:  0000 23a9 0000 0000 0000 0000 0000 1800
  0x20:  0000 0000 0000 0000 0000 0000 0000 0000
       ...
[root at localhost 8139_diagnostic]# ./rtl8139-diag -mm
rtl8139-diag.c:v2.13 2/28/2005 Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xa000.
Realtek station address 00:0f:b0:6e:03:f7, 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.
   Interrupt sources are pending.
    Rx Complete indication.
    Transmit OK indication.
  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 0x41e1.
    Autonegotiation expansion     0x0001.
    Disconnects                   0x0000.
    False carrier sense counter   0x0000.
    NWay test register            0x0704.
    Receive frame error count     0x0000.
libmii.c:v2.11 2/28/2005  Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
  MII PHY #32 transceiver registers:
    1100 782d 0000 0000 01e1 41e1 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 0x1100: 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 41e1: 100baseTx-FD 100baseTx 10baseT-FD 
10baseT.
    Negotiation  completed.





More information about the realtek mailing list