Linux – How to print from Arch Linux via Wi-Fi to Canon MG6450

arch linuxcanoncupsprinterwifi

I have a Canon MG6450 with Wi-Fi enabled and an up-to-date Arch Linux installation with cnijfilter-mg4200 3.80-1 installed. I can see the printer in print dialogues (sometimes it takes a second to show up, presumably because it's being auto-discovered), I can select it, and I get no error message when clicking OK. However, the printer is completely oblivious to all this, it seems.

I've also tried connecting via USB. Afterwards the printer was not auto-detected by the print dialogue, but it was detected by system-config-printer, and I was able to configure and print with no problems. But it would be very nice to be able to print wirelessly.


It appears some fatal printing errors show up neither in the print dialogue nor in system-config-printer. Both of them simply report printer state as "Idle – Rendering completed". However, after going to the CUPS web interface and clicking the printer I finally got a hint – after each print job is the following message:

"The PPD version (5.2.11) is not compatible with Gutenprint 5.2.12. Please run `/usr/bin/cups-genppdupdate' as administrator."

OK then:

$ sudo /usr/bin/cups-genppdupdate
/etc/cups/ppd/Canon-PIXMA-MG6450.ppd: no valid candidate for replacement.  Skipping
/etc/cups/ppd/Canon-PIXMA-MG6450.ppd: please upgrade this PPD manually
Unable to retrieve PPD file for /etc/cups/ppd/Canon-PIXMA-MG6450.ppd!
Failed to update any PPD files

Now I'm seeing if anywhere has a compatible PPD. Canon's IJ Printer Driver Ver. 4.00 for Linux has PPD files for MG6400 and MG6500. I tried the MG6400 one, cleaned out the printer queue, and tried printing a test page. Now the CUPS web interface has no errors, but system-config-printer reports:

File "/usr/lib/cups/filter/pstocanonij" not available: No such file or directory

Looks like that file is available from cnijfilter-common, which currently can't be built. After following the instructions by c.gerhorst I have installed the package, but now the printer dialogue is complaining that /usr/lib/cups/filter/cmdtocanonij is missing.


There is a /usr/lib/cups/filter/commandtocanon. I've tried replacing cmdtocanonij with commandtocanon in /etc/cups/ppd/Canon-PIXMA-MG6450.ppd and running sudo systemctl daemon-reload and sudo systemctl restart org.cups.cupsd.service. Now I get no error message anywhere, but the print jobs just seem to disappear entirely. The printer shows no sign of receiving them, and the CUPS web interface shows any new jobs as first "processing", then "completed", without any indication that something is black-holing everything.

Best Answer

Is that particular printer IPP-enabled with AirPrint as well? If so, you may be able to use "driverless" printing (even though that possibly won't support all the bells and whistles which you can ring with Gutenprint).

1. Check IPP support:

Just run

ippfind

If you get a return, IPP is supported, and it will tell you the IPP-URI to address the printer.

2. Install the print queue:

Now run

lpadmin -p my_brother -v $IPP_URI -E -m everywhere

the -m everywhere will directly query the printer for details of all the IPP printing features it supports, and auto-generate a PPD for this printer to be used by all 'legacy' applications which don't know about IPP (yet). This way all print clients can use the CUPS queue as they were used to before....


(I am not familiar with Arch Linux -- I'm only aware of all its supporters being proud of its ability to run the "latest and greatest" in the software world. So I think I can assume a rather recent CUPS version for you, which is needed for the above to work -- now, that it's 2018 and three years after you asked your question...)

Related Question