AirPrint: No Printers Visible on Apple iOS Devices

How to Fix: AirPrint Printers Not Showing on iOS Devices with EveryonePrint Server & Mobile Gateway Setup

Issue:

The EveryonePrint server and EveryonePrint Mobile Gateway have been installed and configured. However, seeing the AirPrint printers announced from an iOS device is impossible.

This article covers two different possible issues depending on installation type:

  • AirPrint on a single LAN
  • AirPrint across multiple subnets

AirPrint on a Single LAN:

In order to discover the EveryonePrint Mobile Gateway and to see available printers on Apple iOS devices, it is required that there are no firewalls or routers blocking the gateway service and printer announcements from the EveryonePrint Mobile Gateway to the iOS devices on UDP port 5353 (Apple Bonjour protocol UDP port 5353 (Multicast DNS)).

It is also required for the service and printer announcements to work, that the iOS devices are on the same WiFi Network as the EveryonePrint Mobile Gateway.

Troubleshooting: Correct announcements of Gateway and printers may be checked using a "Bonjour Browser" tool available for your OS platform.

 
Important Note: 

Prior to EveryonePrint Mobile Gateway 4.1.0, announcements are done with unsecured _ipp._tcp. protocol.
115004181705-AirPrint-No-printers-visible-on-Apple-iOS-devices_01

Since EveryonePrint Mobile Gateway 4.1.0.1, announcements are done using secured _ipps._tcp. protocol, which has been the recommended and preferred protocol since iOS 7. This is not a problem as the iOS device will simply be forced to open a secured connection.
115004181705-AirPrint-No-printers-visible-on-Apple-iOS-devices_02

AirPrint Across Multiple Subnets:

In a multi-subnet network environment, the EveryonePrint Mobile Gateway can be setup to make AirPrint announcements on multiple NICs.

If a router (Cisco or equivalent) is used to route AirPrint mDNS traffic across multiple subnets, make sure to amend its setup accordingly, so that iOS devices see the AirPrint devices on each relevant subnet.

Issue:

When the EveryonePrint Mobile Gateway is fitted with multiple NICs you can select which one(s) will be used to announce devices with the mDNS protocol. However, one can notice that AirPrint announcements are not done properly from the selected source NIC. This is due to a bug in the JRE that prevents announcements to select the correct source NIC.
See:
https://bugs.openjdk.java.net/browse/JDK-6658085
http://stackoverflow.com/questions/30997298/why-is-multicastsocket-setnetworkinterface-much-slower-using-java-8-runtime

Workaround:

It is necessary to leave the NIC setup with IPV6 enabled even if this protocol is not effectively used on the LAN; then, AirPrint announcements are properly done on the selected NICs.
115004181705-AirPrint-No-printers-visible-on-Apple-iOS-devices_03

WiFi Routers:

In some network environments, a Wireless Controller needs to be set up so that IPPS traffic is republished around the network. Note that there might be different settings for iOS devices than for Mac OSX platforms.

Check with the WiFi Controller provider for detailed information.