[cups.general] What is "printer state" exactly?

Johannes Meixner jsmeix at suse.de
Thu Dec 14 00:41:18 PST 2006


Hello,

I would like to provide some more info in particular regarding
HP printers and the special "hp" backend (i.e. when the HPLIP
software http://hplip.sourceforge.net/ is used).

I asked on the hplip-help at lists.sourceforge.net list
and I got the following reply:

#########################################################################

Date: Wed, 13 Dec 2006 13:18:29 -0600
From: "Suffield, David" ...
To: ... <hplip-help at lists.sourceforge.net>
Subject: RE: [Hplip-help] Job status versus printer status

Hi Johannes,

When using the "hp" cups backend, the backend (via hpiod) reads deviceID
from the printer to get actual printer status at the end of the print
job. The same procedure is followed for both local connection and
network connection. Depending on the type of printer the following
procedure is followed.

For Inkjets:
1. Send all the data to the printer.
2. Monitor the printer deviceID and wait for a printer go to an idle
state.
3. Send job complete (ie: "INFO: ready to print") to cupsd.

For Laserjet:
1. Send all the data to the printer.
2. Since HP laserjets have no deviceID state info, the backend waits an
arbitrary 8 seconds because we do not want to close the device before
all data has been received by the printer.
3. Send job complete to cupsd.

So for Inkjets the http://localhost:631/printers printer state
information actually means all data has be received by the printer and
is idle. For Laserjets, the actual printer state information is a best
guess. I believe the HPLIP toolbox uses PML or Web Services for actual
laserjet status.

-dave

> -----Original Message-----
> 
> Hello,
> 
> on the cups at easysw.com mailing list there is a user who asked 
> about the following issue:
> ----------------------------------------------------------------
> I am using HP laserJet 4050 and hp4050_6.ppd driver.
> ...
> printer is connected as socket://"ip number here":9100.
> ...
> I would like to know the exact meaning of printer state shown 
> in http://localhost:631/printers. Is it the real status of 
> printer or is it the status of cups scheduler.
> ----------------------------------------------------------------
> 
> He reported that http://localhost:631/printers already shows 
> the state IDLE when the printer is still printing some sheets 
> of the last print job.
> 
> Michael Sweet answered that
> ----------------------------------------------------------------
> ... jobs are not completed until the backend exits, which can 
> either mean all data has been sent (most local connections) 
> or the printer has indicated the job has been completely 
> printed (most network connections). ... it is possible that 
> the printer has recieved all data and the JetDirect card has 
> been told that all pages have been processed by the printer 
> (but might not yet be totally printed...)
> ----------------------------------------------------------------
> 
> Now my question is whether the hp backend would show the 
> really correct state of the actual printer?
> 
> For example the hp backend might know (and report) the exact 
> current state of the actual printer via SNMP queries.
> 
> Could you explain the difference regarding printer state
> when the generic CUPS socket or lpd backend is used
> in contrast to when the HPLIP hp backend is used?
> 
> 
> Many Thanks and Kind Regards
> Johannes Meixner

#########################################################################


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH, Maxfeldstrasse 5      Mail: jsmeix at suse.de
90409 Nuernberg, Germany                    WWW: http://www.suse.de/





More information about the cups mailing list