Can't get Realtek link light to go on in linux

rocky@panix.com rocky@panix.com
Sun Jan 9 23:22:46 2000


I am having problems getting an OEM PCI Ethernet card with a Realtek
card. I can ping my own interface's IP, but not the any others or the
broadcast address on my home network with a cheap/dumb Addtron 10baseT
hub.

I've compiled mii-diag and it reports: 
 # ./mii-diag
 Using the default interface 'eth0'.
 Basic registers of MII PHY #32:  0000 780d 0000 0000 05e1 0000 0000 0000.
 Basic mode control register 0x0000: Auto-negotiation disabled, with
 Speed fixed at 10 mbps, half-duplex.
 You have link beat, and everything is working OK.
 Link partner information information is not exchanged when in fixed speed mode.

However the card has two green LED's: one that says "LINK" and one
that says "ACT"(ivity). I don't get the link light to show although I
get it light on the hub end.  When I ping I can see the activity light
go on.

Some Hardware/Software Details: 
  rtl8139 reports the chip as being a "RealTek RTL8129 Fast
  Ethernet" while /proc/pci reports it as "Realtek 8139 (rev 16)".

  I use in Redhat 6.1 (Linux kernel 2.2.12-20.) and have the v1.07
  rtl8139 module loaded. The Ethernet interface eth0 is up. 

  I've set my computer's BIOS flag for "PNP OS" to "no".

When I boot up in DOS and use the diagnostic program from Realtek,
RSET8139, I can get the card to work. (As seen above via mii-diag I've
set the card to *not* autonegotiate but stay fixed at 10baseT Half
duplex.  There were times when on plugging the card in the activity
light on the hub would go crazy and jam other ethernet connections.)

In RSET8139's diagnostic mode, when sending packets over the network
the link light stays on. In fact it sometimes says on just until the
box is rebooted and the rtl8139 module (eth0) is loaded.

The program kudzu goes berserk with this module -- it wants to
uninstall it and then hangs if you let it.

As suggested by Orestes Sánchez Benavente, I tried cat'ing /proc/pci
and I do in fact see the IRQ listed at 9. Here it is:

  Bus  0, device  10, function  0:
    Ethernet controller: Realtek 8139 (rev 16).
    Medium devsel.  Fast back-to-back capable.  IRQ 9.  Master Capable.  Latency=32.  Min Gnt=32.Max Lat=64.
    I/O at 0xec00 [0xec01].
    Non-prefetchable 32 bit memory at 0xee000000 [0xee000000].

Also as suggested, I added 
  options rtl8139 debug=10

to /etc/conf.modules

And below is an excerpt of the output from syslog. Any help or
suggestions would be appreciated.

Jan  9 22:01:27 localhost kernel: rtl8139.c:v1.07 5/6/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html 
Jan  9 22:01:27 localhost kernel: eth0: RealTek RTL8139 Fast Ethernet at 0xec00, IRQ 9, 00:48:54:3b:27:0c. 
Jan  9 22:01:59 localhost kernel: eth0: Setting half-duplex based on auto-negotiated partner ability 0000. 
Jan  9 22:01:59 localhost kernel: eth0:   set_rx_mode(1042) done -- Rx config 00009c00. 
Jan  9 22:01:59 localhost kernel: eth0: rtl8129_open() ioaddr 0xec00 IRQ 9 GP Pins 08 half-duplex. 
Jan  9 22:01:59 localhost kernel: eth0:   set_rx_mode(1043) done -- Rx config 00009c0e. 
Jan  9 22:01:59 localhost last message repeated 3 times
Jan  9 22:02:02 localhost kernel: eth0: Media selection tick, Link partner 0000. 
Jan  9 22:02:02 localhost kernel: eth0:  Other registers are IntMask c07f IntStatus 0000 RxStatus fff00d00. 
Jan  9 22:02:02 localhost kernel: eth0:  Chip config 14 2c. 
Jan  9 22:02:28 localhost kernel: eth0: interrupt  status=0x0002 new intstat=0x0000. 
Jan  9 22:02:28 localhost kernel: eth0: Abnormal interrupt, status 00000002. 
Jan  9 22:02:28 localhost kernel: eth0: interrupt  status=0x0000 new intstat=0x0000. 
Jan  9 22:02:28 localhost kernel: eth0: exiting interrupt, intr_status=0x4000000. 
Jan  9 22:03:02 localhost kernel: eth0: Media selection tick, Link partner 0000. 
Jan  9 22:03:02 localhost kernel: eth0:  Other registers are IntMask c07f IntStatus 0000 RxStatus fff00d04. 
Jan  9 22:03:02 localhost kernel: eth0:  Chip config 14 2c. 
Jan  9 22:03:32 localhost kernel: eth0: interrupt  status=0x0002 new intstat=0x0000. 
Jan  9 22:03:32 localhost kernel: eth0: Abnormal interrupt, status 00000002. 
Jan  9 22:03:32 localhost kernel: eth0: interrupt  status=0x0000 new intstat=0x0000. 
Jan  9 22:03:32 localhost kernel: eth0: exiting interrupt, intr_status=0x4000000. 
Jan  9 22:03:45 localhost kernel: eth0: Queued Tx packet at c0235382 size 98 to slot 0. 
Jan  9 22:03:45 localhost kernel: eth0: interrupt  status=0x0004 new intstat=0x0000. 
Jan  9 22:03:45 localhost kernel: eth0: interrupt  status=0x0000 new intstat=0x0000. 
Jan  9 22:03:45 localhost kernel: eth0: exiting interrupt, intr_status=0x4000000. 
Jan  9 22:03:46 localhost kernel: eth0: Queued Tx packet at c0235262 size 98 to slot 1. 
Jan  9 22:03:46 localhost kernel: eth0: interrupt  status=0x0004 new intstat=0x0000. 
Jan  9 22:03:46 localhost kernel: eth0: interrupt  status=0x0000 new intstat=0x0000. 
Jan  9 22:03:46 localhost kernel: eth0: exiting interrupt, intr_status=0x4000000. 
 | 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.