These instructions cover how to setup a Canon MX870 network connected printer from your Linux computer (Arch Linux in my case) using CUPS (Common Unix Printing System).
Network Printer Address:
Ideally to work well with CUPS you should make sure your MX870 printer has a consistent network IP address. In my case it was easiest to go into my wireless router setup, view the MAC address of the MX870 printer, and then set up the DHCP configuration in the router to always provide the same IP address for the MX870 MAC identifier. I set up the ip address for my printer to always be 192.168.1.60
Turn off and on your MX870 so that it reconnects to the router after the updates above. To confirm what the ip address is you can go to the physical menu buttons on your printer and have it display the network configuration. Press the “Setup” button, then use the scroll wheel to move to the “Device Settings” menu, followed by “LAN settings”, then “Confirm LAN Settings”, then “WLAN setting list”. You should then be able to scroll down and view the “IP address” setting.
Printer Software Installation:
The following commands can be used to install Avahi and CUPS in Arch Linux. Avahi is used to automagically “discover” your printer on the network. CUPS and associated supporting files are used to print to your printer. The most difficult part of this will likely be the installation of the “cups-bjnp” driver because it is located in the Arch User Repository (AUR).
pacman -S avahi systemctl enable avahi-daemon.service systemctl start avahi-daemon.service pacman -S cups ghostscript gsfonts gutenprint systemctl enable org.cups.cupsd.service systemctl start org.cups.cupsd.service
If you are using a gtk-3.0 application (such as firefox) you will also need to install the following package:
pacman -S gtk3-print-backends
Install “cups-bjnp” from the AUR. Instructions and the link to the package are below. Optionally you can use an AUR manager like pacaur if you use AUR software packages frequently.
CUPS Printer Configuration:
Setting up the printer can be accomplished using the CUPS web interface. From your linux computer type the following into a web browser:
- On the top of the subsequent CUPS web page select the “Administration” link.
- Then select “Add Printer”.
- If a dialog prompts for a password type in a username of “root” followed by the root password for your linux computer.
- If everything has gone well your printer will have been discovered and will show up in the list of options for setup. Select the checkbox next to your printer and hit continue. If it doesn’t show up for some reason you can try selecting the “http:” printer access option and type in “bjnp://192.168.1.60” (or whatever IP address you set up for your printer in the earlier step.)
- Your printer should then be setup in CUPS.
- You can then select “Printers” on the top. Select your MX870 printer, and then select the menu drop down option to print a test page to confirm that everything is working.