xPrintServer Printer Discovery and Advertisement
Do the iOS devices connected to the wireless network have to be on the same subnet as the printer when they print? How does the xPrintServer discover and advertise printers?
In an ideal network setup, the xPrintServer need only be installed on the same subnet as the network printers that it is supposed to discover. SNMP broadcast takes care of discovering the printers, while Bonjour protocol takes care of advertising the printers throughout the network.
Click on a thumbnail image below to display it full-sized.
If there are printers that are outside the local subnet that also need to be hosted by the xPrintServer, then you can do one of the following:
- add the network printers' IP addresses individually in the Printers > Printer Address page in the xPrintServer's webmanager
- then click on 'Re-run Discovery' in Printers > Discovery
OR
- Manually add the printers in the Printers > Advanced page.
- See How to Manually Add a Printer to the xPrintServer
Network routing will take care of routing print jobs from the xPrintServer to the target network printers in the remote subnets.
Because the xPrintServer relies on the same Bonjour service that Apple OSX and iOS uses to advertise their services the xPrintServer can be installed anywhere on a network that is configured to support Bonjour. Due to the routing limitations of the xPrintServer's (non-routable) SNMP discovery packets, we recommend installing the xPrintServer on the same subnet as their network printers.
Relocating the xPrintServer to the iOS/WiFi subnet is one way to avoid a problem in some networks where Bonjour advertisement does not seem to get properly routed from the wired to the wireless/iOS subnet. This should not be required if the Bonjour service is supported in the network.
In broad strokes, the following happens in the xPrintServer when connected to a network and powered on:
- IP Addressing: Upon power up, the xPrintServer requests an IP address from an available DHCP server.
- SNMP Query: Once IP address is assigned, the xPrintServer broadcasts SNMP query to the local subnet looking for responses from SNMP-enabled network-attached printers.
- Printer List: A printer list is generated from the SNMP responses received from the printers on the local subnet. This list includes the printer ID (manufacturer and model), IP address, and supported PDL (eg, PS, PCL, etc).
- Provisioning: The xPrintServer connects to the cloud service to get the drivers for each printer in the list, based on the printer ID gathered from the SNMP responses. Internet access is required for this to succeed. The xPrintServer goes through the printer list sequentially and may take up to three minutes to provision each printer in the list. It will repeat the provisioning sequence for *each* printer in the list, even if it is the same make/model printer that follows. List sequence appears to be based on order of IP address of printer.
- Printer Advertisement: Once provisioning is completed, the xPrintServer broadcasts the list of available printers via Bonjour service to the network. Because Bonjour is a multicast protocol, there may be issues in networks where Bonjour is not propagated. Enterprise Access Points/routers may need to enable multicast to allow Bonjour advertisement service through. Consumer Access Points typically call this option UPnP. If enabling blanket multicast is undesirable, the network admin should consider allowing traffic to UDP port 5353 to allow Bonjour advertisement to reach adjacent subnets. FYI, Bonjour's multicast address is 224.0.0.251. The xPrintServer also uses this address to advertise its available printers.
In normal operation, the xPrintServer's printer advertisement mechanism does not actively broadcast the provisioned printers. Rather, the xPrintServer responds with the printer list whenever it receives a query from iOS. A query is received whenever a print job is attempted from an iOS app. The act of selecting available printers in the app executes a printer query sent by the iOS device.
Related Knowledge Base Articles:
- xPrintServer - xPrintServer - Unable to print from an iOS device but xPS test print works - Communicating with printers through routers and Access Points
- xPrintServer - xPrintServer - Enabling multicast on Cisco Wireless Controllers
- xPrintServer - xPrintServer - AirPrint and Bonjour over SonicWall hardware.
-How to Manually Add a Printer to the xPrintServer
[Originally Published On: 06/06/2012 10:36 AM]