[cups-devel] Simulating an IPP printer with desired attributes using ipptool and ipptoolfile

Michael Sweet msweet at apple.com
Mon Jun 19 13:44:30 PDT 2017


Sahil,

> On Jun 19, 2017, at 3:48 PM, Sahil Arora <sahilarora.535 at gmail.com> wrote:
> ...
> However, in this test file, the operation "CUPS-Create-Local-Printer" is
> not defined in the IANA IPP Registrations assignments for Operations<
> https://www.iana.org/assignments/ipp-registrations/ipp-registrations.xhtml#ipp-registrations-7
>> 
> 

Correct, the CUPS- prefixed operations are vendor extensions, which are registered separately on the PWG IPP WG page at:

	https://www.pwg.org/ipp/opcodes/ippopcodes.html

which will point you to the following documentation on the CUPS web site:

	https://www.cups.org/doc/spec-ipp.html

which defines the CUPS vendor extension operation CUPS-Create-Local-Printer.

> 2. If I try to change/update the values of some attributes of my virtual
> printer, for instance the location, I write the following line in my
> "create-printer.test" file in group "printer-attributes-tag":

CUPS does not support configuration of supported values via IPP operations in general, and in the case of this operation you tell cupsd the printer's URI and it gets the supported and default values from the printer itself.

> 3. In some printers, there are other attributes as well. For instance, in a
> printer which supports PCLm, there are attributes like:
> 
> pclm-source-resolution-default (resolution) = 600dpi
> pclm-strip-height-supported (integer) = 16
> pclm-strip-height-preferred (integer) = 16
> 
> How should these attributes be added to the virtual printer so that they
> come up on a get-printer-attributes request? I tried adding them using the
> same format, but to no avail.

As CUPS does NOT support emulation of the Wi-Fi Direct Print Service technical specification nor consumption of PCLm files, it does not support this stuff.  (and never will)

If you are looking for a generic IPP server solution to support experimentation or emulation, the ippserver program included with CUPS or (better) the one included with the IPP sample code is a much better choice.

The IPP sample code can be found here:

    https://istopwg.github.io/ippsample

If you are using a recent version of one of the popular Linux distributions, you can install a "snap" package of the IPP sample code with:

    sudo snap install --edge --devmode ipp

The snapped executables are available as "ipp.server", "ipp.tool", and so forth ("ippfoo" becomes "ipp.foo").

_________________________________________________________
Michael Sweet, Senior Printing System Engineer



More information about the cups-devel mailing list