Troubleshooting Subnets and Players:
Recently, I had two (2) players drop off the network: one P1 and one P3. The P1 returned after 2+ hours all by itself and updated. The P3 did not, this is her story.
I won't TL;DR you here, suffice it to say I tried the listed options below per-typical when speakers drop off and these steps did not work due to other issues I call out below. Enough is written on them in Sonos Community and maybe other forums to aide you with questions and exacting order of operation for these items:
( Listed in order of trial: )
- Sonos Controller > Settings > Add Player > re-add the lost player -- wait ~3-10 minutes for speaker to re-appear;
- Unplug - wait 30s (at LEAST 10s) -- replug - wait ~3-10 minutes for speaker to re-appear;
- RESET (I don't do this lightly and don't recommend you do either since it means loss of most (all?) speaker history from Sonos account) using the PLAY+Plug-In_until_amber(red)_white flash and wait for green.
Comment: I typically, and before today have always, added speakers via WiFi connectivity and setup -- I'd never used a network cable! Also, some of these fixes below MAY be necessary for dual-subnets where controllers and or speakers may be operating on separate subnets as was my case since I had reset (lobotomized) my P3 and wanted to reconnect it using a hard-wire connection, my workstation app (Windows) instead of my phone app (android).
My Short Backstory:
Soon after adding 3rd player to our mix back in 2015, I was plagued with anomalous drops of both music and/or speaker(s) and separated groups due to various reasons. Flash-forward 2-3 months of research and trials and found my router fix: UDP PORT 1900 was effectively BLOCKED (dropped) by my router (UBNT ERPOE-5) but not deliberately. Another part of the fix was re-configuring my APs but that is irrelevant to this discussion. I found a working community contributed service (bcast-relay) which I researched and eventually loaded, configured and have been a happy 3+ Sonos playing fool since ~Apr'15 and owner since Nov'14. And needless to say, I now have many more players and "rooms" and always planing my next update.
My Necessary System Correction:
If you check out this Sonos Community relevant posting you will read that several more ports were opened on the router firewall in that situation. As a security minded IT person, I don't just open ports freely and hope for the best. So I searched and found this Sonos Customer Help Gem . NOW we're talking, a list of ports and purposes...well, kindda. I called up Sonos help desk trying to understand WHICH of those ports were needed during CONNECTION phase because either my 1900 port relay was working to help solve the "DISCOVERY/ANNOUNCEMENT" phase of the ADD PLAYER process or that port relay was not of any consequence during discovery because the P3 was always identified and MAC address presented and clicking Continue to add the speaker ALWAYS yielded the dreaded "!" Not Connected message!!!
So, the first thought for me was to add UDP port 1901 to my broadcast relay router rule. But, that alone did NOT fix the problem for my router and I don't suspect it would for other routers.
Finally, upon reviewing the list in the above second link again, I hit upon two "Sonos" ports: 6969 and 4444, which just seem to be a bit instrumental and worth a further test. I updated the router configuration adding those two ports so that I now have relay routes for 1900, 1901, 4444, and 6969 and literal magic and music started happening.
(all timings are relevant to my system size, network, and traffic load, YMMV)
A) The P3 speaker was always detected during "discovery" phase with relay rule for UDP port 1900;
However, P3 speaker only re-connected to the system with 1901, 4444 and 6969 AND in less than 8 seconds!! (I have NEVER had speakers add that fast -- this is a whole new realization for me, incredible!!!)
It took another 5 seconds for the announcement that "a new speaker needs to be added to my account" and upon entering my user id and password the player IMMEDIATELY showed up in the Windows app asking which room to identify it with. Upon which I was able to get music to it immediately.
C) Opening the Controller app on my phone afterwards showed the room playing in the group and everything else was as it should be.
My Solution template for the record:
Router: Ubiquiti ERPOE-5 (2013 model, 5 ports total)
Service add-in: bcast-relay (you can search this term in forum: https://community.ubnt.com/t5/EdgeMAX/bd-p/EdgeMAX)
Below is my configuration where eth4 is my LAN (wired) subnet port and switch0 is my WLAN (wireless) subnet ports (eth2 and eth3, aggregated on switch0). I segregate my subnets on the third octet where LAN is x.x.12.0/24 and WLAN is x.x.13.0/24 and routing rules (outside scope of this discussion) are setup to allow appropriate data to flow between the two subnets. If you are not using the internal switch within the router, substitute in your appropriate ethX interfaces and yes you can have more than two interface definitions per rule if you need.
EdgeOS CLI instructions:
set service bcast-relay id 1 description 'Sonos Bcast Relay1'
set service bcast-relay id 1 interface eth4
set service bcast-relay id 1 interface switch0
set service bcast-relay id 1 port 1900
set service bcast-relay id 2 description 'Sonos Bcast Relay2'
set service bcast-relay id 2 interface eth4
set service bcast-relay id 2 interface switch0
set service bcast-relay id 2 port 1901
set service bcast-relay id 3 description 'Sonos Bcast Relay3'
set service bcast-relay id 3 interface eth4
set service bcast-relay id 3 interface switch0
set service bcast-relay id 3 port 6969
set service bcast-relay id 4 description 'Sonos Bcast Relay4'
set service bcast-relay id 4 interface eth4
set service bcast-relay id 4 interface switch0
set service bcast-relay id 4 port 4444