Re: Printing to off-line printer in 2.4.0-prerelease

From: Tim Waugh (twaugh@redhat.com)
Date: Thu Jan 04 2001 - 09:54:58 EST


On Thu, Jan 04, 2001 at 03:39:10PM +0100, Andrea Arcangeli wrote:

> As noted yesterday falling into parport_write will silenty lose data when the
> printer is off.

(Actually it depends; I think FIFO/DMA paths are fine, but yes, the
software implementation can lose data.)

> If it's not feasible to make parport_write reliable against
> power-off printer, then I recommend to loop in interruptible mode
> before entering the main loop (waiting the printer to power-on) like
> in latest patch from Peter.

Have I missed a patch? How do you know whether or not the printer is
on yet?

As I understand it, you can't guarantee anything about any of the
signals when the printer is off, so all you can do is look for
'suspicous' things (like 'no error' and 'paper out'). But some
printers do this during normal operation, and hence the LP_CAREFUL
switch.

Return -EIO when the printer is on and off-line is a bug, sure enough.
That's what the -EAGAIN patch was for, and Peter's patch fixes this
too.

But if you want to avoid losing data when your printer is off you need
to use LP_CAREFUL, and hope printing still works at all (depends on
your printer).

If this goes away:

        if ((status & LP_PERRORP) && !(LP_F(minor) & LP_CAREFUL))
                /* No error. */
                last = 0;

then some people might not be able to print at all.

Tim.
*/



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jan 07 2001 - 21:00:18 EST