cups-filters: Can't add Canon MG4120 anymore (cups-filters 1.20.0)
I use Print Setting (system-config-printer) in order to add printers.
When I try to add my printer by automatic detection, it just fails with “server-error-internal-error”. Normally, it should add my printer and use driverless for printing. This GUI tool always chooses driverless by default when you use automatic detection; it doesn’t let you choose between driverless and something else.
It worked perfectly with previous of cups-filters, including 1.18.0 and 1.19.0. I got this issue when I updated to 1.20.0. I could add my printer and use driverless for it with previous versions of cups-filters.
A workaround I found in order to add my printer with system-config-printer is to manually add the printer, then manually select Gutenprint. Trying to add the printer manually with driverless instead of Gutenprint results in the same error I get when I try to add it by automatic detection.
Trying to add the printer with the Web interface (localhost:631) using driverless ends up with an error too : “unable to add error : unable to copy PPD file.” However, adding the printer with the Web interface using Gutenprint works fine.
Here’s a typical log output from /var/log/cups/error_log I get when I try to add my printer with driverless in general.
E [04/Feb/2018:20:58:30 -0500] [cups-deviced] PID 5959 (gutenprint52+usb) stopped with status 1!
E [04/Feb/2018:20:58:44 -0500] [CGI] Unable to create PPD file: Printer does not support required IPP attributes or document formats.
E [04/Feb/2018:20:58:47 -0500] [CGI] Unable to create PPD file: Printer does not support required IPP attributes or document formats.
E [04/Feb/2018:20:58:47 -0500] copy_model: empty PPD file
E [04/Feb/2018:20:58:47 -0500] [Client 118] Returning IPP server-error-internal-error for CUPS-Add-Modify-Printer (ipp://localhost/printers/Canon-MG4100-series) from localhost
E [04/Feb/2018:20:58:47 -0500] [CGI] Unable to create PPD file: Printer does not support required IPP attributes or document formats.
E [04/Feb/2018:20:58:47 -0500] copy_model: empty PPD file
E [04/Feb/2018:20:58:47 -0500] [Client 122] Returning IPP server-error-internal-error for CUPS-Add-Modify-Printer (ipp://localhost/printers/Canon-MG4100-series) from localhost
Hope you can do something about it.
Reported about the issue on Manjaro forum https://forum.manjaro.org/t/stable-update-2018-02-03-kernels-libreoffice-browsers-thunderbird-php-haskell/39663/68 https://forum.manjaro.org/t/testing-update-2018-02-08-kernels-browsers-plasma-gcc-nvidia-systemd/40022/29 https://forum.manjaro.org/t/testing-update-2018-02-15-kernels-firefox-dev-bluez-haskell-python/40450/13
My config Manjaro Cinnamon 17.1.5 (Testing branch, issue noticed on Stable branch too) Canon Pixma MG4120 wireless printer (using Avahi for mDNS zeroconf and service discovery, which is compatible with my printer for Wi-Fi printing) CUPS 2.2.6 cups-filters 1.20.0 (worked fine with previous version such as 1.18.0 and 1.19.0) system-config-printer 1.5.11 (had the same issue with 1.5.9)
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 1
- Comments: 61 (31 by maintainers)
Hitting this on a PIXMA 3150 … any resolution yet? Will try the steps suggested above when today’s chaos abates…
I have exactly the same problem with PIXMA MX925 series in trying to operate it via IPP.
Fixed in cups-filters with commit 5259bb7. See also pull request #86.
@tillkamppeter Thanks for the fast reply. I overwrote the files provided by the packages as removing the lib packages was not possible without removing everything cups related:
Adding the printer then worked successfully as well as printing a test page. However the page format is wrong, see the test page (which is an A4 paper):
Output of
driverless ipp://AE8C5A000000.local:631/ipp/printer:I had this same issue with Mint 19.1 (cups-filters 1.20.2-0ubuntu3) and a Canon MG4250. I found a workaround (although it did involve compiling from source).
I believe the root cause is that with version 1.20.x of cups-filters, the
Get-Printer-Attributesrequest includes the “requested-attributes” field, and (rightly or not) this means that the MG4250’s response does NOT contain the “urf-supported” attribute, which used to be there (with cupsfilters 1.19.0).Without this attribute the
driverlessimplementation cannot determine the printer resolution.After modifying the code (cups-filters/utils/driverless.c), to add “urf-supported” to the requested attributes, rebuilding
driverlessand copying it to the cups/lib directory, it’s now possible to add the printer using sytem-config-printer, and printing seems to work.