From owner-freebsd-hackers Fri Apr 18 15:19:29 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id PAA07858 for hackers-outgoing; Fri, 18 Apr 1997 15:19:29 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id PAA07852 for ; Fri, 18 Apr 1997 15:19:25 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id PAA03086; Fri, 18 Apr 1997 15:18:12 -0700 From: Terry Lambert Message-Id: <199704182218.PAA03086@phaeton.artisoft.com> Subject: Re: DEC 21140-Ax problems resolved? To: adrian@virginia.edu Date: Fri, 18 Apr 1997 15:18:12 -0700 (MST) Cc: terry@lambert.org, hackers@freebsd.org In-Reply-To: from "Adrian T. Filipi-Martin" at Apr 18, 97 05:45:17 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > If that fails, the NetBSD driver was recently announced as ported > > on the -current list (which is probably a better place to look, > > especially if the 'x' in your '-Ax' is recent, since your card > > may have overflow problems which need to be worked around in software). > > Specifically the chip is a 21140-AC. That's not too new. Which > files do I need to get in addition to if_de.c? I tried this route, but I > must have mised something, because it wouldn't compile. You need the new driver. The 'C' is a known rogue. There were some issues with the 21x40-?? where x=0 worked and x=1 didn't, but they were (I thought) resolved in -current. Here is Mark Dawson's posting on the subject of the hangup stuff... with fix. Like I said, you'd do better searching the -current archives. Note that this does not fully update the driver to the NetBSD state (from what I recall). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. ======================================================================== NetBSD's de driver (1.83 1997/03/25 21:12:17) has a fix for 21140A hangup's which is absent in FreeBSD's version... in tulip_pci_attach(): if (chipid == TULIP_21140A && revinfo <= 0x22) sc->tulip_features |= TULIP_HAVE_RXBUGGY; in tulip_intr_handler(): /* * Pass 2.[012] of the 21140A-A[CDE] may hang and/or corrupt data * on receive overflows. */ if ((misses & 0x0FFE0000) && (sc->tulip_features & TULIP_HAVE_RXBUGGY)) { /* * Stop the receiver process and spin until it's stopped. * Tell rx_intr to drop the packets it dequeues. */ TULIP_CSR_WRITE(sc, csr_command, sc->tulip_cmdmode & ~TULIP_CMD_RXRUN); while ((TULIP_CSR_READ(sc, csr_status) & TULIP_STS_RXSTOPPED) == 0) ; TULIP_CSR_WRITE(sc, csr_status, TULIP_STS_RXSTOPPED); sc->tulip_flags |= TULIP_RXBAD; } ========================================================================