[tulip] problem with tulip card ceasing to function - requires
ifup/ifdown to fix
Donald Becker
becker@scyld.com
Mon Nov 26 13:55:01 2001
On Mon, 26 Nov 2001 dani-post@roisman.com wrote:
> 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)
> # mii-diag eth0
> Basic registers of MII PHY #1: 1100 786d 2000 5c10 01e1 41e1 0005 2801.
Normal.
> # 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
Was this when the chip stopped? Or after you restarted?
Everything looks normal, with all registers having the expected
configuration.
> 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.
Hmmm, you either have an extreme burst of small packets, or some other
driver is hogging the machine. The status is reporting a normal receive
done interrupt.
Try changing the max_interrupt_work paramter from the default of 25 to 100
in /etc/modules.conf
options tulip max_interrupt_work=100
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993