Proposal for connection diagnostic functionality

With the number of “My devices won’t connect any more” topics recently, I’ve been having a think about what could be done to help people (and reduce the number of support requests).

This proposal is for a “Connection Diagnostic” tool.

This tool is per-device. The user runs the tool for a troublesome device (one that won’t connect or will only connect via relay), and it would display the following information:

  1. The address of the device, that is:
  2. If the device has a static IP, what that is.
  3. If local discovery is used, all discovered addresses.
  4. If global discovery is used, all discovered addresses, including relay addresses.
  5. For each address, the results of attempting to connect to it:
  6. Not (yet) attempted, for whatever reason (e.g. still attempting a direct connection before resulting to relays; address is ipv6 and the local machine does not have an ipv6 connection).
  7. Connection refused.
  8. Connection was established, but was then dropped (possibly indicating a firewall issue).
  9. Successfully connected (with perhaps some stats: when the connection was established, bytes transferred, etc).

Obviously I have no idea how hard something like this would be: the relevant information may be readily accessible, or it may be hidden inside lower layers.

1 Like

Agreed. Related: