Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Wed, 23 Jan 2002 07:04:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Wed, 23 Jan 2002 07:04:48 -0500 Received: from fungus.teststation.com ([212.32.186.211]:1552 "EHLO fungus.teststation.com") by vger.kernel.org with ESMTP id ; Wed, 23 Jan 2002 07:04:35 -0500 Date: Wed, 23 Jan 2002 13:04:26 +0100 (CET) From: Urban Widmark X-X-Sender: To: Martin Eriksson cc: Justin A , Andy Carlson , , Stephan von Krawczynski Subject: Re: via-rhine timeouts In-Reply-To: <004101c1a3f9$dea1bb90$0201a8c0@HOMER> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 23 Jan 2002, Martin Eriksson wrote: > > > > I transfered a 100M file to someone here via http at 1.1MB/s(according > > to IE, which is usually wrong but still) > > > > Seems to be working great now > > thanks:) > > > > I wonder if that driver was included on one of those cd's that came with > > the board, I never thought to look:) > > > > -Justin > > This is extremely interesting! I didn't even know about that page. As I have > a fondness for the via-rhine driver (I have too much of the DFE-530TX cards > at home) I'll start to reverse-engineer ASAP =) It's not much to reverse engineer, it comes in source form. It's based on Donald Beckers via-rhine, they have added code for some hardware issues(?) and removed some copyright texts. Some of the workarounds have already been added to the kernel driver (I have seen a similar version of this driver before). I believe the reason that driver works better is that they use a larger starting value for the TX threshold. writeb(readb(ioaddr + TxConfig) | 0x80, ioaddr + TxConfig); np->tx_thresh = 0x20; (linuxfet.c) writeb(0x20, ioaddr + TxConfig); np->tx_thresh = 0x20; (via-rhine.c) Note how the linuxfet driver sets a higher value but does not make the tx_thresh follow, so if it later gets a "IntrTxUnderrun" it will lower the threshold. But the chosen value is probably large enough. Those of you with this problem could try changing the 0x80 to 0x20 in the linuxfet.c driver and see if the problem returns (or the other way around in the via-rhine.c driver). /Urban - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/