Server Version#: Version 1.22.1.4200
Player Version#: Sonos S1, android app (not relevant I know) 11.2.6
Yesterday my Sonos playback worked fine, this morning despite me doing nothing, it no longer worked. When I try to start playing some audio on the Sonos, the sonos player reports that it has lost contact with the Plex server and skips to the next track in the playlist, then repeats that until it’s run out of retries.
I have done a tcpdump and seen that hitting play triggers a connection to be made to my plex server from an external IP, as expected, a TLS connection is set up, a few packets get exchanged then everything gets torn down and the connection is dropped. I can’t see anything inside the TLS connection.
The logs show nothing that I can see that seems directly associated with this.
I restarted the plex server, then as that fixed nothing, updated it, which fixed nothing. I then downgraded it again, still nothing, and now I’ve re-updated it again, still nothing.
Has the external relay service had a problem, or is anyone else seeing problems with Sonos playback at the moment?
I have checked to see that playback of the items works both from the android plex app and the web interface, it does.
Similar issue here. Even there is a difference: I did an update to the newest plex container. What I see is that if I disable Settings / Network / “secure connections” totally (i.e. not preferred as it was) it works again.
At least I can select in the Sonos App a title that is then streamed to the speaker.
What still doesn’t work (but didn’t work before) is to select a track in the Plex app and stream it then to Sonos. (even I disabled the DNS rebind protection on mit fritz.box for the domain plex.direct)
I found this as in the manage/console I was seeing TLS errors. Some about no handshake because of no shared ciphers:
Mar 23, 2021 19:28:30.042 [0xb22ff430] DEBUG - CERT: incomplete TLS handshake: no shared cipher
Now that I write this I realize I switched to the:
image: linuxserver/plex:bionic (= Ubuntu 18 / instead of focal = Ubuntu 20)
That was as in the normal docker container based on focal there was an issue with a security library as my docker host was to running ubuntu 18…
I tried turning off “secure connections” (from “preferred”) and it did indeed start working again, however I then turned “secure connections” back on again and it’s still working, so either it will later fail again or something else has fixed it, we’ll see.
I did fire up a packet trace on it earlier and it seemed that the TLS connection was set up correctly so I’m not 100% convinced that this was a TLS error as there were no TLS error messages, just an apparently working TLS connection. I also already have a custom certificate and have had for many years.
At the moment though it’s working again, so I’ll cross my fingers and hope that it continues to do so.
Well it did fail later, so this morning I turned the “secure settings” back to “disabled” and it still doesn’t work, I have no idea why it suddenly started working last night briefly but it’s back to being broken again today.
So far my experience of Sonos playback is that there seems to be an external service involved which seems to basically be required by Sonos which then redirects the local player to the external interface of the local plex server. When Sonos support stops working it seems to just start again without any real identifiable connection with anything I’m doing, often without me touching anything at all other than complaining on the forums.
I’ll have another go at this later, for now I’m using a Chromecast Audio plugged into the back of a Sonos Connect to get me by but it’s really a poor workaround as I miss all the automated controls I have set up to work with Sonos that just can’t be made to work with the even flakier combination of Google’s closed Chromecast system and Plex’s casting from a mobile client.
OK I take much of that back, it seems I am getting the “TLS No Shared Cipher” issue, so it looks like my certificate isn’t a custom one after all, I think this’ll need a bit more investigation but I suspect that an updated sonos firmware set has broken compatibility with plex due to ciphers falling out of use?
I have made sure dns-rebinding is not an issue (there are no plex.direct errors in the current logs although the attached logs show some at the start – this was spotted and corrected)
When I try to select plex content in the Sonos app I can see the content, however attempting to play it results in a “connection to the plex server was lost” error from the sonos app.
The log shows the error “CERT: incomplete TLS handshake: no shared cipher”
This issue also reported on a more specifically-titled thread started by someone else: