How to make Roon ARC connect to ROCK over StarLink without a VPN

For StarLink users who want to use Roon ARC to connect with ROCK, here is the solution:

  1. Make sure you have been allocated an IPv6 address by Starlink. You can use test-ipv6.com or a similar site to do this. If you don’t have an IPv6 address then check your router to make sure you have IPv6 enabled. You will need the Starlink LAN adapter and have your Starlink router bypassed to some other router (I have an Asus RT-AX3000). If you are getting a new IPv6 address you will lose connectivity until you power cycle Starlink.
  2. Once the IPv6 test passes then you will need to enable the port forwarding. I would recommend doing this yourself instead of using UPnP. Click the reset link next to the “Port” field on the Roon ARC test page so you have the correct port number. Make sure you’ve assigned a static IP address to your ROCK in the DHCP settings. If you don’t already have this you can use whatever IP is currently assigned to ROCK then go to LAN settings → DHCP and add that IP address (usually in a static IP list).
  3. Run the Roon ARC test and hopefully it will pass. If so then open up the “Advanced details” at the bottom and click the link to copy the IPv6 address for your ROCK.
  4. Go back into your router settings and add an IPv6 port forwarding rule. This might be under WAN settings but for my Asus router it was under VPN settings for the IPv6 firewall. Add the IPv6 port forwarding rule using the IPv6 address and port number you got from the Roon ARC test.
  5. As of this writing, only build 1273 will provide access over Starlink. The latest IPv6 production build is currently 1272. Check to make sure that the build you are running is at least 1273 and if you can only get build 1272 then sign up for the early access program. Roon has lots of great information on how to do this here
  6. Go to the device(s) you use to access Roon when away from home and install Roon ARC 1273 or above. Sign in and see if it connects. If you get a message that says your ROCK is not configured for remote access, then click the “Connect” button. It should tell you it’s syncing for the first time which can take a bit of time so let it run until it’s done and displays your music or asks for which profile you want to use. Once this is complete you are ready to play music.
2 Likes

nice write up, thanks…

I can confirm this worked with a non-Rock Roon core as well.

Thanks to the Roon team with getting this addressed!

I’m a Roon user but I would also like to thank the Roon Team for getting the IPv6 version into production! It’s so nice to have Roon on the road now.

Unfortunately this stopped working when I changed from early access to production and changing back to early access did not help. Based on the logs I can see there appears to be a problem with the way Roon is managing Starlink’s residential IPv6 addresses which have a prefix length of 56 (this is a fairly normal length for non-business class accounts).

The Roon ARC test is passing just fine but connections from my Pixel 7 Pro or the Android Auto system in my car do not reach my ROCK. If anyone has made Starlink IPv6 work since this code was released to production, let the rest of us know how you did this.

Hi Dean, have you managed to get arc working since the production release (I have the same issue)
Thanks

No, but I’ve found what the problem is. If you look at your IPv6 address you will likely find that the 3rd group of 4 hex-digits has a leading zero (this may just show as having 3 hex-digits). That is a perfectly valid address but Roon is not interpreting it correctly.

They said they were going to start working on this after the last Roon ARC release but I have not received any updates since then,

Thanks for responding, I’ll raise a ticket on this and hope it raises the priority for a fix

That’s a good idea. This is affecting all users who have IPv6 addresses with leading zeros. I’m pretty sure that they are making the assumption that if a quad group starts with zero then the entire group should also be zeros so it is actually failing on the second hex-digit in that group when it’s non-zero. This is clearly a misinterpretation of the IPv6 specification.

Any news regarding this? /Thomas

Connor posted last month that they are currently working on this in development so I would expect an initial fix to show up in early access sometime soon.