Canon Pixma ip8720

Canon Pixma ip8720

Many months ago I gifted to my wife a Canon Pixma ip8720 printer, I bought it because I read a lot of reviews that exalted it as cool pro-sumer printer with a great balance about price vs quality.

It was also intended to work mainly on my wife's Win-Workstation but it ended up that I was in charge to print everything for the rest of my life. 😅

However for lacking of time we haven't used it very often, I used to to some tests with Debian but haven't had time to install it on POP!

When I turned on the printer, which is a wifi printer, Gnome was able to recognize the printer over the network but it was unable to install the driver, while in Debian was quite simple even with XFCE as DE (however recent tests showed me almost the same issues of Ubuntu).

Then I thought that was for the lacking of the drivers and I download the proper drivers from the Canon website. I installed the deb packages manually but then I did also used the installer provided by the vendors.

As a matter of fact even with the drivers installed I was unable to apply any changes on the printer. I checked then directly on the CUPS server localhost:631 and I saw some permits restriction.

First I thought that maybe Gnome3 uses some driverless feature but afterward I decided to check out the groups where I belong and...

$ groups

[myUser] adm sudo  libvirt

...I see that the lpadmin group was missing (actually many more). So far I know you need to be part of this group if you want handle the printers, and I was pretty surprised it wasn't there by default (why?). Hence I just added my user to this group and restarted the computer because I wasn't sure if I had to restart just CUPS or GDM.

Adding a user to a group is pretty easy with the CLI

suddo addgroup [YOUR-USER] lpadmin

Afterward I was able to find the proper PPD file and to install the printer. I also printed a bunch of nice pictures 4x6'' and actually the quality is slightly superior from the one you can get from the Pharmacies printers, plus you print at home...

Installation part 1

I already briefly described the rough installation, but I want to add some details more. The driver can be download from this LINK, just be careful to select just linux. It will download a zip file with both 32 and 64 bit version plus an handy script that will install the driver for you system.

Then I unzipped the archive and delete the i386 packages and opened a terminal inside the unzipped folder and with this command I installed the drivers:

sudo dpkg -i *.deb

Afterward I juggling with the setup to install the proper PPD file which is in: /usr/share/cups/models/ip8700.ppd

For some unspecified reasons It recognized my printer as local rather than on the network and the inks levels was properly available from the system-config-printer.

Once the driver were installed I could print. I printed from GIMP and everything was fine, the settings are almost all there and, as I already written, I got also the inks levels.

Installation part 2

Then I uninstalled everything and I tried the script available, which is pretty smooth, you can run it only through CLI it requires the administration password:

[sudo] password for gnuserland: 

Canon Inkjet Printer Driver
Version 4.10
Copyright CANON INC. 2001-2014

Command executed = sudo dpkg -iG ./packages/cnijfilter-common_4.10-1_amd64.deb
Selecting previously unselected package cnijfilter-common.
(Reading database ... 255530 files and directories currently installed.)
Preparing to unpack .../cnijfilter-common_4.10-1_amd64.deb ...
Unpacking cnijfilter-common (4.10-1) ...
Setting up cnijfilter-common (4.10-1) ...
Processing triggers for libc-bin (2.29-0ubuntu2) ...
Command executed = sudo dpkg -iG ./packages/cnijfilter-ip8700series_4.10-1_amd64.deb
Selecting previously unselected package cnijfilter-ip8700series.
(Reading database ... 255561 files and directories currently installed.)
Preparing to unpack .../cnijfilter-ip8700series_4.10-1_amd64.deb ...
Unpacking cnijfilter-ip8700series (4.10-1) ...
Setting up cnijfilter-ip8700series (4.10-1) ...
Processing triggers for libc-bin (2.29-0ubuntu2) ...

#  Register Printer
Next, register the printer to the computer.
Connect the printer, and then turn on the power.
To use the printer on the network, connect the printer to the network.
When the printer is ready, press the Enter key.

#  Connection Method
 1) USB
 2) Network
Select the connection method.[1]2

Searching for printers...

#  Select Printer
Select the printer.
If the printer you want to use is not listed, select Update [0] to search again.
To cancel the process, enter [Q].
 0) Update
