Printing to a Windows Server fails

William Moore william.moore at expertys.net
Wed Mar 14 01:41:39 PDT 2012


> Gerard,
>
> On Mar 12, 2012, at 2:19 PM, Gerard Seibert wrote:
> >> ...
> >> Enable debug logging (cupsctl --debug-logging), try printing, and
> >> then look at the messages coming from the backend.  My guess is that
> >> Windows' (very) limited IPP/1.0 support is to blame...
> >
> > I wouldn't be so quick to blame Windows. For starters, the OP stated
> > that it did work under CUPS 1.4.3. Personally, I have had problems with
> > version 1.5.x of CUPS also. Printing that use to work just fine
> > suddenly stopped and no one can figure out why.
>
>
> While there *were* some major changes to the IPP backend in CUPS 1.5 to support streaming of print jobs, many of the issues that have come up have been in the printers/print servers that only implement IPP/1.0 (which was a short-lived experimental version of IPP) and never got it right.  Microsoft has never implemented anything beyond the barest support for IPP/1.0, thus my comments...
>

Michael

Yes, I agree Windows is part of the problem, but I could work around that in version 1.4 of CUPS by setting the printer error policy to abort-job.

With version 1.4, when a job is sent to the Windows server it fails with message "Unable to get job 48 attributes (Client: (404) Not Possible)!". This is detected as as error and the job aborts as defined in the printer error policy and the next job can be sent to the Windows server.

With version 1.5 no error is detected so the CUPS server stays at status "Waiting for job to complete" and the job has to be cancelled manually before the next job can be sent to the Windows server.

Here is some of the output from debugging:

D [14/Mar/2012:09:30:36 +0100] PID 44986 (/usr/local/libexec/cups/filter/foomatic-rip-hplip) exited with no errors.
D [14/Mar/2012:09:30:36 +0100] [Job 32902] Read 16384 bytes...
D [14/Mar/2012:09:30:36 +0100] [Job 32902] Read 16384 bytes...
D [14/Mar/2012:09:30:36 +0100] [Job 32902] Read 16384 bytes...
D [14/Mar/2012:09:30:36 +0100] [Job 32902] Read 10350 bytes...
D [14/Mar/2012:09:30:36 +0100] [Job 32902] Print-Job: successful-ok (successful-ok)
I [14/Mar/2012:09:30:36 +0100] [Job 32902] Print file accepted - job ID 66.
D [14/Mar/2012:09:30:36 +0100] [Job 32902] Set job-printer-state-message to "Print file accepted - job ID 66.", current level=INFO
D [14/Mar/2012:09:30:36 +0100] Discarding unused job-progress event...
D [14/Mar/2012:09:30:36 +0100] Discarding unused printer-state-changed event...
I [14/Mar/2012:09:30:36 +0100] [Job 32902] Waiting for job to complete.
D [14/Mar/2012:09:30:36 +0100] [Job 32902] Set job-printer-state-message to "Waiting for job to complete.", current level=INFO
D [14/Mar/2012:09:30:36 +0100] Discarding unused job-progress event...
D [14/Mar/2012:09:30:36 +0100] Discarding unused printer-state-changed event...
D [14/Mar/2012:09:30:37 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:37 +0100] [Job 32902] Get-Printer-Attributes: successful-ok-ignored-or-substituted-attributes (successful-ok-ignored-or-substituted-attributes)
D [14/Mar/2012:09:30:37 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:38 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:39 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:41 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:44 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:49 +0100] cupsdNetIFUpdate: "bge0" = [v1.fe80:1::212:79ff:fecd:5cf1]:631
D [14/Mar/2012:09:30:49 +0100] cupsdNetIFUpdate: "bge0" = 192.168.10.20:631
D [14/Mar/2012:09:30:49 +0100] cupsdNetIFUpdate: "bge1" = [v1.fe80:2::212:79ff:fecd:5cf0]:631
D [14/Mar/2012:09:30:49 +0100] cupsdNetIFUpdate: "bge1" = 192.168.10.20:631
D [14/Mar/2012:09:30:49 +0100] cupsdNetIFUpdate: "lo0" = localhost:631
D [14/Mar/2012:09:30:49 +0100] cupsdNetIFUpdate: "lo0" = [v1.fe80:3::1]:631
D [14/Mar/2012:09:30:49 +0100] cupsdNetIFUpdate: "lo0" = localhost:631
D [14/Mar/2012:09:30:49 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:57 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)
D [14/Mar/2012:09:30:58 +0100] [Job 32902] Get-Job-Attributes: client-error-not-possible (Client: (404) Not Possible)

It then appears to loop on the message in the last line because it is not detected as an error. Is there something I can set in the configuration to make it see this as an error?

William




More information about the cups mailing list