Skip to main content
4 of 6
Improved formatting (matches source article closer, easier to read)

So I actually managed to get this working. The instructions here helped a bunch: http://redwallaus.com/2013/04/04/airprint-with-raspberry-pi/

Printing is very slow, but it works without a hitch!

EDIT

Per piers7's comments, I have pasted the content of the article into this post.

##Prerequisites

For this guide I will assume that you have already setup your Pi with Raspbian.

  • Putty
  • Filezilla
  • MP620 Canon Printer (Thats what im using)

##Download

  • download bjnp files

Install

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install avahi-daemon avahi-discover libnss-mdns cups cups-pdf gutenprint pycups avahi python2
sudo apt-get install cups
sudo apt-get install python-cups
sudo apt-get install avahi-daemon
sudo usermod -aG lpadmin pi
sudo /etc/init.d/cups start
sudo /etc/init.d/avahi-daemon start
sudo nano /etc/cups/cupsd.conf

Now edit the config file by commenting out the below line with a # and add Port 631 to the line below

#Listen localhost:631
Port 631

Under # Restrict access.. add Allow @Local as below

# Restrict access to the server...
Order allow,deny
Allow @Local

And add Allow @Local again under the following headings

# Restrict access to the server...
# Restrict access to the admin pages... 
# Restrict access to configuration files...

Restart cups: sudo /etc/init.d/cups restart

Copy the downloaded bjnp files to the Pi using filezilla

sudo apt-get install libcups2 libcups2-dev
tar zxf cups-bjnp-1.2.1.tar.gz
cd cups-bjnp-1.2.1/
./configure –prefix=/usr
make
sudo make install
sudo mkdir /opt/airprint
cd /opt/airprint
sudo wget -O airprint-generate.py –no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py
sudo chmod 755 airprint-generate.py
sudo ./airprint-generate.py -d /etc/avahi/services
sudo reboot

Type https://XXX.XXX.X.X:631/admin into your browser and enter.

Select add printer

Follow the prompts to add your printer for example a mp620’s ip might be bjnp://XXX.XXX.X.XX:8611

JMarsch
  • 201
  • 1
  • 2
  • 7