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:
- The address of the device, that is:
- If the device has a static IP, what that is.
- If local discovery is used, all discovered addresses.
- If global discovery is used, all discovered addresses, including relay addresses.
- For each address, the results of attempting to connect to it:
- 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).
- Connection refused.
- Connection was established, but was then dropped (possibly indicating a firewall issue).
- 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.