[realtek] Abnormal interrupt

Markus Westergren maw@acc.umu.se
Sun, 20 Aug 2000 16:19:48 +0200 (CEST)


Hi

I have a computer, acting as a firewall, with two Realtek NIC's. The
external (eth0) is connected to a 10 Mbit switch. The other (eth1) is
connected to my internal network at 100 Mbps/full-duplex. Eth1 is working
but I have problem with eth0. 
 If i insert the rtl8139 driver(version 1.10) without options it will
place the card in half-duplex which results in massive amounts of 
collisions. My link partner does not support autonegotiation, according to
mii-diag. If i insert the driver with options=1,3 the following is
printed in the system log (driver compiled with debug=3):

220a kernel: rtl8139.c:v1.10 5/29/2000 Donald Becker,becker@scyld.com.
220a kernel:  http://www.scyld.com/network/rtl8139.html
220a kernel: eth0: RealTek RTL8139 Fast Ethernet at 0xe400, IRQ 10, 00:10:a7:02:99:fb.
220a kernel: eth0: Media type forced to Full Duplex.
220a kernel: eth1: RealTek RTL8139 Fast Ethernet at 0xe800, IRQ 11, 00:01:a7:01:1b:0f.
220a kernel: eth0: Setting full-duplex based on auto-negotiated partner ability 0000.
220a kernel: eth1: Setting 100mbps full-duplex based on auto-negotiated partner ability 45e1.

I can then run 'mii-diag -F 10baseT eth0' and the collision problem goes
away. According to the system amin the switch is configured to 10 Mbps
full-duplex so this explains the collisions. When running the card in 10
Mbs full-duplex, the following is printed in the system log:  

Aug 20 15:11:50 220a kernel: eth0: Abnormal interrupt, status 00002002.
Aug 20 15:11:50 220a kernel: eth0: Abnormal interrupt, status 00000002.
Aug 20 15:12:30 220a last message repeated 2 times
Aug 20 15:13:27 220a last message repeated 116 times
Aug 20 15:13:45 220a kernel: eth0: Abnormal interrupt, status 00000002.
Aug 20 15:14:51 220a last message repeated 3 times
Aug 20 15:15:20 220a kernel: eth0: Abnormal interrupt, status 00002002.
Aug 20 15:15:50 220a kernel: eth0: Abnormal interrupt, status 00000002.
Aug 20 15:16:16 220a last message repeated 56 times
Aug 20 15:17:45 220a kernel: eth0: Abnormal interrupt, status 00000002.

Have anyone seen this before and is there some way to fix it?
Im running Debian with kernel 2.2.16 on a Celeron 300A with 64 MB RAM.

'mii-diag -a eth0' gives:
-----------------
Basic registers of MII PHY #32:  0100 780d 0000 0000 05e1 0000 0000 0000.
 Basic mode control register 0x0100: Auto-negotiation disabled, with
 Speed fixed at 10 mbps, full-duplex.
 You have link beat, and everything is working OK.
 Link partner information information is not exchanged when in fixed speed mode.

'rtl8139-diag -ame -# 1' gives:
-----------------------
rtl8139-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xe400.
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 0xe400
 0x000: 02a71000 0000fb99 80000000 00000000 0008a03c 0008a046 0008a03c 0008a042
 0x020: 03958010 03958610 03958c10 03959210 03950000 0d0e0000 21982188 0000c07f
 0x040: 78000400 0000940e b45579fb 00000000 006c10c6 00000000 0080c108 001002a0
 0x060: 0100f00f 05e1780d 00000000 00000000 00000000 000f77c0 58fab388 a438d843.
  No interrupt sources are pending.
 The chip configuration is 0x10 0x6c, MII full-duplex mode.
EEPROM size test returned 6, 0x204a7 / 0.
Parsing the EEPROM of a RealTek chip:
  PCI IDs -- Vendor 0x10ec, Device 0x8139, Subsystem 0x1429.
  PCI timer settings -- minimum grant 32, maximum latency 64.
  General purpose pins --  direction 0xe1  value 0x10.
  Station Address 00:10:A7:02:99:FB.
  Configuration register 0/1 -- 0x4d / 0xc2.
 EEPROM active region checksum is 0931.

/Markus