Re: Apple raster, PWG raster and non-free filters/drivers
On 12/16/2016 04:15 PM, Brian Potkin wrote:
In
https://lists.debian.org/debian-printing/2016/12/msg00089.html
Till Kamppeter wrote
> So if you really want to have a Brother printer, make sure that
> it does IPP Everywhere or AirPrint. These are driverless printing
> methods which are in Ubuntu from version 17.04 (Zesty) on and
> they are also in current Debian Experimental.
We are looking at fairly recent printers, of course, and choosing one
with AirPrint is not hard.
AirPrint exists already for several years. It was originally inteneded
to allow driverless printing from iOS devices. AFAIK also Mac OS X
supports printing on such printers. Thre are more than 2600 models
listed by Apple:
https://support.apple.com/en-us/HT201311
The printer from the cited mail thread, the Brother DCP-J925N is on this
list, meaning that it works as an AirPrint printer (at least when
connected via network).
By the way, if someone has access to this printer, can he connect it via
USB and run
sudo /usr/lib/cups/backend/usb
and post the output here? This will tell me whether the printer can also
do driverless via USB.
There will probably be a logo on the box and
the specifications will advertise AirPrint as a language or under
"mobile printing".
I did not check but it is probably the case as AirPrint exists already
for longer time.
But what about IPP Everywhere? How is a user easily
to know the printer is capable of it? Looking at the specifications for
the ones listed at www.pwg.org (the DesignJet T830, for example) I can
see nothing which indicates PWG raster is supported.
There is also a list for IPP Everywhere:
http://www.pwg.org/dynamo/eveprinters.php
with currently 25 model entries from HP (actually 7 distinct printers,
the 25 names come from regional variations, like for example different
power plugs, front panel languages, ...).
Printers get added here whenever a manufacturer self-certifies their
appropriate new (or firmware-updated) models.
Note that the standard is only some weeks old and therefore there are
not may models listed yet.
The PWG has issued a logo which the manufacturers can put on their
IPP-Everywhere self-certified products.
Then there is the matter of whether a printer which does support PWG
raster is an IPP Everywhere printer. Apparently the Lexmark CS720de
understands PWG raster (https://github.com/apple/cups/issues/4932), but
does this make it an IPP Everywhere printer?
I am in contact with Lexmark developer Aveek Basu (who also represents
Lexmark on PWG meetings). I am working together with him so that he
tests whether Lexmark's printers work with the current development state
of the art of the Linux printing stack, especially AirPrint and IPP
Everywhere support and he will also run the self-certification for IPP
Everywhere soon. The Lexmark CS720de is actually working as an IPP
Everywhere printer, Aveek only needs to run it through the self
certification.
The CUPS bug report is a result from my collaboration with Aveek. The
tests serve both for Lexmark to know that their printers work driverless
(AirPrint and/or IPP Everywhere) and for Mike Sweet and me that the
support we implement in CUPS and cups-filters is working correctly.
On the other hand, it seems
that a PDL key with "image/urf" means it is (almost?) certainly an
AirPrint printer. Or does it matter when it comes to driverless methods
if "image/pwg-raster" in the PDL is equated with "IPP Everywhere"?
The raster formats Apple Raster and PWG Raster were developed to
implement driverless printing. Formerly, only complex high-level Page
Description Languages (PDLs) were standardized and due to their
complexity not always cleanly implemented in all printers. There was no
simple raster format to make up a standardized raster language for
cheaper printers. So cheap printers always used proprietary raster
formats requiring a driver and even higher-end printers needed a driver
because their language implementations had quirks and one also could not
poll printer-specific capabilities from the printers.
With one of the two raster formats as PDL, IPP 2.0 to allow for querying
the capabilities info from the printer, and Bonjour/DNS-SD to find the
printers in the network we have everything for driverless printing.
Keep in mind that a driver is any kind of printer-model-specific
software or data.
Apple Raster came first and was the raster PDL of AirPrint. Later the
PWG created a public standard with the more sophisticated PWG Raster as
raster PDL. The rest of AirPrint and IPP Everywhere is practically
identical: Bonjour to advertise printers on the network, IPP 2.0 for
polling capability info and send option settings as IPP attributes, and
PDF and JPEG as further allowed PDLs (the raster PDL is required, the
others are optional, clients are supposed to prefer PDF if the printer
supports it).
Even Apple Raster and PWG Raster are very similar. The difference is
that PWG Raster has more sophisticated page headers.
So as implementer as a good part of the client (cups-filters) I can
consider AirPrint and IPP Everywhere simply as "driverless" printing
with both PWG Raster and Apple Raster as supported PDLs (in addition to
PDF and JPEG).
Also as the two raster formats are developed for being used for
driverless printing, you can assume that a printer supporting them
supports also the corresponding driverless printing method.
A user can always use avahi-browse to get the printer's capabilities but
this is an after the event method. Some vendors do specfify PWG in their
literature but many don't, even when it is present.
To recognize a driverless printer via avahi-browse, check the "pdl"
entry in the TXT record. It lists the MIME types of the supported PDLs.
"image/pwg-raster" stands for PWG raster and so for IPP Everywhere, and
"image/urf" stands for Apple Raster and so Airprint.
Both are supported in both Debian Experimental and Ubuntu Zesty and they
need a lot of testing.
cups-browsed sets up driverless printers completely automatically if in
/etc/cups/cups-browsed.conf
CreateIPPPrinterQueues driverless
or
CreateIPPPrinterQueues all
is set.
With http://localhost:631/ or system-config-printer one can set up
driverless printing by selecting the printer under the discovered
network printers using the entry containing "driverless" and in the step
to select the PPD/driver also select the entry containing "driverless"
(requires Debian Experimentsl or Ubuntu Zesty with all the latest updates).
Till
Reply to: