Subject: Re: de0: abnormal interrupt: transmit underflow (fwd)
To: None <netbsd-help@netbsd.org>
From: Tyler Mitchell <fission@mb.sympatico.ca>
List: tech-net
Date: 05/28/2000 13:58:28
On Wed, 12 Jan 2000, Manuel Bouyer wrote:

> On Tue, Jan 11, 2000 at 06:30:27PM -0600, fission wrote:
> > I am forwarding this message along because I did not get any replies for
> > this on the port-macppc list.  Please cc: any replies to me as I am not on
> > tech-net.
> > 
> > What exactly is a transmit underflow anyways?
> 
> The ethernet chip starts tranfering the packet before it has read it all in
> its own buffer (to reduce round-trip time), but if the PCI bus can keep
> with the speed (this can occur if a higth-priority device grabs the bus for
> example) the tranmitter runs out of data. That's it.

So...this isn't a bug in NetBSD or something that we could exactly just
write a fix for?

> I get the same on my PC with de boards, but it usually bup the threshold for
> each underflow, eventually ending in store-and-forward mode (in which case
> underflows are not possible any more).

Well, that's the problem; it's not bumping it into store-and-forward - it
just keeps sending out errors.  One time, I looked at /var/log/messages
and it had the line: "last message repeated 106 times."  Ouch.

Also another thing that caught me as somewhat strange: here is a file
transfer from my Pentium/75 running Linux to my Power Macintosh 6400/200
running NetBSD (through a crossover cable):

ftp> put linux-2.2.14.tar.gz
local: linux-2.2.14.tar.gz remote: linux-2.2.14.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for 'linux-2.2.14.tar.gz'.
226 Transfer complete.
15918652 bytes sent in 20.1 secs (7.7e+02 Kbytes/sec)

Here is the exact same file being transferred from the NetBSD computer to
the Linux box:

ftp> put linux-2.2.14.tar.gz
local: linux-2.2.14.tar.gz remote: linux-2.2.14.tar.gz
227 Entering Passive Mode (192,168,0,1,16,75)
150 Opening BINARY mode data connection for linux-2.2.14.tar.gz.
226 Transfer complete.
15918652 bytes sent in 04:08 (62.63 KB/s)

Why is the one transfer so much slower than the other?  I feel that it has
something to do with these transmit underflows, but I can't really tell -
I'm no expert on networking.  However, when I started the transfer from
the NetBSD box to the Linux box, this is what showed up in
/var/log/messages:

May 28 13:49:56 positron /netbsd: de0: abnormal interrupt: transmit underflow
May 28 13:50:27 positron last message repeated 38 times
May 28 13:52:28 positron last message repeated 220 times

Any information/advice/etc would be greatly welcomed.

Thank you,

--
Tyler Mitchell

(PS: please keep me Cc'd as I'm not on the tech-net list).