Add AirPrint Support To Your Raspberry Pi Print Server

Christian Cawley 19-11-2014

Do you want to be able to print from your smartphone or tablet to your old-fashioned, non-wireless printer? To keep your printer in a different room, perhaps even in a cupboard or shed (if it’s noisy), safe in the knowledge that the print job will be waiting for you when you go to collect it?


With a Raspberry Pi, you can.

Get Your Raspberry Pi Print Server Ready First

It used to be the case that the only way to turn an old-style, non-wireless printer into a modern, wireless printer was to either buy a potentially expensive wireless card for the device (if compatible) or connect it to a wireless-enabled PC How To Make A Printer Wireless Read More . This is more or less still the case; the only difference is that the PC just got a lot smaller, and is now a Raspberry Pi.

If you followed the instructions provided in our previous guide How to Make Your Own Wireless Printer With a Raspberry Pi Want to turn an old printer into a wireless printer for your network? Here's how to make any printer wireless with a Raspberry Pi. Read More , you should know how to  setup your Raspberry Pi print server using CUPS and Samba. Hopefully, you’ve also made sure that the correct printer driver is selected, as well as confirming that your printer will respond to print jobs.

By now, you’re up to speed. The next task is to configure your Raspberry Pi print server to print from an iPad, iPhone or Android device.

Devices You Can Print From

Our guide for setting up the Raspberry Pi as a print server was mainly intended for Windows PCs (although connecting to a Raspberry Pi-connected printer from Linux and Mac OS X is just as simple).



However, by adding support for AirPrint and other wireless printing protocols, we can print from iPads, iPhones, Android devices and more.

Sending print jobs from your mobile device is perhaps the most liberating and exciting new experience made possible by wireless printing, and by using the Raspberry Pi you get to learn a little about how a print server fits into the system.

Stop Your Raspberry Pi Wi-Fi Idling

One thing you should do before proceeding is to stop the Pi’s network card going into idle mode, which will stop you being able to print. Without attaching a keyboard (and we want the Pi print server to be accessible via SSH) the system cannot be woken up.


This means that your computer, tablet or phone will be unable to connect to the printer!

To work around this, we can add the following script to block the Pi from going into standby.

Enter the following command in the terminal to create and edit a new text file:

sudo nano /etc/modprobe.d/8192cu.conf

and add the following to that file:

# Disable power saving
 options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1

Give your Pi a chance to run these changes by rebooting:

sudo reboot.

Don’t be concerned that we’ve disabled power management – the Raspberry Pi uses far less power than any of the other devices involved in this setup. It’s entirely safe for your Pi to be left switched on; this is common in media centre setups with RaspBMC How To Make Your Raspberry Pi Into a Home Theater System Four weeks on and I’ve been playing with my Raspberry Pi in various ways, from using it to browse the web and standard day-to-day computing tasks to playing around with the various configurations that are... Read More .

What You Need To Know About Adding AirPrint Support

Once the problem with your wireless dongle timing out is fixed, you can start adding the tools to make it possible to print from your mobile device.

However, it isn’t as complicated as some sites and tutorials would have you believe. Recently, the component software that makes printing through a Raspberry Pi wireless print server from an iPad or iPhone has been incorporated into CUPS, Samba and Raspbian.


The result is that it is very simple to print from your iOS device once a single application has been added.

sudo apt-get install avahi-discover

That’s all. When installation is complete, you should be ready to start printing!

Print From Your iPad To Your Raspberry Pi Print Server

On an iOS device (tested on iOS7), open the document or webpage and select the Share > Print option.


In the next screen, find the printer in the list of available devices (if you left the default name in place in the previous guide, it should have “raspberry pi” in the name) and select it.

All that is left to do is send the print job and wait for the output. Depending on the complexity of the file (it might be a long document, or a photo) you may have to wait a little for the print job to complete.

Wait: You Can Print From Android Too!

In case you were wondering why we were focusing on iOS devices, you’ll be pleased to know that Android devices can also connect to Raspberry Pi wireless print servers (sadly Windows Phones cannot at this stage)


Many printing apps exist for Android, but most of these are all about Internet printing. If you’re looking for something that is designed to provide a simple link between your Android handset and the printer you have connected to your Raspberry Pi wireless print server, the PrintBot app (limited free evaluation version) is ideal. If you’re happy, you can upgrade to the full version ($4.49)  – sadly there doesn’t seem to be a 100% free wireless print app for Android.

After installation, all you need to do is confirm a network connection to the device, select the printer driver from the list (which can take some time if you have a HP device!) and print a test page to confirm all is working. When you want to print a document or image, tap and select PrintBot as the app to open it with, check the settings and finally click Print.

Raspberry Pi Print Server Zen

We’ve given you two guides now on using the Raspberry Pi as a wireless print server. The implications of this arrangement are clear – you can now finally make your old-but-still-working printer a key component of your wireless, multi-device life once again.

Have you set your Raspberry Pi up as a print server? Does the simple setup of AirPrint compatibility or the ability to print from your Android device make this a project you’re looking forward to trying?

Share your thoughts in the comments!

Image Credits: Solarbotics Via Flickr

