*BSD News Article 73217


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mira.net.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.eng.convex.com!newshost.convex.com!newsgate.duke.edu!news.mathworks.com!fu-berlin.de!zrz.TU-Berlin.DE!news.tu-chemnitz.de!irz401!orion.sax.de!uriah.heep!news
From: j@uriah.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: problem with 3c590
Date: 9 Jul 1996 07:05:17 GMT
Organization: Private BSD site, Dresden
Lines: 43
Message-ID: <4rt0bd$4fl@uriah.heep.sax.de>
References: <4rf9u3$7vp@news.uit.no> <4rl1vb$u3@anorak.coverform.lan>
Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
NNTP-Posting-Host: localhost.heep.sax.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: knews 0.9.6
X-Phone: +49-351-2012 669
X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F  93 21 E0 7D F9 12 D6 4E

brian@awfulhak.demon.co.uk (Brian Somers) wrote:

> : The card is a 10Mbit 3c590 pci combo using the BNC adapter.
> 
> : When sending data fast, it stops sending. 

> The card receives data at the same time as sending and ends up producing
> only one interrupt for both events (I've had such problems writing serial
> stuff before - 8250s seem to do this).  The driver ends up not knowing
> that the data was sent - hence the slow throughput and eventual fill-up.

The `vx' driver is, umm, suboptimal in design and implementation.

Somebody on the mailing list suggested the following change:

Index: pci/if_vx.c
===================================================================
RCS file: /usr/home/cvs/src/sys/pci/if_vx.c,v
retrieving revision 1.10
diff -u -u -r1.10 if_vx.c
--- if_vx.c	1996/06/12 05:10:42	1.10
+++ if_vx.c	1996/06/16 14:45:12
@@ -518,7 +518,7 @@
     }
     IF_DEQUEUE(&sc->arpcom.ac_if.if_snd, m);
 
-    outw(BASE + VX_W1_TX_PIO_WR_1, len);
+    outw(BASE + VX_W1_TX_PIO_WR_1, len | 0x8000 /* XXX */);
     outw(BASE + VX_W1_TX_PIO_WR_1, 0x0);	/* Second dword meaningless */
 
     /* compute the Tx start threshold for this packet */


This might or might not help -- i'm still not happy with the driver at
all, and switched back to the 3C503 since i needed a reliable Ethernet
connection to get an NFS diskless client booted.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)