Streaming to Sonos loses synchronisation: Position Timer, Track Discrepancies [Ticket In]

Roon Core Machine

QEMU VM: Ubuntu 20.04.5 LTS, 4 vCPU, 2GB RAM, 64GB LUN on SSD, 10GbE
Host: Synology RS4017xs+, Intel Xeon-D 1541 8-core @ 2.1GHz, 48GB RAM

Networking Gear & Setup Details

Juniper EX3400-48P
No wifi in this picture

Connected Audio Devices

Sonos Play:5 - ethernet
Sonos Five - ethernet

Number of Tracks in Library

~10000 tracks

Description of Issue

I have the same issue as this (old and closed) post: Streaming to Sonos loses synchronisation

  • after some random time, the progress bar doesn’t reflect what is being played anymore: it is behind

I would like to ask to take another shot at this.

Hi @Dominic_Cuynen ,

Can you please reproduce this issue, and let us know the exact local time + date + track that was playing when you experienced this issue? I can enable diagnostics mode afterwards for your account, thanks!

Hello,

I just noticed it: May 8th 13:49 CET.
Unfortunately it may have started occurring anywhere from ~10:30.
I will try to narrow things down in subsequent attempts.

Song that Roon says is playing (zone Office):
/data/music/hi-res/Metallica_-Metallica(Deluxe_Box_Set)/0507-metallica-the_thing_that_should_not_be_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-3ee209ba.flac

Song that is really playing (I think):
/data/music/hi-res/Metallica_-Metallica(Deluxe_Box_Set)/0506-metallica-wherever_i_may_roam_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-bd1945e9.flac

Quick movie of this on youtube

Additional observations:

  • Roon progress bar is moving forward only every 3-4s
  • pausing/resuming has no effect
  • closing/reopening Roon desktop app has no effect
  • pausing for a few minutes to write my response here, and then resuming, seems to start playback at the point indicated by Roon

Noticed it again at May 22, 13:09 CET.

Roon says this file is playing:
/data/music/hi-res/Metallica_-Metallica(Deluxe_Box_Set)/0504-metallica-welcome_home_(sanitarium)_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-7f1153cc.flac

Actually this file is playing:
/data/music/hi-res/Metallica_-Metallica(Deluxe_Box_Set)/0503-metallica-harvester_of_sorrow_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-2e6238d1.flac

The play session consisted of the following files (take base path from above):

  • 6:01 > 0411-metallica-harvester_of_sorrow_(live_at_the_liebenau_graz_austria_september_11th_1991)-4525bb5d.flac
  • 6:10 > 0412-metallica-nothing_else_matters_(live_at_aggie_memorial_stadium_las_cruces_nm_august_27th_1992)-9e1b3bf6.flac
  • 1:40 > 0501-ennio_morricone-the_ecstasy_of_gold_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-1d1d857e.flac
  • 7:07 > 0502-metallica-creeping_death_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-f1fd26cc.flac
  • 7:01 > 0503-metallica-harveste6r_of_sorrow_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-2e6238d1.flac
  • 6:50 > 0504-metallica-welcome_home_(sanitarium)_(live_at_maimarktgelaende_mannheim_germany_may_22nd_1993)-7f1153cc.flac

Tracing the track lengths, I would say the shift occured between 12:41 CET and 13:09 CET.

Does that give enough info?

Kind regards,

Dominic

Mon 5 Jun 14:04

Playing at Sonos:Five (Office)

Roon plays /data/music/albums/iron_maiden_-best_of_the_beast/208_track08.flac
and switches to /data/music/albums/iron_maiden
-_best_of_the_beast/209_track09.flac

This 2nd track doesn’t start at the beginning.
Because I heard the skip I immediately switched to see what Roon was doing.
The progress bar was correctly indicating track 209 Hallowed Be Thy Name but the progress bar was moving forward at a pace of at least 10s per 1s of realtime (audible playback was normal speed).

Another related side-effect I sometimes have is the following:

When playing an album/playlist, due to the Roon playlist skipping ahead of what’s actually playing;
Roon indicates nothing playing anymore at 1 or 2 tracks before the end.
At this point you also can’t stop anything.

Sonos app tells me it is still playing Roon.flac

Hello,

Do you already have any findings to share?

Kind regards,

Dominic

Hi @Dominic_Cuynen ,

Are you still seeing this issue on the latest Roon release? We spoke to the team regarding this and they have noted that this may be a network-related issue. We heavily rely on Sonos to tell us where the position it is in the track, and if there are any network issues, Roon can end up missing some of these “this is where I am in the track” messages.

This appears to be a Managed switch with QoS abilities. We have sometimes found that managed switches can be the cause of similar issues, are you able to temporarily bypass the switch and see if the issue remains?

1 Like

Hi @Dominic_Cuynen,

