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.
Have you tried turning off MAC randomization to see if it makes a difference?
Itâs simply a toggle setting under the Wi-Fi preferences for each configured wireless network under the âPrivacyâ section.
Every hardware network interface has a factory assigned MAC that usually cannot be changed by end users. However, many hardware manufacturers and network device drivers support MAC spoofing.
The problem described above can also be caused by the router. In the most common type of setup the DHCP server in the router grabs an available IP address from its IP address pool and associates it with the MAC address sent by the client device (itâs how the DHCP server knows when an IP address is available again).
For Meshenger, I suspect the app keeps track of which network interface to use via the MAC address rather than use the system device interface name.
For Syncthing, by default it listens on all available network interfaces so it doesnât matter if the MAC addresses change.
Android doesnât change MAC addresses on a fixed timer or during an active Wi-Fi connection. Before Android 12, a random MAC is generated just once per Wi-Fi network (the trigger is based on the SSID and other factors). Starting with Android 12 a new MAC can be regenerated for an existing network but only under specific conditions.
Even with that particular developer setting, the DHCP lease has to have expired or the phone has been disconnected from a given network for at least 24 hours before a new pseudo-random MAC is generated (itâs actually not completely random).
Otherwise thereâs a chance the pool of IP addresses managed by a routerâs DHCP server could be exhausted. Your phone disconnects when going to sleep. If the previous DHCP lease hasnât expired its IP address will be unavailable. So when your phone reconnects, a new lease for a different IP address will be issued for your new MAC address. With enough reconnects and users all randomizing MAC addresses, the router could end up leasing out all its IP addresses before any expires.