Environment
iPrint Appliance
Avahi
Avahi
Situation
When attempting to print from an App which searches for printers using
AirPrint, the message "No AirPrint Printers Found" is returned.
iOS Apps which use AirPrint are:
Note 2: The following iOS Apps are known to work with the Novell iPrint App:
One solution to this problem is to setup what is known as an Avahi reflector. Avahi is the technology that allows iPrint to advertise the iPrint printers via multi-cast DNS, or zeroconf DNS. Since this doesn't traverse routers by default, a solution is required to relay these messages. This can be done at the router level, but is generally not recommended.
TID #7012895 lists other options for accomplishing iPrint advertisement.
iOS Apps which use AirPrint are:
- Camera
- Notes
- Safari
- Chrome
- Dropbox
Note 2: The following iOS Apps are known to work with the Novell iPrint App:
- Adobe Reader
- Attachments in Mail app (except for photos)
One solution to this problem is to setup what is known as an Avahi reflector. Avahi is the technology that allows iPrint to advertise the iPrint printers via multi-cast DNS, or zeroconf DNS. Since this doesn't traverse routers by default, a solution is required to relay these messages. This can be done at the router level, but is generally not recommended.
TID #7012895 lists other options for accomplishing iPrint advertisement.
Resolution
The Avahi daemon has the ability to act as a 'reflector'. While in reflector mode, the Avahi daemon will re-transmit / re-multicast both queries and responses via multiple interfaces. This means you could use any linux based machine to 'bridge' these two multi-cast DNS networks. The advantage of using a reflector over simply forwarding these frames between networks is you could target specifically the wireless network and the network where iPrint resides and only reflect between those two. If this was performed at the routers, each frame would have to be passed through each individual network until it finally made its way to where the iPrint appliance is located.
To enable Avahi reflection:
1. Configure a machine with two interfaces (or configure both VLANs to a single NIC if you are using VLAN)
2. Ensure Avahi is installed ( rpm -qa |grep avahi)
3. Enable reflection
- vi /etc/avahi/avahi-daemon.conf
- uncomment the 'allow-interfaces' line and list the interfaces you intend to use
- allow-interfaces=eth1,eth2
- uncomment 'enable-reflector' and change the value to yes
- enable-reflector=yes
Please ensure no firewall is blocking requests if the reflection doesn't appear to be working.