Issues connecting to device via teleop

Issue details

  • I am having issues with connecting to my device. I can access it via ssh and see it connected to wifi.
  • The teleop view doesn't work at all unless my robot is on a cellular network.
  • I can't teleoperate my device.

Troubleshooting steps

Gather Formant agent logs

To begin troubleshooting, gather your Formant agent log. For more information, see Installing the Formant agent: Retrieving agent logs.

You may see error messages such as the following:

formant-agent | 2023-09-18T14:53:51.157Z DEBUG pf rtc/port_forward_manager.go:206 failed to create peer: signal error [temporary: true]: connection error: Post "https://api.formant.io/v1/signaling/peers": context deadline exceeded
formant-agent | 2023-09-18T14:53:51.158Z DEBUG rtc/rtc_client.go:599 localPeer was nil in startReceivingSignals main clause
formant-agent | 2023-09-18T14:53:51.198Z DEBUG agent/host_metrics_collector_linux.go:814 no batteries found...
formant-agent | 2023-09-18T14:53:51.653Z DEBUG logger/logger.go:413 error reporting agent configuration version to cloud: connection error: Patch "https://api.formant.io/v1/admin/devices/e9a04e2e-edbd-4938-b640-26cfd4051696": context deadline exceeded
formant-agent | 2023-09-18T14:53:51.820Z DEBUG agent/uploader.go:1663 failed uploading s3_asset batch: connection error: Post "https://api.formant.io/v1/admin/auth/agent-credentials": context deadline exceeded
formant-agent | 2023-09-18T14:53:51.820Z DEBUG agent/agent.go:204 refreshing aws credentials ...
formant-agent | 2023-09-18T14:53:52.110Z DEBUG agent/uploader.go:1663 failed uploading datapoint batch: connection error: Post "https://api.formant.io/v1/ingest/multi": context deadline exceeded

Generate browser logs

If the teleoperation view is hanging or shows an error, you can generate browser logs in Google Chrome (our only supported browser) by clicking the three dots in the upper-right corner >> More Tools >> Developer Tools and clicking the Console tab.

Network/firewall configuration and troubleshooting

This may be caused by network connection issues, a firewall, or a VPN. Make sure that your network connection is strong, and try simplifying the network connection between the Formant application and the device.

Twilio troubleshooting

Teleoperation uses Twilio to connect. Make sure your network matches the connection requirements for teleoperation.

  • Run the following commands to test connectivity to Twilio:
telnet global.turn.twilio 3478
telnet global.turn.twilio 443
  • Set your robot to use any available ICE server by:
  1. Go to this address:
https://app.formant.io/devices/<device-id>/edit?diagnostics=true
  1. Under WebRTC settings, Set Use all ICE servers to YES.

Run Docker without --network=host (Dockerized Formant agent)

You may have trouble starting a teleoperation session if there is a change to the network interface for your device.

By running the agent Docker container without net mode host, the only interface that the agent can see was docker0, and the changing IP routing table on the host machine is masked by docker0, so the agent is able to run without issue.

If you have the agent installed in a Docker container:

  1. Check your agent logs.
  2. If you see the following error: Resetting base client HTTP transports due to link change event:
    1. Run the Docker container without the --network=host flag.

General troubleshooting

  • Restart the agent to see if issue persists.
  • Formant has made improvements to the agent's ability to detect a change in the active network interface and continue operation over a new interface. Try updating your agent to take advantage of these improvements.

See also

👋

If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].