Date: Tue, 30 Jan 1996 03:39:57 +1100 (EST) From: Douglas Thomas Crosher <dtc@scrooge.ee.swin.oz.au> To: roberto@keltia.freenix.fr (Ollivier Robert) Subject: Re: lpt0 incorrect interrupt count / systat Message-ID: <199601291639.DAA28428@scrooge.ee.swin.oz.au> In-Reply-To: <199601282128.WAA23462@keltia.freenix.fr> from "Ollivier Robert" at Jan 28, 96 10:28:21 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> 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: <ECS1110 (System Board)> > Probing for devices on the EISA bus > eisa0:1 <TCM5090> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601291639.DAA28428>