Target printers detected (MAC address  IP address)
1) Canon iP8700 series (F4-A9-97-58-6D-7C
Currently selected:[1] Canon iP8700 series (F4-A9-97-58-6D-7C
Enter the value. [1]1

#  Register Printer
Enter the printer name.[IP8700LAN]      
Command executed = sudo /usr/sbin/lpadmin -p IP8700LAN -P /usr/share/cups/model/canonip8700.ppd -v cnijbe://Canon/?port=net&serial=F4-A9-97-58-6D-7C -E

#  Set as Default Printer
Do you want to set this printer as the default printer?
Enter [y] for Yes or [n] for No.[y]n 

Installation has been completed.
Printer Name : IP8700LAN
Select this printer name for printing.

Everything was smooth with a giant BUT... Once you install it with this scripts it registers the printer as network printer and you can't install it anymore as local printer. Unfortunately through the network you aren't able to get the information about the inks level, and this is pretty annoying.

Hence I had to find out how to de-registers the printer and restore the previous status.

Remove the printer

That was been hard, after several hours of trials, and research on internet, eventually I found an official manual and the command to uninstall and de-register the printer:

sudo --uninstall

The installer was also provided with a bunch of tools: cnijnetprn cngpijmnt cngpij ; just the former works, the other two, in order: a status monitor; and a GUI driver; get stuck without any output or insight to understand why don't run properly.

The only command usable shows if the printer is available or not.

cnijnetprn --search auto
network cnijnet:/F4-A9-97-58-6D-7C "Canon iP8700 series" "Canon-iP8700-series_F4-A9-97-58-6D-7C"

As a matter of fact I removed the drivers and reinstalled cups, and I tried to recreate my first time installation.

No more local installation

I did at least 50 proofs through CUPS and system-config-printer and I was never be able to reproduce the first time installation. All the printers I created read all the features but the inks levels, and the tools you get along the drivers on POP! 19.04 don't works. Having the inks levels available is important.

I have to say that only the official PPD file displays the proper size formats for this printer, the others I tested out have a lot of sizes that don't fit for this printer.

While I am still trying to figure out how get the ink leves again, I temporarily created a virtual machine with a W10 to perform at least the regular maintenance...

Virtual Printer Server

I tried several combinations to make the Win drivers working with Wine, unfortunately software that need to interface with the kernel don't work fine with it...

Thus I decided to download windows and install it on a virtual machine (VirtManager). As a matter of fact you can download an official copy and install it even if you don't have a key product, and this is totally legal, so far it works I will use it to have access within Linux of all the functions I need for the printer maintenance.

To go more in depth about it:

So far I saw of those 16GB of storage twelve are hold by just Windows, and since the moment I will not install anything else but printer drivers, I think the virtual machine should work just fine.

Final consideration

It is a shame using a VM just to use properly a printer, I had better to remember how I setup the printer the first time... But let me say also the Gnome Shell Printer Management seems pretty useless and counter-intuitive; and I don't see the reason to have a duplicated interface which creates so much confusion while the good old system-config-printer, at least, has a reasonable interface, and eventually you have to use it anyway. Another Gnome3 mistery...

It is also a shame the utilities don't work at all. It is my first time with a Canon printer on Linux, and while I see that both HP and Epson have been having a good compatibility with the Linux kernel so far, I can't say the same for this first attempt with a Canon printer. When I did my first, absolute, test with Debian Buster still in freeze the printer was recognized easily without effort however when I tried to reinstall it on Debian testing (Bullseye) I got the same issues of Ubuntu, hence there is something that must be changed in the kernel as well in CUPS that creates these issues that prevent to get the printer fully working.

I do not discourage to buy this printer since the moment you can get several workarounds to have full control on it; and the printer can get a working PPD file even without installing the official one. The printer works, the mess is — as usual — in Gnome 3. Anyway I will continue to looking for a solution to make it working at 100%.

#PostInstallation #PopOS #Gnome3 #LinuxDesktop #OpenSource #Canon #PixmaIP8700 #Printers #pdf #gimp #svg #graphic #design #Linux #FreeSoftware #GNU

if you want comment this article add me on Diaspora, Friendica or Mastodon: