[cups.general] Getting capability info from IPP printers

Till Kamppeter till.kamppeter at gmail.com
Wed Feb 20 02:50:19 PST 2013


Thank you very much.

I am no doing the first query with IPP 2.0 and downgrade to 1.1 in case
of failure.

   Till

On 02/19/2013 07:38 PM, Michael Sweet wrote:
> If you get server-error-version-not-supported, retry the query using IPP/1.1.
> 
>> Is there an automatic mode?
> 
> No.
> 
>> Can I get a list of all IPP versions which the currently running CUPS supports so that I can simply go through all of them beginning with the newest until the printer accepts?
> 
> No, there is no API for that, but if you are using the newer ippSetVersion API then you have to be running CUPS 1.6 or later, which supports IPP/1.x and IPP/2.x.
> 
> But really in this case you just care about what the printer supports - just try 2.0 and if that fails try 1.1.  Don't bother trying 1.0, it just means the printer manufacturer didn't update beyond that experimental (and obsolete) version and it is highly unlikely you will be able to do anything useful with it.  2.1 and 2.2 just target different protocol feature sets, but fundamentally anything you do as a client in a 2.1 or 2.2 request can be done in a 2.0 request - the version numbers just identify (grossly) what the server can do, with the IPP Everywhere and JPS3 changes that came after IPP/2.0 allowing you to learn about supported features (document object, etc.) more easily.
> 
>> Which version CUPS uses by default?
> 
> ippGetVersion will do it, but for CUPS 1.6 and later you'll always get 2.0 from ippNewRequest.
> 
>> My CUPS version is 1.6.1 in Ubuntu Raring.
> 
> Have you looked at the new destination APIs?  They are really intended to support this kind of usage (discovery, query for capabilities, and support job submission and management) without you needing to write a lot of extra code...





More information about the cups mailing list