Roon loses control of Sonos ERA 100 during playback (ref#GOJ3VF)

What’s happening?

· Other

How can we help?

· None of the above

Other options

· Other

Describe the issue

Getting "Roon lost control of the Audio device" when trying to play on Sonos ERA 100

Describe your network setup

Switch is Zyxel XGS1250-12, Wifi is ASUS ZenWiFi BQ16 Pro. This was working fine on an Intel Mac mini running Ubuntu. I moved my core to an AMD PC running Ubuntu 24, same switch.

The new PC can play via USB to my home audio gear, it can stream to my iPad and iPhone, and ARC is working. For the Sonos ERA 100, it is up to date on firmware and has been rebooted several times. I tried removing the device, restarting Roon Core, and re-adding it. I also did a packet capture from the PC, showing traffic between Roon and the Sonos. It seems the Sonos is trying to get a resource from Roon but it’s returning a 404.

I wanted to add that Airplay from other apps to the Sonos seems to be working fine. However, Roon to the Sonos via Airplay 2 does not work (it just doesn’t start, I don’t see an error). If I turn on compatibility mode, it says it’s streaming to the device but no audio comes out, even with the volume set to high.

PC is a Minisforum UM790, running Ubuntu 24.04 LTS. It has the firewall and app armor disabled.

Roon is 2.52 (Build 1538)

I also noticed in the Sonos app, this error when I try to play a song via Roon. Seems similar to the 404 response.

Something else I observed from the packet dump. Roon sends a POST to the Sonos,

POST /MediaRenderer/AVTransport/Control HTTP/1.1

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
	<s:Body>
		<u:GetPositionInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
			<InstanceID>0</InstanceID>
		</u:GetPositionInfo>
	</s:Body>
</s:Envelope>

and the response is

HTTP/200 OK

<s:Envelope
    xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <s:Body>
        <u:GetPositionInfoResponse
            xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <Track>1</Track>
            <TrackDuration>0:00:00</TrackDuration>
            <TrackMetaData>&lt;DIDL-Lite
                xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
                xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot;
                xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;
                xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;http-get:*:application/octet-stream:*&quot;&gt;http://172.16.4.50:30000/80c0cb9b1c5248adaaf91832961c82de/Roon3350db6c81e848d69fae077382b2cfe0.flac&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;dc:title&gt;Roon3350db6c81e848d69fae077382b2cfe0.flac&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;
            </TrackMetaData>
            <TrackURI>http://172.16.4.50:30000/80c0cb9b1c5248adaaf91832961c82de/Roon3350db6c81e848d69fae077382b2cfe0.flac</TrackURI>
            <RelTime>0:00:00</RelTime>
            <AbsTime>NOT_IMPLEMENTED</AbsTime>
            <RelCount>2147483647</RelCount>
            <AbsCount>2147483647</AbsCount>
        </u:GetPositionInfoResponse>
    </s:Body>
</s:Envelope>

Not sure if this is relevant.

Hello @jss,

Thank you for reaching out to Roon support and for your detailed analysis.

The issue you’re experiencing appears to be device-specific — the Sonos Era 100 is currently unable to play audio via AirPlay 2 through Roon. We’ve already raised a ticket with our R&D team regarding this matter:

:link: Sonos Era 100 not playing sound via Roon Airplay [Ticket In] - #4 by Christopher_Petersen

I’ve added your topic to the internal tracking ticket to help prioritize the issue. As soon as a fix is available, we’ll notify you directly in this thread.

For now, I’ll go ahead and mark this thread as solved.

It doesn’t play via Sonos’s protocol OR Airplay. I’ve only ever used it via the Sonos streaming protocol. I only tried Airplay 2 to see if it was better, but it was not. Thanks!

In fact – this setup was working on the old Roon server just yesterday, via Sonos streaming. It’s only since moving it to a new server where that protocol stopped working.

I wouldn’t classify this as Airplay 2 specific, since neither protocols are working.

Hello @jss,

The Sonos Era 100 is not Roon Certified and does not support the Roon Ready protocol out of the box. The only officially supported way to play audio from Roon to this device is via AirPlay 2.

That said, when using Roon’s Sonos streaming integration (which uses Sonos’ own proprietary protocol, not AirPlay or RAAT), it’s worth checking if there were any recent firmware updates on the Sonos side that might have affected this functionality.

Since Roon itself has not been updated in the last 27 days, and the issue appeared only after moving to a new server, it’s more likely that the root cause lies either in changes introduced by Sonos or in the new Core’s network setup (multicast, SSDP, firewall rules, etc.).

Let us know what you find — we’re happy to assist further.

I turned the old Mac mini back on, and it’s still able to play to the Era 100 via Sonos streaming.

I followed the installation instructions posted here, and check.sh reports that everything is OK.

So there must be a configuration difference between the two servers. Are there any technical network based diagnostics I can do?

Ok, I’ve solved this. I had an opportunity to install Ubuntu 24 from scratch on an alternate disk. I booted it up, installed Roon, and it’s able to stream to the Sonos Era 100. So something I installed on the original computer was interfering with Roon. I was trying to make it do double (actually triple) duty as a server for other things.

For those interested, this computer was also a control plane for k3s. I guess the networking for that was somehow interfering with the Roon server. I didn’t think it would do so, but I was able to test that theory today.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.