OpenPrinting / cups-filters

filters, backends, driverless utility, ... - Everything which CUPS 2.x needs to be used on non-Mac systems
Apache License 2.0
155 stars 125 forks source link

[Question] about "Unable to create PPD file: Printer does not support required IPP attributes or document formats." #143

Closed ChoiChoongHo94 closed 5 years ago

ChoiChoongHo94 commented 5 years ago

Hi. (I am not a native speaker. I will try my best to make my question clear, but please understand if there are any grammatical errors.)

If I get "Unable to create PPD file: Printer does not support required IPP attributes or document formats." from entering driverless cat <driver URI>, does it mean that this printer discovered by driverless don't support IPP? If then, to set this printer up to cups, I must have the printer specific PPD file?

I attach the output of above command. output.txt

tillkamppeter commented 5 years ago

The printer supports IPP as it has an IPP URI and it answers IPP requests, but what does not work with it is driverless IPP printing. According to its "document-format-supported" IPP attribute the only data format it supports for driverless printing is Apple Raster ("image/urf") which is a standard format for Apple's AirPrint, to print on the printer from an iOS device. Unfortunately, the printer has a bug in the Apple Raster supoort. For a client to know in which resolution and color depth to send files in Apple Raster format, the standard requires the printer also to have the "urf-supported" IPP attribute. This attribute your printer seems to miss, making its Apple Raster support useless.

ChoiChoongHo94 commented 5 years ago

then, if I set this printer, I must have the printer specific PPD file or driver (gutenprint, vendor-specific driver, etc.). right?

debiantriage commented 5 years ago

Would I be correct in thinking that, in the case of this printer, the Bonjour text record would not contain the "URF = " key? Perhaps ChoiChoongHo94 would provide the output of

avahi-browse -rt _ipp._tcp ?

(The Samsung ULD package appears to be his route to printing easily).

tillkamppeter commented 5 years ago

Could you also post the output of

ipptool -tv <printer URI> get-printer-attributes.test > attrs.txt

Please attach the attrs.txt file to this bug report.

ChoiChoongHo94 commented 5 years ago

Thank you for fast replies.

Here are the attachments.

avahi-browse -rt _ipp._tcp > resolve.txt
ipptool -tv <printer URI> get-printer-attributes.test > attrs.txt

resolve.txt attrs.txt

ChoiChoongHo94 commented 5 years ago

I have more question.

If a printer support AirPrint, is it safe to say that the printer also support IPP Everywhere?

tillkamppeter commented 5 years ago

If a printer supports AirPrint it does not automatically also support IPP Everywhere, but AirPrint is also a form of driverless IPP printing, like IPP Everywhere is, and so AirPrint printers do also print on modern Linux systems without need of a driver. Unfortunately, your printer has no working implementation of AirPrint or any other driverless IPP printing standard. It supports Apple Raster (image/urf) but it misses important information in its DNS-SD record and in its IPP printer attributes which are needed for AirPrint. This means that yoiu can use this printer only the classic way with a driver. If Samsung promises that it does AirPrint the printer has a serious firmware bug, you should check whether there is already a firmware update available.

debiantriage commented 5 years ago

If a printer support AirPrint, is it safe to say that the printer also support IPP Everywhere?

No, not at all.

Your resolve.txt indeed does not have a key in the text record beginning urf=; its Bonjour broadcasts do not advertise an AirPrint-capable device. The attrs.txt backs up what Till has said already about the urf-supported IPP attribute. This printer does not support AirPrint. IPP cannot get what it needs from the printer, so you cannot set up a print queue with the everywhere or driverless model (-m).

However, if you want to avoid using Samsung's non-free rastertospl filter you could try what follows.

Cheers,

Brian.

PPD.txt