Subject: Re: Print Errors
To: None <current-users@NetBSD.ORG>
From: Mike O'Brien <obrien@antares.aero.org>
List: current-users
Date: 10/21/1994 15:43:11
In Message <9410210847.AA23594@staff.cc.purdue.edu> ,
Brett Slager <slager@staff.cc.purdue.edu> wrote:
=>Have you tried using the interruptless devices for printing? A friend of
=>mine's machine just absolutely refused to print well using lpt0 so I switched
=>to lpa0 and everything was fine.
Then Gary D. Duzan said:
> That was too easy. Didn't even require a new kernel. Just pointed
> /etc/printcap to /dev/lpa0 and things are perfect. Another entry
> for the FAQ, perhaps? Many thanks.
Guys, I'm sticking my neck out here, since I don't even run NetBSD yet,
but this sounds suspiciously like the first UNIX kernel bug I ever found,
in the high-speed paper tape reader/punch driver, in Unix Research Version 5,
back around 1975 or so. It was a race condition. In the startup routine,
somewhere between the time the upper half of the driver decides to put
a character out to the printer, a printer interrupt is occurring, and
the interrupt routine is also shoving a character out to the printer.
There's an 'spl7()' or 'spl15()' or whatever the modern moral equivalent
may be, missing. Or else the race condition is screwing up the condition
of the character queues, so that it's grabbing extra garbage every so
often.
Mike O'Brien