Tuesday, January 03, 2012

How to use your Home Server as an AirPrint server for only $10

As I move more and more of my computing and data to the Cloud with services like SkyDrive.  I am reducing the amount of computing power I have in my house.  I have an iPad (v1), a Laptop, and of course my Windows Home Server.

As I’ve mentioned before, I’m looking for more ways to take advantage of my low-powered Home Server to do more for me as an *always* on device.

Over the holiday’s we had a few visitors, which of course means printing boarding passes prior to leaving for the airport.  It was frustrating to have to take out the laptop when the iPad is just right there.  But without a compatible AirPrint printer, you can’t print from the iPad….

Or can’t you?FingerPrint

I found an application for Windows (and Mac OS) that installs on your computer that shares almost any printer connected to the computer, to the AirPrint service. 

There was an old version that doesn’t work with iOS5 that is free.  But obviously, I have iOS5 on all my devices, so that wasn’t an option.  I’m also not a big fan of Jail-Breaking (I guess I know too much about security to allow a hacker full access to my device).

This application, called FingerPrint by Collobos Software, will share out any connected printer, as well as DropBox locations to the AirPrint service.  I started with the trial to make sure it worked first.

To get it set up, I downloaded the FingerPrint installer, copied it to the desktop of my Home Server and installed it. Then of course ran FingerPrint on the server.  I also had to add my network printer to a printer on my Home Server, just by going to Control Panel and adding a printer as I normally would on any Windows machine.

However, it didn’t initially work.  I had to make two changes to the configuration for it to work, probably specific to my network.  I’ll share them here incase you have the same problems.

Enabling Multicast on my router

First, I discovered that my DLink DIR-655 router wasn’t allowing Apple’s discovery service, Bonjour.  This is not always the case with routers.  But I discovered that I can enable MultiCast, on the router, which seemed to allow it.  I did this on the DIR-655 by going to Advanced, then Advanced Network, and at the bottom, selecting to Enable Multicast Streams:

MultiCast Streams

This required a router reboot, which took down my network for 30 seconds, and then it took another approximately 5 minutes for my iPad to discover the services running.

This enabled me to see the list of printers connect to my Home Server

Opening an Additional Port on the server

Per Collobos support page, I had to manually open the port 6631 on my Home Server to allow AirPrint to send the document to FingerPrint.  To do this I simply:

  1. Logged into the Home Server
  2. Clicked Start, then Run, and ran the wf.msc firewall configuration utility
  3. I clicked on New Rule
  4. In the wizard that opened, I selected Port, and clicked Next.
  5. The port is a TCP port which was the default, and I typed in the specific port of 6631
  6. I also chose to Allow the connection even if it’s unsecure (this might not be available in SBS 2011, in which case you’d also need to make a group policy change)
  7. On where does this rule apply, I ensured that it only apply to Private networks, meaning that I unchecked Domain (which doesn’t apply to WHS anyways) and Public. (Note for SBS 2011, you’d have to select Domain)
  8. Finally, I gave it a friendly name.  I used FingerPrint Port 6631 so I could easily find it in the list again if I ever wanted to remove FingerPrint, and clicked Finish.

At this point, the printing just started! woo hoo!  Of course I can play around with this for 7 days on trial, then I’ll have to get a license key for FingerPrint.

Additional Bonus!

As an additional bonus, you can manage all the documents printing from the Home Server’s print queue.  So I think it’s worth the $10 to be able to print directly from the iPad.  Plus Collobos has support if you ever get stuck.

As a final note, I have noticed that you don’t want your iPad to go to sleep before the print has happened, and it’s not exactly the fastest thing/

[Note: This is untested on Small Business Server 2011, but I don’t see why it wouldn’t work, changes are noted above, leave a comment if you try and have modifications]


tinkererguy said...

Excellent information about FingerPrints! I hadn't realized that some routers would need tweaking back when I wrote something up about FingerPrinters (on Windows Home Server) over here, where you'll see I had great luck with networked Brother printers and a USB connected Canon 4x6 photo printer:

deebr said...

This is brilliant, just what I was looking for and it worked first time. Thanks.

solar panels for your home said...

Now this is amazing! Finally an alternative way to Airprint.

hjack said...

Works perfectly. Brilliant! Thanks.

Unknown said...

This worked great to enable me to print to my Canon MX860 network printer with fingerprint installed on my win xp machine. I especially liked and needed the D-link router multicast tip. Then I upgraded my rig to a win 7 machine with some new hardware and for the life of me can not get it to work.

Sean Daniel said...

Hi Dave,

My guess is you've somehow managed to add some authentication to who can print. I'd suggest looking in that direction. Otherwise I have no idea, it works fine on my Home Server, which is hte same core as Win7

Socke said...

Since this is still pretty high on google, I searched for Airprint Servers on Android for an Olimex A20 board:), I like to show a free variant which works up to iOS 6 and Stephan promised an update as soon as he has an iOS 7 device to test it.


digital signature said...

Hi there! glad to drop by your page and found these very interesting and informative stuff. Thanks for sharing, keep it up!