Playback issues on Sonos devices after recent update to S2 version 16 and Roon server version 1359 [Roon Investigating]

Full form submission

What’s happening?

I'm having trouble playing music

What best describes your playback issue?

Music stops playing mid-track

I am having an issue where playback will stop 30 seconds into playing a track on certain sonos devices. All Sonos devices are S2 (recently updated to version 16), Roon Server is 1359 is version. This issue seems to have started with the Sonos update.

The details are as follows: All none Sonos endpoints play without issue. All Sonos devices that are on the newer side play with no issue. The older Sonos devices that I have that were S1 and upgraded to S2 are the ones with the issue. Old Sonos Play 1's and a Sonos Play 3 are the ones that have an issue with stopping the track due to 'lost control of audio device'. The Sonos Play 1 that has Airplay does not have this issue (note: I am not using the Airplay protocol to stream from Roon).

I have checked the following:
All Sonos devices are getting good signal.
I have tried the -NoSonosFlac trigger on the roonserver.exe.
I have tried modfiying within Roon to have Sonos limit to 16bit.

All endpoints that seem to stop playing are able to play 24bit 48khz through the Sonos App, PlexAmp and Tidal with no issue.

Some more details on this. For the impacted Sonos devices, playback stops exactly at 29 seconds on each one. I took a look at the error log and there are some details around what is going on, but I am unable to make total sense of it. Once someone from Support responds here I can paste the log.

Updated to Roon 1368, the problem still exists. All other forms of playing the file on the troublesome Sonos devices works fine.

Something is going on with how Roon plays to these devices. The log entries from the Sonos devices that stop at 29 seconds vs the ones that play fine are different but am unable to see what the issue is. Can someone from @support reply so that this issue can be looked at?

Hello Stephen,
if your connection to the sonos stops after 29 seconds then i’m thinking that the problem is that there are same ip addresses on your network and the STP (spanning tree protocol) does his work by closing a connection or you have more then 1 sonos wired and didn’t disable the wifi on the wired ones.
you can download Microsoft Network Monitor for free from the microsoft site this is a good way to start to investigate your network traffic.

hopes this helps to find the problem
marco

Hi Marco,

Good suggestions, but looking at my IPs for all devices in my house, there are no duplicates. Additionally, the only Wired Sonos device I have is a Boost for SONOSNet. I tested with some additional wired devices, with wifi off, and still get the issue.

It seems to be for devices that are S2, but older without Airplay. The Airplay devices play fine with Roon and sending music through RAAT (not using Airplay).

The errors at 29 seconds, from what I can see in the log, is that roon sends a request to see if the device is playing anything and the response it gets is: Track Stopped Due to LostEndpoint and OnPlayFeedback StoppedLostEndpoint.

Playing the same file through Sonos library, Plex or even from Tidal directly all play correctly. It is only when using Roon does this error occur and it started after Sonos released Firmware Version 16.

Hi Stephen,
I will advice you to download the Microsoft Network Monitor and target one of the sonos devices that stops playing, maybe that you can see whats happening. because it every time after 29 seconds i think STP or change of connection or a renewal of the smb, tls, … you name it.
The Raat server is very sensitive for timeouts and the clients are very poor in finding the server. even in my network Roon has sometimes difficulty to find the server and roon runs on a bare windows10 vm on a synology fs3600 the vm has a dedicated bond 10Gb network port (the rest has its own ports) my backbone is complete fiber 10Gb also aggregated and the pc with the client is also a 10Gb port, alright the streamer is connected at 1Gb and streamer and server are only 2 hops apart.
But I’m also not a fan of sonos (anymore) i was a early adopter and had my whole house full of sonos gear remotes, amps, connect and plays and the only thing they did was limed the functionality even replacement battery’s for the remote didn’t work after a software update. and i don’t like manufactures that deliberate out date there hardware true software updates

Alright, so update here. It turns out that firmware 16 for Sonos introduced an ‘attempted fix’ for memory leak issues relating to S1 products that were new enough to update to S2. This is why my newer devices work without issue.

Using Wireshark I was able to confirm the issue with my Play 3. From the Sonos Play 3 to Windows, I am getting [TCP ZeroWindow] and [TCP Window Update] and from the Sever to the Device I am getting [TCP Window Full], to which the device then drops off the connection.

This firmware bug is impacting Play1, 3, 5, Connect and Connect Amps that were originally on S1 and upgraded to S2. The workaround is to downgrade to S1 and then everything works as normal.

With the new firmware I am able to use it without issue as long as my playback is ANYTHING BUT ROON. If I want to use Roon, it seems for the time being that I have only a few options for consistent playback from Roon. One would be to downgrade to S1 or to see if the firmware issue can be resolved, or if Roon introduced a way to limit the buffer size sent to Sonos devices to prevent the memory from being overloaded.

