[fa.laser-lovers] Xerox 2700 II

laser-lovers@uw-beaver (02/23/85)

From: ihnp4!ulysses!jes@uw-beaver.arpa (Jonathan Shopiro)

We are running a Xerox 2700 II printor on a Vax 750 under 4.2 BSD.  The
2700 has a Dataproducts interface and we use a MDB Systems LP-11 board
to hook the printer to the Unibus of the Vax.  We use Xroff from Image
Network as our typesetter and various homebrew software for spooling,
lineprinter-style formatting, etc..  We are pretty satisfied with it --
it certainly gets a lot of use.

I should warn you that there is a race condition in the Unix line printer
driver, lp.c.  It sends characters to the printer, checking after each one
to see if the printer is busy.  If it is, it turns on the interrupt bit
(in the LP-11 board) and waits for the interrupt.  What can happen is that
the printer is busy after a character is sent but it becomes ready before
the driver has a chance to set the interrupt bit.  In that case the driver
waits for an interrupt that will never come.  Fixing this will prevent a lot
of printer hangs.  All you have to do is be sure the printer is still busy
after you set the interrupt bit, and if not, turn the interrupt bit off
and go back the the character loop.