Troubleshooting Mobility Print Cloud Print
Firstly, a bit of a peek behind-the-scenes. Here is what happens when you attempt to connect to your Cloud Print instance:
- A user utilizes the Mobility Print Cloud link that their administrator provides them from their Cloud Print location; i.e. Manage existing links
- The user follows step 1; Download and run Mobility Print.
- The user follows step 2, which is to ‘Connect and get my printers’.
- The client workstation then communicates via Google APIs, STUN, & TURN to create the P2P connection (using ports 443, 3478 & 8883).
- The Mobility Print server receives a notification for the pending P2P connection and replies with the necessary information back to the client for adding the printer to the system’s local printers.
Verify that all required outbound ports and URL end-points are accessible
For Cloud printing, we rely on a few network infrastructure requirements in order for the client system to create a secure internet connection to the Mobility Print server.
Quite often, there is a firewall (e.g. Windows Defender), security device, or Antivirus software preventing access to the required ports & end-point URLs used by Mobility Print Cloud Print to communicate successfully with our Cloud services. Please take a look at the requirements here.
You can also run a quick Twilio network test on the Mobility server and one of the clients to confirm that both can communicate successfully with the Cloud service we use to establish the p2p connection: Twilio Network Test (note that you do not need to pass the voice or video tests, you can stop the test before these complete)
Is Internet Printing Client (IPP) enabled?
When running Windows, check on both your Mobility server and your Windows client that the Internet Printing Client (IPP) is enabled and installed.
Common Cloud Print errors
“All printers failed to install. Please contact your system administrator.”
- Is IPP enabled? (See above.)
- Is the hostname on the Mobility client greater than 15 characters?
- Is the printer port more than 255 characters? Mobility printers with a long name delivered to Windows clients (e.g. using special characters or IPv6) may result in a port that exceeds the Windows-supported port length, thus the port cannot be created and Windows will remove the printer. A quicker way to address this limitation is to either reduce or delete the number of characters in the location field in Printer Properties:
- It’s also possible that either the client or server is unable to communicate after a connection has been established. Please ensure both the server and client have access to the required ports.
Unable to reach print server: error creating client offer: 502 Bad Gateway
A 502 error indicates that the client has not received a valid response from the Mobility server or that the connection ended prematurely.
- Verify that the Mobility server is powered up & online, i.e. not in sleep/hibernation mode.
- The token is invalid due to:
- Cloud print invite link has expired.
- Cloud print invite link was deleted or changed.
- The serverID on the client does not match the serverID on the Mobility server. This might occur if there is an old instance of Mobility Print installed that the client is still referencing. Since the serverID is uniquely generated upon installation, you will need to uninstalling & reinstall Mobility Print from scratch, create new invite link(s) then deploy the clients again to ensure everything matches up.
- Less common but this error will sometimes be seen when migrating from a Mobility Print server without copying the
\datafolder from the previous server. Please refer to our article here.
STDOUT|turnc … An existing connection was forcibly closed by the remote host (as seen in Mobility client log)
mobility-print-client.exe: STDOUT|turnc ERROR: 2021/01/0100:00:00 fail to refresh permissions: write tcp4 x.x.x.x:port→ x.x.x.x:443: wsasend: An existing connection was forcibly closed by the remote host.
- Check required ports are open for outbound communication; 443 - TCP & 3478 UDP/TCP.
- Check that antivirus, workstation or a physical site firewall isn’t terminating your port connections.
Timed out connecting to iot-core (as seen in**Mobility server log)
mobility-print.exe: STDOUT|DEV: Connecting... [ broker=tls:*//mqtt.googleapis.com:8883 ]*
mobility-print.exe: STDOUT|DEV: Timed out connecting to iot-core. [ broker=tls:*//mqtt.googleapis.com:8883 ]*
This indicates the Mobility server is timing out when attempting to contact the required registration address for Cloud Print:
How can I reset an existing Cloud Print auth token?
To reset an existing Cloud Print client token on a workstation, you need to remove the auth.toml file and then restart the Mobility Print client. The file locations are as follows: