CUPS 1.2.7 PCL and LPD

Erik Mallory Erik.Mallory at gmail.com
Thu Nov 16 13:05:04 PST 2006


I have wrestled with this long enough. I'm leaving this info to document what I perceive to be a bug.

Background:
My organization is trying various print management software suites. One of them is Cups/PrintPro. I have installed both products on Solaris and Linux. PrintPro uses Cups 1.1.23. It works like a charm. The only problems is there is no way to move print jobs from one queue to another from the web interface. (The operations folks like the web interfaces) So I compiled and installed several versions of Cups on Solaris and Linux (RHE2)
This is my problem:
When using a solaris 9 (LP) print queue that is forwarded to a cups print queue (cups-lpd) PCL files will not print. The printer (HP 1320n) only kicks out a Cups banner page.

Host A                                       Host B
------------------                      --------------------
|Solaris FWD Queue|-------------------> |Cups Print server |
------------------                      --------------------

However if I take the same file, ftp to Host B, then print it using Host B 's (Cups) lp comand. It works great.

Here is some log information:
The following is the log for a job that was printed locally.
The file being printed is PCL.
I [16/Nov/2006:14:18:05 -0600] Adding start banner page "none" to job 38.
d [16/Nov/2006:14:18:05 -0600] copy_banner(0x816d1f0[8], 0x811d468[38], none)
d [16/Nov/2006:14:18:05 -0600] add_job_state_reasons(0x816d1f0[8], 38)
d [16/Nov/2006:14:18:05 -0600] cupsdAddEvent(event=job-created, dest=0x80c6360(ja-222), job=0x811d468(38), text="Job created.", ...)
D [16/Nov/2006:14:18:05 -0600] Discarding unused job-created event...
d [16/Nov/2006:14:18:05 -0600] add_file(con=0x816d1f0[8], job=38, filetype=application/octet-stream, compression=0)
I [16/Nov/2006:14:18:05 -0600] Adding end banner page "none" to job 38.
d [16/Nov/2006:14:18:05 -0600] copy_banner(0x816d1f0[8], 0x811d468[38], none)
I [16/Nov/2006:14:18:05 -0600] Job 38 queued on "ja-222" by "root".
D [16/Nov/2006:14:18:05 -0600] Job 38 hold_until = 0
***************************************************************

The Following is a the log for a file that was sent via a Solaris 9 queue to the Cups Server (remote).

I [16/Nov/2006:13:58:52 -0600] Adding start banner page "standard" to job 35.
d [16/Nov/2006:13:58:52 -0600] copy_banner(0x81a4258[12], 0x80e4078[35], standard)
d [16/Nov/2006:13:58:52 -0600] add_file(con=0x81a4258[12], job=35, filetype=application/postscript, compression=0)
d [16/Nov/2006:13:58:52 -0600] add_job_state_reasons(0x81a4258[12], 35)
d [16/Nov/2006:13:58:52 -0600] cupsdAddEvent(event=job-created, dest=0x80c6360(ja-222), job=0x80e4078(35), text="Job created.", ...)
D [16/Nov/2006:13:58:52 -0600] Discarding unused job-created event...
d [16/Nov/2006:13:58:52 -0600] cupsdSaveJob(job=0x80e4078(35)): job->attrs=0x80e10b0
I [16/Nov/2006:13:58:52 -0600] Job 35 created on "ja-222" by "root".
D [16/Nov/2006:13:58:52 -0600] cupsdProcessIPPRequest: 12 status_code=0 (successful-ok)
d [16/Nov/2006:13:58:52 -0600] cupsdProcessIPPRequest: Adding fd 12 to OutputSet...
**********************************************************************

This difference could be telling.
Locally printed job:
d [16/Nov/2006:14:18:05 -0600] add_file(con=0x816d1f0[8], job=38, filetype=application/octet-stream, compression=0)

Solaris Remote Job:
d [16/Nov/2006:13:58:52 -0600] add_file(con=0x81a4258[12], job=35, filetype=application/postscript, compression=0)

What I think is happening is this:
When the file comes from the solaris queue cups tags it as postscript.
when its printed locally its octet/stream (as it should be). I have no idea why.

I have raw files configured in the mime.conv and mime.types files.

I think this is a bug. I'd love to be proven wrong.

Thanks
Erik Mallory





More information about the cups mailing list