about me about me
photography photography
software projects software projects
contact me contact me

I spent around an hour piecing information together about how to install this printer on Arch. It seems Canon’s support for this device is near non-existant. Their newer devices seem to be better supported. I recently installed a PIXMA 5350 on my parents Ubuntu 12.04 desktop within five minutes. Installing this older model on Arch Linux wasn’t as straightforward.

I have my MP620 set up on my WiFi network, these instructions are for pre-configured printers that can be seen on your LAN.

To start, make sure you have CUPS (common unix printing system) package installed, and avahi for network support. To check if you have these packages installed, run the following command:

$ pacman -Qs cups

You should hopefully see something similar to:

local/cups 1.6.1-6
    The CUPS Printing System - daemon package

Issue the same command for avahi and system-config-printer.

If these packages are not installed, run (-Syy command is optional and updates your package lists):

$ sudo pacman -Syy
$ sudo pacman -S cups avahi system-config-printer

Once those packages are installed, you’ll also need to add BJNP (Canon’s custom protocol) support for CUPS, there is a package for this called cups-bjnp in the Arch user repository (AUR).

Download the tarball, extract and install it (note version and architecture may vary, my system is x86_64):

$ tar xvf cups-bjnp.tar.gz && cd cups-bjnp
$ makepkg -s
$ sudo pacman -U cups-bjnp-1.2-1-x86_64.pkg.tar.xz

You install all AUR packages the same way, so refer to these commands, substituting the package name when you need to install other AUR packages.

Next download and install Canon MP610/MP620/MP630 drivers from the AUR (you might find you need to install lib32-popt first from the AUR if your system is x86_64):

$ tar xvf cnijfilter-mp620.tar.gz && cd cnijfilter-mp620
$ makepkg -s
$ sudo pacman -U cnijfilter-mp620-3.00-4-x86_64.pkg.tar.xz

Once installed, you need to make sure CUPS starts automatically on boot. Usually you’d do this via:

$ sudo systemctl enable cups.service

You can try this, it didn’t work for me, so I had to manually symlink the service (found from this Arch forum thread):

$ sudo ln -s /usr/lib/systemd/system/cups.service \

Restart your computer. While it reboots, you can find the IP address of your MP620 by opening the top flap and using the wheel to select:

Settings – Device Settings – LAN Settings – Wireless LAN setting list. Scroll down using the wheel until you see ‘IP address’. Note down the IP as you’ll need this to add your printer.

When you’re logged back in, open Print Settings. I run Xfce, so I found this by clicking the Application MenuSystemPrint Settings. Alternatively you can open it by running:

$ system-config-printer

Click the ‘+’ button and enter your root password. Next in the field labelled ‘Enter device URI’ enter: bjnp://[printer-ip]:8611 then click ‘Forward’.

Add printer dialog

If your IP address is correct you should complete the add printer wizard and print a test page.

Printer settings window

Happy printing!


Menno // 20.Aug.2013 // 16:29

Thanks, man.

I was having trouble with a PIXMA MX515. I adjusted the instructions a bit, and this worked.

João André // 08.Dec.2013 // 21:57

Hi, thanks for the tutorial. However, I was wondering if there was a way of setting up a MP620 in a Wi-fi network in Arch Linux or Ubuntu. Right now I don’t have any Windows machine on my network and need to configure the printer, but the Canon drivers only exist for Windows and Mac.

Jon // 15.May.2014 // 18:03


I followed the above instructions. Everything seems to go as planned, except, the printer just spits our blank pages when I try to print anything. Any ideas?


this post's tags