Windows 10 Sonos Controller won't launch, stuck on icon (AGAIN!!!)

  • 23 September 2021
  • 9 replies
  • 850 views

  • Contributor I
  • 5 replies

This BUG is still present, more than a year after being reported on this forum for the first time.

Issue, cause and workaround have been documented in: 

The problem and workaround were acknowledge by a Sonos rep more than 6 months ago.  But the problem persists.

Would it be possible for Sonos to actually fix the bug in the next update?


This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

9 replies

Userlevel 7
Badge +23

Seems very specific to a few configurations. Do you know what is using that port on your PC?

Or try a third party Sonos app from the Store :-)

Standard Windows NAT.   Which on its turn is used by Docker, Kubernetes and some Virtual Machines. So I expect this will affect many software developers using these products on Windows 10 and WSL.

Killing the hanging Sonos controller, then restarting the NAT service and then starting the Sonos controller again, works around the issue.  I mostly use my phone as a backup, less work than the workaround.

It is a bug in the Sonos controller in trying to get access to a port is doesn't own.  I imagine that it wouldn't be too hard to fix quickly.

 

Userlevel 7
Badge +23

Strange. I did a network capture of both S1 and S2 starting up and running on my PC and port 3410 was not used for TCP or UDP. I wonder why Sonos is wanting to use it on your system?

None of my apps have ever needed to use that port.

That port is also not listed on the Firewall page: https://support.sonos.com/s/article/688?language=en_US

Not a clue where it is used for and why it isn't used on your system.

The controller app writes an xml startup log file.  The error -including the port number- appears there.  With netstat you can see if the port is in use.  It is not.  With netsh int ipv4 show excludedportrange protocol=tcp you can list the reservations.  And since it is reserved, so only the reserving app can use it.

The reserving app in this case is the Windows Nat Service, if you disable the service, the reservations go and the Sonos controller can run.

If the port is only used for local communications between Sonos processes it wouldn't (perhaps even shouldn't) need to be configured in a firewall.

---

Actually just got an update pushed.  My version is now: S2, 13.3, build 65121150.

Problem did not appear after the update, but today the NAT did not reserve port 3410.  It reserves a large number of blocks, not always the same.  The problem is intermittent, depending on the NAT's mood during start-up.

I'll check again tomorrow after boot-up.

 

 

Hanging again.  Not solved during latest update.

I had the same issue today (win10 & s2), suddenly I would be stuck with only the sonos logo. Tried everything on all ohter posts mentioned.

 

Then this worked out for me:

  • Disable wifi
  • Open S2 app - it did open now with the question to join to a new/existing system
  • Also it asked something about the firewall, I opted for the firewall configuration changes
  • Re-enabled wifi
  • tadaa! :)

@sonosmonosuser  Had it again today with latest update in.

The problem is quit intermittent,

Also, when WiFi is disabled and it is your only network, you can bet that Windows shuts down the NAT service.

Going to complain agan...

My Sonos app stopped responding in a similar way after I recently updated to Windows 21H2 (and updated my firmware...seems less likely to be relevant, but perhaps not impossible).  Just stuck on the logo screen.

 

Googling turned up this thread.  And, for lack of anything better to do, I tried disabling my WiFi adapter...which I don’t even use.  It’s a desktop machine where I use the Ethernet adapter...the motherboard has a WiFi adapter which I have never connected to my network, but also have never previously disabled.  And...suddenly, I started getting firewall prompts, and after addressing those, things started working.

The root cause seems to be that Sonos controller wants to have port 3410 for whatever reason. And hangs forever during start-up if it cannot get it.  Not a clue why it wants to access this port.  When the start-up is done it won't use it anymore.

If the port is available, no problems.  But if some other application either has the port open or has it reserved, Sonos cannot get the port.

It turns out that -also for reasons unknown- the Windows NAT service randomly reserves a bunch of port ranges.  It does shortly after boot, and when such a range includes port 3410 →  no Sonos Controller.

The ranges are chosen at random, so sometimes the problem is there and sometimes it is not there.

I'm 100% sure that it is the port issue, because Sonos Controller writes log-files and the error message is just there.

Also 100% sure that it is WINNAT, because after disabling the WINNAT the Sonos Controller will start-up.  You then can enable WINNAT again.

I probably get WINNAT running because I use Docker on my machine and it sets up a NAT-ed virtual network to connect its containers.

I don't use WiFi on this machine.  It has an adapter, but it is always off.

Now why does switching off WiFi help?  It could be because Windows switches on WINNAT if you have WiFi on and not when there is no WiFi.   But it can also be a totally different problem, that just shows the same, a hard hanging Sonos Controller, just after showing the splash screen.

What amazes me is that Sonos hasn’t fixed this.  Port number 3410 is in the middle of the IANA controlled port range.  The particular port number is unassigned (according to the list in Wikipedia).  No clue why Sonos or WINNAT would want to use such a port.

But the Sonos controller should not hang forever.  It does find out that it can't open the port, because it writes the error to its start-up log.  But after that it should do something else that hanging forever (well.. at least a day, I have tried it).