I do know Roon used to allow for buffer size configurations but I see that the option to do so has been removed.

Sonos put out a new firmware, 16.1 and the issue is still there between Roon and Sonos.

Hey @Stephen_Cosgrove,

Thanks for taking the time to write in! Sorry to hear you’re having issues with Sonos dropping out.

Could you please reproduce the issue and share a specific date,time, and track playing when the issue occurs?

With that, another area I would explore - your UPnP lease time within your router settings, and see if you can increase this lease time.

What specific router model are you using?

Hi,

Roon: latest version
Sonos: Recent firmware 16.1

Router: UniFi Dream Machine [The Sonos boost is connected to this directly]
Roon is running on my server, and the network path there back to the router would be [Server-> unmanaged switch - > unmanaged switch->Router]

Roon Sever and Sonos devices have reserved IP addresses.
Test was done with Multicast DNS enabled as a suggested for Sonos configuration [issue happens with this off, I can run the test again with this off if needed]

I have gotten the issue to reoccur on multiple devices [cuts out at 29 seconds].
Date: 3/16/24

File: 24bit 48khz FLAC supported by Sonos S2.
Issue occurred on Play 3 [S1 upgraded to S2]: 7:40pm EST
Issue occurred on Play 1 [S1 upgraded to S2]: 7:41pm EST
No issue on playback to Play 1 [newer S2 version, played more than 29 seconds]: 7:51pm EST
No Issue on playback to Sonos AMP [played more than 29 seconds]: 7:42pm EST

If you would like other information or tests just let me know.

Hi @Stephen_Cosgrove,

What happens if you temporarily disable the firewall on your windows 10 server? Do your issues persist?

Firewalls turned off and the same results. [Also, all Roon and RAAT exe services have been added to exceptions]

7:23 file failed with domain firewall off [24/48]
7:24 file failed with domain and standard firewall off. [24/48]
7:26pm aac 257kbps file fails as well. All at 29 seconds of playback.

Not sure why the firewall would matter since all other devices work without issue. The issue only occurs with Sonos devices that were released prior to S2 (all Sonos devices have been upgraded to S2).

I used Wireshark a week ago to trace playback on my Sonos Play 3. From the Sonos Play 3 to Windows, I am getting [TCP ZeroWindow] and [TCP Window Update] and from the Sever to the Device I am getting [TCP Window Full], to which the device then drops off the connection. It seems when Roon sends the song data it is too much for the allocated buffer of the device.

Maybe this is a firmware bug on Sonos, or an issue with how Roon plays music on the new firmware? I have confirmed that this is impacting Play1, 3, Connect and Connect Amps that were originally on S1 and upgraded to S2.

The Play 3, even a 96kbps AAC file through Roon will cut out at 29 seconds saying that the allocated data through TCP is full and the device closes the connection and stops playback.

Hi @Stephen_Cosgrove,

Thanks for the update! Our development team has requested a deeper look into things and created an investigation ticket to do so.

As a follow-up, do you currently have any QoS rules set for the Sonos Boost from your router? If not, can you test out applying QoS and see if your issue persists?

I will keep you in the loop as new information is provided to the team. Thanks for your patience in the meantime!

Hi, I tried the QoS rules and tried turning off some other packet inspection settings and there are still failures at 29 seconds for all Sonos products that were S1 and upgraded to S2. These were working fine until a recent update.

Thanks for the update @Stephen_Cosgrove. We have an investigation ticket in with our development team, but no one has been able to reproduce the issue quiet yet.

I’m not able to speak on timelines, but I will certainly keep you updated as new information is given to me. :+1:

If it would help I can play the same track on all of my Sonos devices and post the timestamp here. That way logs for the drives that timeout at 29 seconds can be compared to full song play throughs on the ones without issue.

Just let me know.

Hi, just to let you know I am experiencing the exact same issue as Stephen with a pair of stereo Play 3’s. Happy to provide further details if useful. I have experienced this since the 16.0 Sonos upgrade.

I think this is also the same issue

Hi Shaun, thanks for adding in some information that I am not the only one! It definitely started with Firmware 16 and from reading on the SONOS boards I think the firmware was an attempt to alter the way memory is handled on the older S1 products that were able to be updated to S2. Anything that was sold and bought with S2 already on it work fine, but all my products that were S1->S2 do not work correctly with Roon. They will play the same files fine if using the Sonos app, PLEX or Tidal, but Roon will drop at 29-30 seconds.

Hey @Stephen_Cosgrove,

We’re still in discussion with development, I should have more information to share next week - thanks again for your patience so far! :pray: