Syncthing dial tcp i/o timeout

Hi. I’m facing the following problem: Syncthing on Android can’t synchronize files with my PC. The following errors appear: “dial tcp pc-ip:22000 i/o timeout” or “dial tcp connect:connection refused”. With all Syncthing Android sees my PC in the list of surrounding devices. Tried opening ports in iptables on Android via Termux with root permissions - no result (or I did it wrong). Tried disabling SELinux - no result. Tried different versions of Syncthing as well as Syncthing-fork - no result. With other Android devices my PC synchronizes without any problems. Only local discovery is enabled. Where do I go?

Depending on the version of Android and possibly also the manufacturer’s customizations, global discovery might be required (or manually specifying a device’s IP address).


The IP address of the PC is set manually. Global detection does not help.

What’s the network setup? Can the Android device successfully ping the PC?

Yes, it can.

My network: router, PC, phone

What do you mean by Network setup?

If other Android devices on the same network are connecting via Syncthing to the same PC without any issues, are they configured the same way as the problematic phone? (Something about the phone’s setup is clearly different or there’s a piece of missing info.)

Generically, the various pieces of networking equipment, hardware/software firewalls, anti-malware filters, VPNs, etc.

Many people have fairly straight forward setups, but some have quite complicated connections involving reverse proxies, point-to-point network tunnels, virtualization (e.g. Docker) and so on.

It would be very helpful to see screenshots of Syncthing’s web GUI on both the PC and the phone. Any additional details about the other Android devices that are working fine and anything else would be helpful. No detail is too small when it comes to debugging network issues (especially by proxy).

All settings for all devices are identical except for IP addresses, names and IDs, of course.

It finally worked after I manually entered the Android device ID and IP addresses on the PC. It is very strange that Syncthing did not ask to add an Android device when I added my PC in the Android device itself. I struggled with the problem for about 5 days and the solution was simple. Thanks for your help anyway♥


If your PC is running Windows, is the firewall enabled?

If it is, and it’s set to “Public”, then it wouldn’t have received the discovery broadcasts from your Android device because the PC’s firewall would have blocked them (resulting in Syncthing on the PC not asking for approval of a new device connection).

Instead, it would have relied on the Android device picking up the discovery broadcast from the PC – but whether that notification appears depends on if Syncthing had been given permission to show notifications.

My home network in the Windows firewall is under private network. I tried disabling it for the sake of experimentation, but nothing changed :thinking: