What is going on? Remotes and Core on different LANs?

My first post, so please be gentle… :grinning: Slightly long post and hence apologies in advance !

So, after having searched the various posts on the topic, I know that the official Roon position is that the Core and Remotes must be on the same subnet in order for the Remotes to be able to discover the Core and be able to control playback.

However, I have observed some “odd” behaviour on my set-up and I would like to put this out to the community to try and understand what is going on. Let me set out my networking set-up and the behaviour I am seeing (my networking knowledge is beginner / intermediate):

Router: Ubiquiti EdgeRouter 12
Two LANs have been set-up (Pictorial representation below):

  • LAN1 (192.168.3.x/24) - SFP Interface 1 on the Router. This LAN is set-up as a “general” LAN and the WiFi, Fire Alarms, Google Chromecasts, Smart TV’s, NAS etc connect to this via a TP Link Switch

  • LAN2 (192.168.4.x/24) - SFP Interface 2 on the Router. This LAN is set-up as a dedicated LAN for the HiFi and has the following connected (ethernet cables) to it via a D-Link switch:

    • Intel NUC running the Roon Core
    • SoTM SMS-200-Ultra as Roon End-Point
    • Google Chromecast Audio device (to allow casting of Podcasts, Audio books etc
      through the HiFi system)

Both LANs use the same internet connection and the Router allows me to access the Intel NUC on LAN2 via a computer on LAN1 with no issues (e.g. RDP to the Intel NUC).

mDNS repeater is set-up on the Router and this allows me to access the Chromecast devices from either LAN.

Here’s the “odd” beviour I am seeing:
I have the Roon app installed on my Android phone (which connects to LAN1) and, as expected, when I open the Roon app it cannot discover the Roon Core since the phone (LAN1) and Roon Core (LAN2) are on different LANs. So far, so as expected.

If I then connect my phone to LAN2 (USB-C ethernet connection), then the app on the phone instantly discovers the Roon Core and I have full control via the Roon app on the phone. This is also as expected.

But here is the interesting thing. Once the Roon app has successfully connected to the Core, I can then disconnect the phone from LAN2 connect it to LAN1 (WiFi) and the Roon App and Roon Core continue to communicate with each other flawlessly even though they are now on different LANs ! The connection between the App and the Core continues until the phone goes to “sleep” after which the connection is lost and the Roon Core cannot be “discovered”.

A few questions:

  • Has anyone else seen this kind of behaviour? Is this expected - I don’t think I’ve done anything clever with my network set-up?
  • It would seem that it is only the “discovery” that is not working across sub-nets, but
    that once the connection is made between the Core and the Remote, the control aspect does work across subnets…why would that work…?
  • If the control aspect works across different sub-nets, then why does the discovery not work?

I would be grateful for any feedback on the above - just seems weird to me…

Many thanks for reading to the end & Rgds - SA

Discovery does not work across subnets because of how it uses IP multicast. Once discovery is done, the remote knows where to find its core. But that will only last until the remote restarts (I think that on Android, until the remote is evicted from background operation to make room for another app). Roon’s use of IP multicast for discovery is unfortunately somewhat fragile, prone to failure caused by poor implementations of multicast protocol on network gear or endpoints (quite a few threads on problems of this kind).