From owner-freebsd-current Mon Jan 29 08:39:20 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id IAA12342 for current-outgoing; Mon, 29 Jan 1996 08:39:20 -0800 (PST) Received: from scrooge.ee.swin.oz.au (scrooge.ee.swin.oz.au [136.186.4.20]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id IAA12333 for ; Mon, 29 Jan 1996 08:39:10 -0800 (PST) Received: (from dtc@localhost) by scrooge.ee.swin.oz.au (8.6.9/8.6.9) id DAA28428; Tue, 30 Jan 1996 03:39:57 +1100 From: Douglas Thomas Crosher Message-Id: <199601291639.DAA28428@scrooge.ee.swin.oz.au> Subject: Re: lpt0 incorrect interrupt count / systat To: roberto@keltia.freenix.fr (Ollivier Robert) Date: Tue, 30 Jan 1996 03:39:57 +1100 (EST) In-Reply-To: <199601282128.WAA23462@keltia.freenix.fr> from "Ollivier Robert" at Jan 28, 96 10:28:21 pm X-Mailer: ELM [version 2.4 PL24] Content-Type: text Sender: owner-current@FreeBSD.ORG Precedence: bulk > The printer is of course inactive and even turned off. Where do these > interrupts come from ? I recently changed my NE2000 for a 3C509B; can this > be the cause of the problem ? > > eisa0: > Probing for devices on the EISA bus > eisa0:1 unknown device > [...] > 1 3C5x9 board(s) on EISA found at 0x1000 > 1 3C5x9 board(s) on ISA found at 0x300 > ep0 at 0x300-0x30f irq 10 on isa > ep0: aui/utp[*AUI*] address 00:20:af:5a:51:9d irq 10 > > - the 3C509B is unusable when configured as an EISA device > > Jan 28 20:21:16 keltia /kernel.3com: 1 3C5x9 board(s) on EISA found at 0x1000 > Jan 28 20:21:16 keltia /kernel.3com: ep0: 3c5x9 at 0x1000 in test mode. Erase pencil mark! > Jan 28 20:21:16 keltia /kernel.3com: ep0: eeprom failed to come ready. > Jan 28 20:21:16 keltia /kernel.3com: epprobe: ignoring model ffff > Jan 28 20:21:16 keltia /kernel.3com: ep0 not found at 0x1000 > > I have modified if_ep.c with the latest Serge's patches after merging > -CURRENT's differences and it changes nothing. I can use the card only in > pure ISA mode. PnP doesn't make any difference. I recently tried current and found that my 3c509 card would lockup within a few seconds of heavy transmittions. I noticed that there is no timeout code in the current if_ep.c driver and had to put back the kludge from the 2.1 version, patch below. I'd be interested to know if you have the card working reliably under current without such a kludge. Regards Douglas Crosher -=-=-=-=- *** if_ep.c.orig Fri Jan 26 20:48:38 1996 --- if_ep.c Tue Jan 30 03:14:07 1996 *************** *** 436,441 **** --- 436,442 ---- ifp->if_start = epstart; ifp->if_ioctl = epioctl; ifp->if_watchdog = epwatchdog; + ifp->if_timer=1; /* Get the timeouts started! */ if_attach(ifp); kdc_ep[is->id_unit].kdc_state = DC_BUSY; *************** *** 1252,1258 **** epwatchdog(ifp) struct ifnet *ifp; { ! /* printf("ep: watchdog\n"); log(LOG_ERR, "ep%d: watchdog\n", ifp->if_unit); --- 1253,1260 ---- epwatchdog(ifp) struct ifnet *ifp; { ! ! /* Don't want to log a message every second! printf("ep: watchdog\n"); log(LOG_ERR, "ep%d: watchdog\n", ifp->if_unit); *************** *** 1262,1267 **** --- 1264,1273 ---- ifp->if_flags &= ~IFF_OACTIVE; epstart(ifp); epintr(ifp->if_unit); + + /* What a kludge; just keeps timing out every second! */ + ifp->if_timer=1; + } static void