Yesterday, I described how you can use your Raspberry Pi to download and access torrents. Today my parents asked me to help them set up printing via their iPads. They have a rather old HP Deskjet 5940 printer with a simple USB interface.

Raspberry Pi print server

First you need to install CUPS (common unix printing system) for printer access. In my case the required printer drivers were installed automatically (hplip). If you are using a different printer you might have to check which packages you need.

After cups is installed (took about 20 min here), enable remote access to it by editing the file /etc/cups/cupsd.conf in 3 places. Add those lines in the relevant places:

1
2
3
4
5
Listen *:631
Order allow,deny
Allow 10.0.0.*
Order allow,deny
Allow 10.0.0.*

After editing the file and restarting cups with service cups restart you can login to your print server on http://raspberry-pi.local:631. Simply click Administration > Add Printer and follow the steps. If the correct driver package is installed, and the printer is turned on, it should show up on the top of the list.

If your printer installed correctly, it show up in your list of nearby printers, as well as on your iPad and iPhone. It’s not necessary to produce a special avahi-script any more, as with older iOS versions.