Testing for xPrintServer Bonjour Printer Advertisement

How can I test that Bonjour printer advertisments are working on my network?


Summary:  

On rare occasions, we come across scenarios where a user's iOS device is unable to see any available printers, even when the xPrintServer has found and successfully provisioned printers on the network.  This FAQ will guide a user through testing for Bonjour printer request and advertisement messaging on their network.
  
While there are a number things that can cause iOS devices to not find any available printers, this guide applies to situations where iOS does not see any available printers ('No AirPrint Printers Found') and:

  • the xPrintServer clearly has printers discovered and provisioned in the printer list
  • the xPrintServer and the iOS devices are connected to the same WiFi router/AP and on the same IP subnet
  • the WiFi router/Wireless Access Point already has multicast/UPnP enabled, or has none of these configuration options available  

A test is needed to find out if the Bonjour printer request and advertisement messages  are successfully making it from the wireless side of the WiFi router/AP to the wired side of the WiFi router/AP.

To go straight to the troubleshooting steps Click Here.


Background:

For more detail and understanding of the issues addressed by this test, read on:  

For network equipment that seems to be blocking Bonjour protocol across it  (whether it's a wired or wireless router,  managed switch, or Wireless AP), we can test Bonjour printer requests and printer advertisement replies on the same network segment as the xPrintServer.

'Same Network Segment' is defined as the same connection medium and same IP subnet (eg. Same IP subnet physically connected to the same wired Ethernet switch).  In contrast, an iOS device connected wirelessly to a WiFi AP (Access Point) is not on the same network segment as the xPrintServer (which is on the wired physical segment of the same IP subnet).   

A Mac or PC running Bonjour Print Client services mimics the printer request message that an iOS device generates when you click Print>Select Printer in an iOS app.  

Bonjour protocol is a subscription to multicast IP address 224.0.0.251, through UDP port 5353.  The multicast IP acts like a virtual message board host.  When you click on Print>Select Printer on the iOS device, it sends a Bonjour print request message to the multicast address and is 'posted' there like a message board.  

Any IP host that communicates via Bonjour subscribes to that 'message board'.  The xPrintServer responds to the printer request message with the printer list reply.  The printer list reply message from the xPrintServer gets posted on this virtual message board for iOS devices to see.  

This is why it is important for routers, managed switches, and other similar networking equipment to allow Bonjour multicast across their routes in order for iOS devices to successfully request and receive printer advertisements from the xPrintServer.


The hypothesis is that this mechanism is somehow being blocked by certain network equipment on the network.  
To test this hypothesis, we place a Mac OS machine or PC running Bonjour Print Client services on the same network segment as the xPrintServer to bypass the suspect network equipment.  

This may mean having to place the Mac/PC and the xPrintServer on a separate generic, non-managed/unintelligent Ethernet switch or hub, isolating it from the suspect network equipment.  Remember that the xPrintServer will still need an IP address from a DHCP server before it can communicate on the network.  The target printer(s) need not be on the same isolated switch or hub as this is not the scope of the test.

The Mac OS and Bonjour Print Client services' printer setup wizard generates a printer request message just like iOS does when it searches for available printers when you click Print>Select Printers from an iOS app.  This time, the message is generated on the same side of the network as the xPrintServer.  

If the search turns up nothing, then the issue is with the xPrintServer.  

If the search receives a list of printers consistent with the contents of the xPrintServer's discovered/provisioned printer list, then the xPrintServer is working fine, and the issue is likely to be with the suspect network equipment.


The recommended test procedures are detailed below:

A. Using a PC with Bonjour Print Client Installed

For this test, install the Bonjour Print Client on your Windows PC.  Download Bonjour Print Client from the following link -
http://support.apple.com/kb/dl999

Connect both the xPrintServer and your PC to a generic non-managed/non-intelligent Ethernet switch.  Because the xPrintServer needs an IP address via DHCP in order to work, you may connect the generic Ethernet switch to one of the Ethernet ports of either your Wireless Access Point/WiFi router.

Download and install Bonjour Print Client:

Image
Fig 1.  Bonjour Print Client successfully installed

Locate the Bonjour Print Client Wizard on the Windows Start Menu.  Launch it:

Image
Fig 2. Bonjour Print Client Wizard on the Windows Start Menu

The Bonjour Print Client will generate a printer search broadcast for all AirPrint printers.  AirPrint printers communicate over Bonjour and will reply to the request, generating the list of available printers.  Find the xPrintServer's messages in the list.  They will appear as <Printer Make and Model - xPrintServer [xPrintServer:MAC:Address]> or some variation of, similar to the illustration below:

 Image
Fig 3. Bonjour Printer Wizard Printer Request Results


B. Using a Mac
For this test, connect both the xPrintServer and your Mac-mini via wired Ethernet CAT5 patch cable to a generic, non-managed/non-intelligent Ethernet switch.  Because the xPrintServer needs an IP address via DHCP in order to work, then you may connect the generic Ethernet switch to one of the Ethernet ports of either your Wireless Access Point/WiFi router.
The xPrintServer will have stored the discovered printer list in non-volatile memory, so it will not have to rediscover/reprovision the printers that it already has in its list.
Start by rebooting the xPrintServer so that it can negotiate an IP address from the router.
When the xPrintServer appears to have settled to its idle state (indicated by orange 'X' LED fading on/fading off), search for available printers on your Mac mini.

To do this -
Click on the 'System Preferences' icon on the row of icons on the lower edge of the Mac desktop:

Image
Fig 4.  System Preferences icon in Mac OS's Task Tray

Click on 'Print & Scan' in the 'Hardware' section of 'System Preferences':

Image
Fig 5. Print and Scan icon in Hardware Section of System Preferences

Click on the [+] icon found on the bottom-right corner of the list of printers in the Mac mini

Image
Fig 6. Add Printer [+] icon in Print and Scan configuration window

The Mac mini will come back with a list of printers that responded to the Bonjour printer request broadcast.  This will include the response list from the xPrintServer.  

Verify that you see entries coming from the xPrintServer similar to the screenshot below.

Image
Fig 7.  Bonjour Discovered Printers in Mac's Add Printer Wizard

Basically, any entry bearing the MAC address of the xPrintServer is a printer advertisement coming from the xPrintServer.  Seeing entries like these mean that the xPrintServer's advertisement mechanism is working properly.  

If the xPrintServer is advertizing printers then you will need to troubleshoot potential suspects among your network equipment.
 



[Originally Published On: 09/18/2012 12:39 PM]