How, specifically, have you hardwired the Play:5 and the Sonos Five? Are they on separate ethernet ports on the Juniper, daisy-chained inline together, or in configuration with other hardware of some kind?

SonosNet effectively builds a second Sonos-only network on top of whatever LAN is already available, but will occasionally “short-circuit,” so to speak, in finding the closest path to a linked Sonos device. In certain situations, this can interfere with traffic passing between other Sonos devices in Roon. Knowing the particular configuration of your Sonos network may illuminate what’s wrong.

Please see my colleague’s questions above as well. Thank you!

Hello,

Thanks for the replies.

  • QoS is disabled on the switch so it should essentially work like an unmanaged switch with a single shared buffer.

  • Bypassing the switch should be possible.
    Currently Roon Core runs as a VM on Synology (QEMU I think) and is wired via a fiber trunk.

    • Connect a new unmanaged switch to the Juniper switch
    • Connect Sonos to unmanaged switch
    • Connect VM to a new virtual bridge network on a copper port which is also wired to the unmanaged switch
  • Other network issue / “We heavily rely on Sonos to tell us where the position it is in the track”
    Here I suppose we can try to correlate what Sonos sends with what Roon Core receives.

    • I can look into packet capturing what the Sonos sends
    • I can look into packet capturing what the Roon Core receives from the Sonos
    • Is it possible to have Roon Core log the track position info it receives from Sonos?
  • Play:5 and Sonos Five are wired to separate ports on the Juniper.
    Would it have any effect to disconnect all but 1 Sonos?

Kind regards,

Dominic

1 Like

Bypassing the switch did not change anything.

I’ve purchased a Netgear GS105 unmanaged switch;
and connected the Roon Core, Sonos Play:5 and Sonos Five directly to it.

The problem remains.

Staying focused on the network side of things, my next step is to understand what SonosNet is really doing.

1 Like

Hi @Dominic_Cuynen,

Thank you for the precise reports. The team is investigating with development - Roon receives playbar position from Sonos, and we can confirm in logs that Sonos is miscommunicating the position here immediately after a drop in bandwidth. The buffer within Roon is also hanging.

Fortunately, yes. This is available in logging and was our mechanism for determining the above information.

This is absolutely worth trying as it would reduce a large number of variables. SonosNET will forward traffic between these devices and there’s a possibility of loops, reflection, etc.

We’ll follow up shortly with what we learn with development. Thank you for your patience.

Hi @Dominic_Cuynen,

We’ve enabled a setting for your account that should provide more precise diagnostic logging with Sonos devices. Please restart your Roon Server machine two times to make sure this setting has taken effect, and attempt to play to your affected Sonos devices at your convenience. We’ll see any relevant events in logs. Thank you!

Hi @Dominic_Cuynen,

We’ve identified some potential inroads from logs and are syncing with development. Please allow us another few days and we’ll have next steps. Thank you!

Hi @Dominic_Cuynen,

We’ve continued to review diagnostics and logs with development and have a few follow-up questions and steps:

  1. Are you able to reproduce this issue at will? If you’re in a position to try, please attempt to switch your Roon Server to your Macbook to see if the problem also occurs when connecting to that machine - we want to rule out the VM as a variable here.

  2. When you next encounter a skipped track, incorrect track, or incorrect position timer, rather than pausing/playing the stream, remove and then re-enable the affected Sonos Zone within Roon. Note this will not be as effective or efficient with grouped Sonos Zones, as disabling Zones requires recreating the group.

  3. We have identified a mechanism for a potential mismatch in the position timer handoff between Sonos and Roon and created a ticket to address the issue with development. Please allow us a few weeks to track the ticket and merge the fix. In the meantime, we’ll continue to assess logs and keep this thread open. This issue is under active investigation.

Hello,

Thanks for keeping me informed.

Having Sonos Five as only speaker had no effect → issue remained.
Disabling SonosNet (as far as I can be sure) had no effect → issue remained.
Detailed post to follow on SonosNet.

Feedback on your points:

Currently I have installed another Roon Server on a Windows PC (macbook is used for work w/ vpn connections - didn’t want to throw that into the mix).
I suppose it doesn’t matter if the goal is to eliminate the VM as a variable.

Kind regards and thank you!

Dominic

non-VM results

Installed RoonServer on a Windows 10 PC.
Problem remains.

When encountering the skipping; I disabled the Sonos Five in Settings/Audio.
This stopped the audio playing.
Next, I re-enabled it.
The queue was remembered and I resumed playback from where it left off.s
I let the remainder of the queue play to the end, and then started playing a new album.
The timeline skipping was again there.

Windows 10 PC:
i7-6700K
32G RAM
500G SSD, 1T SSD, 1T SSD
10G network

windows defender firewall disabled for good measure

keep alive

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