Using a Canon printer with Artix Linux

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

I got quite stuck.

First, the problems:

  • There is no Linux driver for Canon MG6730

  • Not even with a USB connection

  • Although Linux drivers for the supposedly compatible MG6500 series were provided, they were in deb and rpm packages, making installation difficult for a casual user.

So, I tried everything I could.

・Does the Canon MG6730 even work on Linux?

As for operation reports, I saw someone on Github providing a patch file to make the "automatic power-on function" work on Linux, stating that it started just by installing the IJ Printer Driver.

Thinking this was possible, I embarked on a journey to find a driver.

So, I learned about the existence of a package called cnijfilter, though I forget if I found it on Reddit or in an Arch Linux thread.

https://aur.archlinux.org/packages/cnijfilter-common

git clone https://aur.archlinux.org/cnijfilter-common.git
cd cnijfilter
makepkg -si

However, looking at the required model names, I realized the printer was too old, so after some time, I learned about the existence of something called cnijfilter2.

https://aur.archlinux.org/packages/cnijfilter2

git clone https://aur.archlinux.org/cnijfilter2.git
cd cnijfilter2
makepkg -si

But it didn't work.

Just to be sure, is the printer even discoverable on the network? To check:

ip a s

Hmm, it clearly shows "MG6700 Series", so there's no problem there.

After this, I also tried hard to install the rpm and deb packages for MG6500, but none of them worked, even though I thought it should be possible since all the necessary files were there.

In the unclear darkness, wondering if it was a driver issue, a network issue, or a CUPS issue, I looked at the Arch Wiki...

Printer-specific problems

https://wiki.archlinux.org/title/CUPS/Printer-specific_problems

“USB over IP (BJNP)”

Oh? Honestly, I had already tested with USB and it didn't work, so I decided to try installing this as another USB test. Looking at it, I saw:

“Some Canon printers communicate over the network using Canon's proprietary USB over IP BJNP protocol. This has a CUPS backend and is available as cups-bjnp in the AUR.”

Thinking, "So there's such a pattern," I attempted to install it.

https://aur.archlinux.org/packages/cups-bjnp

git clone https://aur.archlinux.org/cups-bjnp.git
cd cups-bjnp
makepkg -si

Then, I entered the newly added MG6700 series on the network, and although the model number was different, I selected the MG6600 driver and tested it...

It worked!

Ah, I'm tired. But it was fun.

If it were Windows, it would be over in an instant. The fact that it took effort just shows how much easier things have been until now, so it's a good thing.

And the battery life feels quite good. In actual tests, it's about 30-40 minutes longer than Windows, so the battery performance is about 20% better.

https://youtu.be/V4M2FwbZ8HQ

Related Posts