Local device-search on Android doesn`t work

I’m trying to use syncthing between an Android smartphone (LOS 18.1, Android 11) and a rpi. The rpi is connected to a NAS and supposed to receive data, to store it on the NAS. I dont need it to work over the internet, so both devices are configured to only search the local network for other syncthing-devices. That works with my Linux-Desktop like a charm, but I cant persuade my smartphone and rpi to talk to each other. Even though I have given both the local IP of the other device to find it.

The protocol of the android app is telling me the following:

SyncthingNativeCode(17717): [LKOY7] INFO: Listen (BEP/tcp): TLS handshakes: tls: client offered only unsupported versions: [303 302 301]

I understand what that generally means, but I don`t see where it comes from. Both the rpi and the smartphone are pretty up to date and should therefore be able to use at least TLS 1.2. So I hope someone here can point me in the right direction, to get my setup running.

Did you check that both of them are on a similar version?

Feels to me like one of them is using a very old version.

I guess you mean the version of syncthing, not TLS?

The Android-App says v1.20.1, the rpi-GUI v1.0.0-ds1, Linux (ARM) “Erbium Earthworm”. If they are supposed to match, the rpi-version is obviously quite outdated. Sry that I didn’t had this idea myself, I actually didn’t expect the official repository to be outdated.

The rpi is running by raspberry os lite (buster) kernel 5.10.103-v7+, which is the most recent buster-version as far as I can tell (https://downloads.raspberrypi.org/raspios_oldstable_lite_armhf/release_notes.txt).

If that’s the hole problem, where do I get the right version for my rpi from?

Edit: Buster is likely supported until august, but maybe doing the upgrade to bullseye does the trick, if the bullseye repository is delivering an up to date version of syncthing?

Up to date: https://apt.syncthing.net

Syncthing 1.0.0 is several years old and doesn’t speak modern TLS.

2 Likes

Well depends on your definition of official. On your RPI, you’re currently using a syncthing version from debian repositories. Those packages are made and maintained by Debian maintainers, not syncthing.

Debian has a design philosophy of stable packages: On a stable OS release, no new versions are usually permitted, unless it’s an important bugfix or security issue (if a change fits into this category is also a decision made by the debian people). Debian/Ubuntu prefer to backport changes to old versions rather than upgrade to new upstream releases.

That’s why it’s quite common to have packages on those distros that are multiple years old. If you were to upgrade to Debian bullseye you would get syncthing 1.12 from the debian repositories which is also not exactly new, though not as old as buster.

Debian’s principles are fine for slow-moving packages or setups where both sides are on the old version. But old and new doesn’t really mix well.

For this reason syncthing maintains its own apt repository, which always has the latest version. That’s what @calmh linked above.

2 Likes

I got it, thank you very much folks. Just updated syncthing the way you recommended and smartphone and rpi found themselves in a blink of an eye. It’s always so easy, if you just do it the right way :sweat_smile:

And I’ve learned a bit more of the linux-world. I knew that debian isn’t the up to date distro out there, but that it regularly is years behind with their packages definitely surprised me.

1 Like

Debian is not “a distro”. It is an organization which has several distributions. Their “stable” distribution is like described above.

Actually, the version they are using is not debian stable, that’s debian old-old-stable (might still get security updates). Debian is indeed hardly bleeding edge, but it’s not that out of date :slight_smile:

1 Like

One old too much, buster is “oldstable”. Stretch would be oldoldstable.

1 Like