Related topics: Printing, Raspberry Pi.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Fredrik
    January 10, 2019 at 5:21 pm

    This works really fine for me, but i still have a little problem.

    In my home i have the following:
    1) Raspberry Pi 3 (with both wifi and bluetooth built in) connected to step 4 with an ethernet cable so it gets internet.
    2) USB printer (Canon MG5150) connected to step 1 with the USB cable (No network printer here, i am going old school here =D )
    3) Mine, my friends & my familys different Android/Apple-phones + tablets & Apple/Windows/Linux computers
    4) an Apple Airport Extreme (Router) with RJ45 connected windows PC, 2 different wifi networks = my primary network (for my familys devices) and lastly a guest network (for my friends devices).

    ...and what i want:
    EVERYONE who comes to my home to be able to print out anything without example reconnect the USB cable, switching wifi or stuff like that.
    P2P printing to the wifi or bluetooth on the RPI, maybe? how do i set it up?

    What i not want to do is:
    1) buy anything else to make this work

    I have been looking around the internet and asked some friends (that know a little about networking and printers) and i have not found anything that solves my problem. Can you help me with this?

  2. Sven
    January 24, 2018 at 11:04 pm

    Hi, Great tutorial! Worked for me like a charm, Windows and iOs. You know if a Pi Zero W has sufficient power to run as a print server?

  3. Andy
    January 20, 2017 at 6:20 am

    I just used this guide to set up my grandather's Fuji-Xerox CM305df with a Raspberry Pi 3 model B.
    Last year my grandfather bought an iPad Pro to replace his aging Dell notebook. Unfortunately the printer I had bought him only a year previously although a network printer had no Airprint capability.

    For the most part this guide worked and my grandfather can now print from his iPad. However there is one issue that I've been tearing my hair out trying to solve.

    My grandmother makes jams and relishes which she sells in her shop and my mum has been designing labels for her concoctions in MS Word and printing them and posting them to her for years. I thought that now my grandfather had a printer my mum could just email the Word documents to him and he could print them out himself on his iPad.

    Unfortunately the documents do no print out correctly. Somewhere along the way from the iPad to the printer the document which is supposed to be an A4 sheet of 21 63.5mm x 38.1mm labels shrinks by a centimetre or so and the printout does not line up with the stickers on the A4 sheet.

    Initially I thought the printer margins were off since the top of the printout started further down the page when printing from the iPad than when printing from a Windows laptop. I tried altering the Word document so that the margins were narrower at the left and the top. This did result in the printout starting in pretty much the right place in terms of the top left corner of the document. However the labels still didn't line up.

    It was when I held up a correctly printed label sheet and an incorrectly printed one to the light one on top of the other that I saw individual elements such as the font and the picture in the centre of the label were slightly smaller. For example the picture in the centre of the label was a couple of millimetres shorter in length and height.

    My best guess is some kind of breakdown in communication over paper size between the iPad, CUPS and the printer. Where something thinks it needs to shrink the document to fit a smaller space without being told to do so.

    • Aleks
      February 9, 2017 at 2:46 pm

      As a workaround try to save as PDF from Word and then send that PDF to iPad for printing. Hope this helps.

  4. Deek
    December 23, 2016 at 1:54 pm

    This guide (and the first regarding wireless print servers) has allowed me to use my old Sony dye-sub printer once again! It's been unsupported by Mac OS and Windows for many years but I was able to build a driver for Raspbian from source and these guides to set it up as a wireless photo printer! Thank you!

  5. Anonymous
    October 11, 2015 at 1:43 pm

    There is a free app available for android 'let's print droid' which is free and useful..

    • Christian Cawley
      October 22, 2015 at 7:18 pm

      Useful tip, I'll look into it.

  6. Charles Nicholson
    May 31, 2015 at 4:23 am

    This post and the one about setting up the server were great. May I make one small suggestion for people attempting to get this to work. After the last step restart cups one more time using the sudo service cups restart command or reboot. I was not getting any airprint options until I did this. Thanks again for the great articles.

  7. Helladog
    March 8, 2015 at 9:22 pm

    I'll try that, but I have no problem seeing the printer and it does start to warm up when I initiate a print job. It just refuses to print.

    With iOS and osx the computer doesn't try to install drivers, but Windows does for some reason, even though the pi is handling the driver, which makes me wonder if that is the problem.

  8. Helladog
    March 4, 2015 at 11:33 pm

    ot my Macbook, and my iOS devices working on the server, but Windows 8.1 won't work. Would this have anything to do with Windows installing the driver?

    • Christian Cawley
      March 6, 2015 at 1:57 pm

      Possible, but not sure why it would. Have you tried reinstalling the printer on Windows?

    • Helladog
      March 6, 2015 at 3:19 pm

      I've tried many things to no avail. The printer warms up but doesn't print under 8.1. I'll keep trying.. At least it works with the iPhone.

    • Christian Cawley
      March 8, 2015 at 1:44 pm

      Odd. The MS Word screenshot above was taken in Windows 8.1, so I don't think it's down to the OS. Does it work with your firewall disabled?

  9. Hans
    January 21, 2015 at 3:13 pm

    Good article. But make sure that the printer is being "shared" in CUPS (this is NOT the default setting). And reboot the pi to restart all the services.

  10. Anreas
    December 6, 2014 at 5:16 pm

    I followd your guide to make my printer be found on a computer. This works just fine.
    But making it airprint, is not working..
    Not much to get wrong, since it is just one line of code, but I do not get it to work.
    Anyway I can check if I lack any package etc?