Local discovery not working on android 11

Is global discovery enabled on both devices?

1 Like

I had to delete the previous reply because of the 3 replies per topic limit.

Global discovery is disabled. This issue/topic is about local discovery not working, so…

Here is a simple workaround that does not require any special configuring, or root.

Simply use the camera on each phone to scan the others QR code. That’s what I did and it worked.

The option to do that is in the Android Syncthing software.

You’re thinking of the wrong step.

Discovery is the process of fetching the IP address of a device you’ve already added.

Local discovery is limited to finding out your device’s LAN IP, so that another device on the same LAN can connect to it. This step doesn’t work, hence the topic.

Well global discovery is recommended because local discovery is known to not work on newer android versions due to restrictions from the platform. take it or leave it - the alternative is to configure IPs manually.

I’m aware of the current understanding of the issue. But I’ve described behaviour here that does not match what you say. Any ideas what’s going on?

If local discovery doesn’t work at all, the phone can’t find the IP address of the PC and vice versa. Global discovery avoids this by publishing the LAN IP of your PC which is enough to bootstrap a local connection :slight_smile:

Hmm,

I just disconnected and re-established the connection. I’m pretty sure both devices found each other using remote discovery. If Android local discovery is what’s broken, mine found each other using remote discovery.

I have 3 Android devices on the same LAN. Once the QR code was scanned, they managed to simply find each other. I don’t know whether it used local or remote discovery but I know that my Android devices were able to sync to each other immediately after scanning the QR code. I’m pretty sure they’re using my router ip and the 22000 port # Here is my config in pics.

You can easily test for that by leaving just Local Discovery on, and turning off every other method.

Nobody has any idea about this?

So, on my Android, I need to uncheck the box for “Global Discovery” and then try making a connection to an unknown device, correct?

I’ll need to delete my tablet from my phone and try to re-add it, and hopefully, the phone will fail to discover the tablet. This should do it I think.

If this all works, then for now, EVERYONE must use global discovery if they own Android devices.

At least until a new solution is found.

Read this again:

Hi @opusforlife2

I may have stated it wrong, but I understand. Mine/everyone’s works because Global Discovery does work. I was referring to reproducing the problem others are having, that I’m not. If you turn off Global on purpose it should break, correct?

1 Like

As already explained above, global discovery also publishes LAN IPs. @Wank is spot on with his statement that global discovery allows LAN connections to be established in cases where local discovery doesn’t work.

1 Like

I think we aren’t addressing a part of @opusforlife2 observations: Local discovery works for them with an android 12 device, which is unexpected. That’s just how it is with android: Lots of varying behaviour between vendors and even devices, that I have zero interest in getting into. Especially if there’s a simple working solution: Global discovery.
Btw it would likely have helped if you pointed that out (or even just rephrased your original post), instead of just telling people to read again - much higher chance of success.

4 Likes

Hiding maybe, disabling local, I don’t think so. As in OPs case, it might still work for reasons. What’s the benefit of disabling it? Also we are talking about a non-issue, aren’t we? If somebody wants to do a meaningful change in the app, add confirmation dialogs for revert/override.

1 Like

@imsodin

I have a Sumbsung S21 running Android 13, and as far as I can tell, local discovery is working. It also works on my Amazon Kindle.

I have Global discovery disabled on both devices, yet they seem to find one another.

I have more testing to do. I want to be sure that mine works. If I disable Global everywhere, I should find out soon enough.

I also intend to play with the battery care settings because Samsung can hinder applications that are under their battery management.

My goal is see if I can test enough to prove that Local either does or does not work on my specific devices.

1 Like

Thanks for confirming, guys. It indeed seemed like no one was addressing the discrepancy I pointed out.

I can completely understand not wanting to delve into the intricacies of different devices, but now that it’s being addressed, let me add to the MAC randomisation point, just in case it helps narrow down the issue.

There’s this app, Meshenger, available on F-Droid, that is primarily intended for LAN-only VoIP calls. On my newer device, MAC randomisation causes the app to ‘forget’ its local address. It requires going into the app’s settings, and selecting the new MAC address, for calls to work.

This isn’t true for the legacy device. Its MAC address is fixed, so it’s always discoverable without any user intervention.

This seems to parallel Syncthing’s behaviour so closely, that I can’t help but think they’re connected.

Not sure if this has already been addressed but I fixed this issue via the following.

On Android Device go to syncthing > web GUI > edit > manually add tcp://IP:22000 with IP being the device you want to sync to. It should obviously find it by itself locally. But this is a decent work around.