[cups.general] Printing status

Helge Blischke h.blischke at srz.de
Thu Feb 17 04:38:27 PST 2005


Simon Gao wrote:
> 
> Helge Blischke wrote:
> 
> >Simon Gao wrote:
> >
> >
> >>Hi,
> >>
> >>I am using CUPS 1.1.23. Everytime after a printer finished printing a
> >>job, the printing status always says "Print file sent, waiting for
> >>printer to finish ...." for a long time even though "Printer State" is
> >>"idle, accepting jobs".
> >>
> >>Is there something wrong? When doesn't CUPS detect the job has been
> >>finised in short time? What can I do to ensure the CUPS retreive the
> >>correct feedback from a printer?
> >>
> >>Simon
> >>
> >>
> >
> >Please tell us the printer's URI and some more details. I suspect you
> >are
> >using the socket backend. This waits for some indication that the job is
> >finished in the printer, and this reply seems to be missing.
> >Perhaps you need to edit the JCL stuff in your printer's PPD. Or use the
> >hpnpf backend which forces an end-of-job reply provided the printer
> >fully supports HP's PJL .
> >
> >Helge
> >
> >
> >
> Yes. All our printers use socket backend. So the url looks like
> socket://1.2.3.4:9100/. This has been working without any issue until we
> upgraded CUPS from 1.1.17 to 1.1.22. So to me, there are some changes
> between the versions that cause the issue. I am very curious about what
> kind of changes lead to this problem.
> 
> Has it been all the time that HP printers do not send end-of-job reply
> to CUPS? Does the previous versions of CUPS not pay attetion to an
> end-of-job reply from HP printers? or just ignore it?
> 
> Can you give som help in how to change JCL to solve this problem?
> 
> Thanks,
> 
> Simon

I just compared my socket.c (from 1.1.19) with the latest one from EPS's
subersion server and found no significant differences - at least no
changes
with respect to the backchannel data. So I've no idea why your socket
backend now complains.

As for the PJL stuff, what I do in my hpnpf backend is to emit the
following
PJL commands at the beginning of the job:
@PJL USTATUSOFF
@PJL SET JOBID=ON
@PJL USTATUS JOB=ON
@PJL JOB NAME = <jobname> DISPLAY = <for printer's display>
@PJL USTATUS PAGE=ON
and at the end of the job:
@PJL EOJ NAME= <jobname>

All this forces the printer to reply after the printing has finished
with
@PJL USTATUS JOB 
RESULT=OK

which the hpnpf backend is waiting for.

Hope this helps

Helge




-- 
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de
tel: +49 30 75301-360




More information about the cups mailing list