-
Notifications
You must be signed in to change notification settings - Fork 464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CUPS queues emulate IPP Everywhere printers: Required IPP attributes not provided #4950
Comments
Note that I am using CUPS 2.2.2 where Issue #4428 is fixed. For other queues, like for example an HP inkjet with PPD from HPLIP the IPP-based PPD file is generated without problems (minor cupstestppd failures but works with CUPS). |
Investigating, but it does look like the current code should be providing default values... |
OK, I just tested this PPD with the current Github code (which for this is the same as 2.2.2) and I got:
So things appear to be working correctly. Make sure you do not have old cached data, either by deleting and re-adding the queue or by creating a new queue. |
I have now installed the CUPS from the current state of the GIT which still did not solve the problem. Then I have (with stopped cupsd and stopped cups-browsed) deleted the queue's cache file /var/cache/cups/printer.data and after starting the daemons again, the IPP record contains all pwg-raster-document-... attributes as expected and "lpadmin -m everywhere" and "driverless" correctly create the PPD file. Problem seems to be solved. |
I have connected an HP Color LaserJet CM3530 MFP to my network and set it up the standard way in Ubuntu, using HP's PostScript PPD file (attached).
Inspired by the discussion about deprecation of PPD files on the CUPS mailing list, thread "PPD API: Status, future and alternatives to handle printer-specific options", I have tried to access this queue as it was an IPP Everywhere printer, for example running the commands
till@till-x1carbon:
/printing/cups/bzr/y$ lpadmin -p ippcupstest -E -v ipp://till-x1carbon.local:631/printers/printer -m everywhere/printing/cups/bzr/y$ driverless ipp://till-x1carbon.local:631/printers/printer > x.ppdlpadmin: Unable to create PPD file: No such file or directory
till@till-x1carbon:
ERROR: Unable to create PPD file: IPP attribute "pwg-raster-document-resolution-supported" missing, needed for PWG Raster output format, not generating PPD file.
ERROR: Unable to generate PPD file.
till@till-x1carbon:~/printing/cups/bzr/y$
The "lpadmin" command with "-m everywhere" is supposed to create a new CUPS queue with a PPD file generated from printer capabilities info polled via IPP. As CUPS queues are supposed to emulate IPP Everywhere printers a queue with PPD file should have been created here. As the error message did not say a lot, I ran the "driverless" command of cups-filters, which, in the way how I called it, is supposed to simply generate the PPD based on the IPP capability info with a near identical PPD generator as CUPS uses. The error message lead me to what the problem is: The PWG-Raster-specific attributes are missing.
So I ran
ipptool -tv ipp://till-x1carbon.local:631/printers/printer get-printer-attributes.test > cups-queue-hp-clj-cm3530.txt
Output file is attached and the three "pwg-raster-document-...-supported" attributes are missing.
These attributes always have to be included, even if basic options like "Resolution", "ColorModel", or "Duplex" in the original queue's PPD file are missing. If needed, default values, like "300dpi" should be used.
This is especially important if one wants to have print dialogs not use PPD files (deprecate PPD API) as they could approach enumerating printers and options with IPP Everywhere methods then.
PPD file used for my HP Color LaserJet CM3530 MFP:
printer.ppd.txt
Output of ipptool command:
cups-queue-hp-clj-cm3530.txt
The text was updated successfully, but these errors were encountered: