Choose your language

Choose your login

Contact us

Troubleshooting printer discovery problems in a DNS environment

This page applies to:

This article is for troubleshooting when Mobility Print clients are not able to discover the printers when the discovery option is set to DNS.

When this happens on Windows clients, you might see the error “Failed to retrieve printer list. Do you want to retry?”.

How does Mobility Print work with DNS?

At a high level, clients check with their DNS server to discover the printing services and are then redirected to the Mobility Print server.

In practice, we’ve found a few different things that can go wrong. The DNS records need to be set up just right, and this can get very complex when admins try to set up the DNS records for multiple Mobility Print servers.

Continue reading to see our best tips and suggestions for when printer discovery doesn’t work over DNS.

Make sure the ports are open

Confirm that TCP ports 9163, 9164, as well as TCP & UDP ports 53 are open on the server, and are not being blocked on a network or host-based firewall.

One way to test connectivity to the server is to make sure you can browse to each one of these URLs from a browser on the client.

  • http://<mobility-print-IP-address>:9163/printers
    • This tests that you can access the Mobility Print server over the network and that port 9163 is open. The correct output is a list of printers, or a JSON file containing a list of printers.
    • If this is inaccessible, then it suggests that the client cannot access the port or IP of the Mobility Print server due to network configuration or firewall rules.
  • http://<mobility-print-server-hostname>:9163/printers
    • This tests the same thing, but ensures that DNS is able to resolve the hostname of the Mobility Print server.
    • If this is inaccessible, then check the client DNS settings to confirm that the client pointing to the correct DNS server.
  • http://rpc.pc-printer-discovery.<domain-name>:9163/printers
    • This tests to ensure that the pc-printer-discovery record is set up correctly in DNS.
    • If this is inaccessible, then make sure that the DNS records are set up properly. Take a look at Configure printer discovery using DNS .

Check DNS settings on the client

To discover the published printers, clients must have the correct DNS settings, specifically that they are pointed at the right DNS server and have the correct DNS search suffix.

If some or all clients are unable to discover the printers, we’ll need to check their network settings to ensure that…

  • the DNS Server IP address is correct
  • the DNS Search Suffix (also known as the Search Domain) exactly matches the Forward Lookup Zone where the Mobility Print records were created. For example, “ pdx.papercutsoftware.com ” is not the same as “ papercutsoftware.com

Here’s where to find those settings:

  • Windows: Network Connections > IPv4 > Properties > Advanced > DNS Tab
  • macOS: System Preferences > Network > Advanced > DNS Tab
  • iOS: Settings > WiFi > select the network > Configure DNS
  • Chromebooks: From any Chrome tab, go to chrome://system. In the left column, find network-status; then click Expand. Under IPConfigs, find the NameServers and SearchDomains attributes.
  • Android: Exact steps will vary depending on brand and version.

Flush the DNS cache after changes

After making any changes in DNS, be sure that you flush the DNS cache on the client before testing again to ensure you are testing with the most up-to-date records.

Flush the DNS cache:

  • Windows: in an elevated command prompt run ipconfig /flushdns.
  • macOS: open Terminal, run sudo killall -HUP mDNSResponder.
  • Chromebooks: in the browser address bar type chrome://net-internals/#dns, then click Clear host cache.

Check for other apps using port 53 on the server

If something else is using port 53 on the Mobility Print server, that can prevent Mobility Print from responding to queries.

For that reason, Mobility Print should not be installed on a DNS server or Domain Controller. Also verify that no other BYOD printing software is installed, or that the services have been completely stopped.

A simple way to check to see if port 53 is in use already on a Windows Mobility Print server is to open an elevated command prompt Window and run netstat -abn to show what applications are listening on each port. Make sure no other applications are using ports 53 and 5353.

Watch out for proxies or content filters

Is there a proxy or content filter (like Lightspeed) on your network that sits between the Mobility Print clients and server?

We’ve heard of a few situations where devices like managed Chromebooks were configured to pass through a content filter that was configured to block DNS-SD or mDNS traffic.

If this is only happened after restricting printer access per subnet…

Remove the rules from the file and check if printer discovery works. If it doesn’t, subnet filtering is causing the problem. Have a look at Troubleshooting subnet filtering .

Verifying the DNS records

The Mobility Print has a built-in method to verify DNS records, and will show green checks or red X’s for each type of record.

If you do see red X’s, don’t fret. While this is handy to confirm that the DNS records are set up properly, this is not a necessary requirement, and it may even fail for a few reasons…

  • If the Mobility Print server is configured to use a different DNS server than where you created the records.
  • If you have set up the DNS records for multiple Mobility Print servers.

Still, red X’s are a sign that something might be wrong. We recommend comparing your records to these examples to make sure they are set up correctly.

You can also follow the instructions below to test your configuration using a DNS check tool (for example, dig or nslookup) to verify some of the key DNS records. If you don’t know how to use the tools, find that out before you continue here.

So how do I use this tree?

Look at each test and see whether it passes or fails. For each test or outcome, check the list of tests/checks on the right hand side, and skip through to that test/check. Then come back to the diagram when you’ve completed the next step.

For example, the first test is ‘Test the IPPS pointer records (DNS server)’ - so you can skip to that test by clicking the link to ‘Test the IPPS pointer records (DNS server)’ on the right hand side.

A tree to help troubleshoot your issues with DNS

The DNS Troubleshooting Tree!

Test the IPPS pointer records (DNS server)

Command:

C:\>nslookup -query=ptr _ipps._tcp.pc-printer-discovery.myorg.com.

OK:

Server: ns1.myorg.com
Address: 10.100.64.100 Non-authoritative answer:

_ipps._tcp.pc-printer-discovery.myorg.com      name = reception._ipps._tcp.pc-printer-discovery.myorg.com
_ipps._tcp.pc-printer-discovery.myorg.com      name = north-building._ipps._tcp.pc-printer-discovery.myorg.com
_ipps._tcp.pc-printer-discovery.myorg.com      name = south-buiding._ipps._tcp.pc-printer-discovery.myorg.com

Error:

Server: ns1.myorg.com 
Address: 10.100.64.100

*** ns1.myorg.com can't find _ipps._tcp.pc-printer-discovery.myorg.com: Non-existent domain

Back to the diagram

Test the Browse record

Command:

C:\>nslookup -query=ptr b._dns-sd._udp.myorg.com

OK:

Server: ns1.myorg.com
Address: 10.100.64.100

Non-authoritative answer: b._dns-sd._udp.myorg.com name = pc-printer-discovery.myorg.com.

Error:

Server: ns1.myorg.com
Address: 10.100.64.100

*** ns1.myorg.com can't find b._dns-sd._udp.myorg.com: Non-existent domain

Back to the diagram

Test the Legacy Browse record

Command:

C:\>nslookup -query=ptr lb._dns-sd._udp.myorg.com

OK:

Server: ns1.myorg.com
Address: 10.100.64.100

Non-authoritative answer: lb._dns-sd._udp.myorg.com name = pc-printer-discovery.myorg.com.

Error:

Server: ns1.myorg.com
Address: 10.100.64.100

*** ns1.myorg.com can't find lb._dns-sd._udp.myorg.com: Non-existent domain

Back to the diagram

Test the IPPS pointer records (Mobility Print server)

Command: (where 10.100.64.35 is your Mobility server)

C:\>nslookup -query=ptr _ipps._tcp.pc-printer-discovery.myorg.com. 10.100.64.35

OK:

Server: UnKnown
Address: 10.100.64.35

Non-authoritative answer:
_ipps._tcp.pc-printer-discovery.myorg.com      name = reception._ipps._tcp.pc-printer-discovery.myorg.com
_ipps._tcp.pc-printer-discovery.myorg.com      name = north-building._ipps._tcp.pc-printer-discovery.myorg.com
_ipps._tcp.pc-printer-discovery.myorg.com      name = south-buiding._ipps._tcp.pc-printer-discovery.myorg.com

Error:

Server: UnKnown
Address: 10.100.64.35

*** UnKnown can't find b._dns-sd._udp.myorg.com: Non-existent domain

Back to the diagram

Test the NS record

Command:

C:\>nslookup -query=ns pc-printer-discovery.myorg.com

OK:

Server: ns1.myorg.com
Address: 10.100.64.100

Non-authoritative answer:
pc-printer-discovery.myorg.com nameserver = mobility.myorg.com

mobility.myorg.com internet address = 10.100.64.35

Error:

Server: ns1.myorg.com
Address: 10.100.64.100

*** ns1.myorg.com can't find pc-printer-discovery.myorg.com: Non-existent domain

Back to the diagram

Test the A record

Command: (where mobility is your Mobility Print server’s hostname)

C:\\>ping mobility.myorg.com

OK:

Pinging mobility.myorg.com\[10.100.64.35\] with 32 bytes of data:
Reply from 10.100.64.35: bytes=32 time=1ms TTL=127
Reply from 10.100.64.35: bytes=32 time=1ms TTL=127
Reply from 10.100.64.35: bytes=32 time=1ms TTL=127
Reply from 10.100.64.35: bytes=32 time=4ms TTL=127

Ping statistics for 10.100.64.128:
     Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
     Minimum = 1ms, Maximum = 4ms, Average = 1ms

Error:

Ping request could not find host mob1ility.myorg.com. Please check the name and try again.

or

Pinging mobility.myorg.com\[10.100.64.35\] with 32 bytes of data: 
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 10.100.64.128:
     Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Back to the diagram

Comments