[248] in linux-net channel archive
Re: 3C503 quits responding to network
daemon@ATHENA.MIT.EDU (Paul Gortmaker)
Sat Apr 29 00:50:58 1995
From: Paul Gortmaker <paul@rasty.anu.edu.au>
To: linux-net@vger.rutgers.edu
Date: Sat, 29 Apr 1995 14:17:22 +1000 (EST)
> >
> > > temporary solution we've adopted is to have cron ping another machine every 5
> > > Here is what shows up in the syslog:
> > >
> > > Apr 27 13:21:31 garc kernel: eth0: transmit timed out, TX status 0x0, ISR 0x0.
> > > Apr 27 13:21:31 garc kernel: eth0: Possible network cable problem?
> >
> > Your packet grew old on the card without ever being sent. The Tx and
> > interrupt status bytes don't indicate anything other than nothing
> > has happened recently. (ISR=0 -> all 8390 interrupts have been ack'ed
> > and TSR=0 -> Tx packet status has already been read/ack'ed)
> >
> > Paul.
> >
>
> Ummm....okay. What direction should we look in now ?
Going by the "me too" posts it appears that the 503 never posts an
interrupt to say it has sent out the packet. Funny how it only happens
with 386 boxes. If the card is still Rx'ing, but not getting serviced
through the interrupt handler it should end up being swamped in
packets. Next time the card dies, before you send out the Tx packet
to fix it, watch /proc/net/dev and /proc/interrupts and see if the
incoming traffic is changing any numbers. And at the top of 8390.c
put a line like "#define EI_DEBUG 3". You may wish to play with the
ISA bus speed as well, since if you can get the packets off the
card faster, you won't be as prone to overruns. I've found this to
make quite a difference for 8 bit cards.
Paul.