[tulip] problem with tulip card ceasing to function - requires ifup/ifdown to fix

dani-post@roisman.com dani-post@roisman.com
Mon Nov 26 12:21:01 2001


I'm using a 4-Port DLINK DFE-570 for a firewall which sees quite a bit of traffic.

It has enjoyed over 100-day uptimes, sometimes pushing 98Mbit/s for a few minutes at a time.

Today, the eth0 interface stopped sending traffic.  The remedy was an ifup eth0 ; ifdown eth0

Any ideas?  Here are the details (only giving you eth0 info):

Linux 2.2.19, driver version 0.92t (was latest when this kernel was built)

output from diagnostic programs:

# mii-diag eth0
Basic registers of MII PHY #1:  1100 786d 2000 5c10 01e1 41e1 0005 2801.
 Basic mode control register 0x1100: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
 Your link partner advertised 41e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
 
# tulip-diag -aa -ee -mm
tulip-diag.c:v2.06 1/8/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Digital DS21143 Tulip adapter at 0xc800.
 * A potential Tulip chip has been found, but it appears to be active.
 * Either shutdown the network, or use the '-f' flag to see all values.
Digital DS21143 Tulip chip registers at 0xc800:
 0x00: f8a08000 ffffffff ffffffff 07fee800 07feea00 f0660000 b20e2202 fbfffbff
 Port selection is MII, full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
  The NWay status register is 000000c6.

kernel detection at last boot:
Nov 22 03:03:14 soewfv2 kernel: eth0: Digital DS21143-xD Tulip rev 65 at 0xc800, 00:80:C8:B9:98:4D, IRQ 12. 
Nov 22 03:03:14 soewfv2 kernel: eth0:  EEPROM default media type Autosense. 
Nov 22 03:03:14 soewfv2 kernel: eth0:  Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block. 
Nov 22 03:03:14 soewfv2 kernel: eth0:  MII transceiver #1 config 3100 status 7869 advertising 01e1. 
Nov 22 03:03:14 soewfv2 kernel: tulip.c:v0.92t 1/15/2001  Written by Donald Becker <becker@scyld.com> 

messages logged in syslog right before the interface went unusable:
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06b0040. 
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:37 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:38 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06b0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06b0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf06f0040. 
Nov 26 16:24:39 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:40 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:40 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:40 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:40 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:40 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0630040. 
Nov 26 16:24:40 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040. 
Nov 26 16:24:40 soewfv2 kernel: eth0: Too much work during an interrupt, csr5=0xf0670040.