Skip to main content
Atom P
Sonos Staff
April 8, 2026
Tutorial

Sonos + UniFi: Best Practices & Recommended Settings

  • April 8, 2026
  • 106 replies
  • 9461 views

Hello, everyone! I want to share some insights regarding Sonos setups in Ubiquiti UniFi environments. We see common questions and suggestions around how best to use Sonos with UniFi networks, and I wanted to give you the inside scoop on how we approach this troubleshooting. Unifi already has a solid guide on Sonos that we recommend checking out here, but we wanted to expand upon this.

We know that UniFi gear is incredibly popular among our power users (and many of us internally!). While Sonos is designed to work on standard home networks out of the box, managed networks like UniFi offer a level of control that can sometimes inadvertently block the communication Sonos needs to keep your system in sync.

To be clear, home networking is complex and every environment is unique. However, based on our internal documentation and successful troubleshooting sessions, here are the configurations we recommend to keep your music playing without interruption.

 

Disclaimer. This article is up to date through April 2026. Some settings might have changed since we first made this article.

June 2026 Update: The Sonos app now gives users the ability to disable SonosNet across their entire Sonos system. Take a look at ​@Liz P.’s update post for more info!

 

 

 

The "Golden Rule": Wired vs. Wireless

 

One of the most common causes of network storms/loops is a mixed environment where some Sonos players are wired and others are wireless, combined with conflicting Spanning Tree Protocol (STP) settings.

For the most stability, we generally recommend one of two approaches:

  • Fully Wireless: All Sonos products connect directly to your UniFi WiFi. 
    • This is often the easiest setup for modern Sonos products like Era 100/300, Move, and Roam.
  • Fully Wired: All capable Sonos products are Ethernet-wired.
    • WiFi is manually disabled on each player via the Sonos app.

If you are using a "Mixed" setup (some wired, some wireless using SonosNet), you must configure your STP settings correctly on your switches to avoid packet storms. (See the "Spanning Tree" section below).

 

Troubleshooting: "Missing Rooms" or Grouping Issues

 

If you are seeing speakers disappear from the Sonos app, or if you group rooms but audio only plays from one speaker, check that Multicast traffic is not being blocked or filtered and IGMP snooping is enabled.

Here are the settings we recommend checking in your UniFi Network Controller. Note: Menus may vary slightly depending on your Controller version.

  1. Check the basics: Ensure the controller (your phone) and the system are on the same subnet/VLAN.
  2. Verify the "Disable" list: Go back to the WiFi settings above and triple-check that Multicast and Broadcast Control and Multicast Enhancement are turned off. 
  3. Re-Provision: After changing these settings, allow a minute for the Access Points to re-provision. It is often helpful to reboot the Sonos players after the network settings have been applied to clear any stale connection states.

Unifi WiFi & Network Settings for Sonos

 

TL;DR: Disable Multicast Enhancement, Broadcast Control, and Client Isolation

Go to Settings > WiFi and select your WiFi name. Change Advanced Configuration to Manual to verify the following:

  • Hotspot 2.0: Set to Off. 
  • Multicast to Unicast (previously called “Multicast Enhancement”): Disabled (unchecked). Note: While this sounds like something you’d want on, it converts multicast to unicast, which can cause issues with Sonos grouping.
  • Multicast and Broadcast Control: Disabled (unchecked). This blocks multicast traffic for non-listed devices and is a common culprit for missing players.
  • Client Device Isolation: Disabled (unchecked). This prevents devices on the same AP from talking to each other.
  • Proxy ARP: Disabled (unchecked).

Global Network Settings

 

TL;DR: mDNS: Enabled, IGMP Snooping: Enabled

Go to Settings > Networks and select the network Sonos uses:

  • IGMP Snooping: Enabled. This helps reduce unnecessary multicast traffic while ensuring the right packets get to your speakers.
  • mDNS: Enabled. Technically speaking, this helps with device discovery. However, if you are running a complex setup with separate Sonos systems on different VLANs, mDNS might actually need to be disabled—but for 99% of home users, keep this ON.

Spanning Tree Protocol (STP) Settings

 

If you have any Sonos devices wired to your network (without disabling WiFi), you must configure STP on your UniFi switches to prevent network loops. Sonos uses STP (802.1d) to figure out the best path for data.

 

Global Switch Settings

 

TL;DR: STP switch priority 4096/8192/12288.

  • Spanning Tree: Select STP (not RSTP).
  • Priority: Set your core/main switch to 4096.
    • If you have secondary switches daisy-chained, set them to 8192.
    • Tertiary switches should be set to 12288.

Port Specific Settings: For the specific ports where a Sonos device is plugged in:

  • STP: Enabled
  • Edge Port: Auto or Enabled
  • BPDU Guard: Disabled
  • Root Guard: Disabled
  • Path Cost: 10
  • Port Priority: 128

Final Thoughts

 

I hope this helps clarify the best way to harmonize Sonos with UniFi gear. We know some of you have sophisticated home networks, and we want to ensure our products play nicely with them.

I'm happy to answer questions about these specific settings to the best of my ability. If you have a specific topology that defies these rules, let us know in the comments—we love seeing how you all set things up!

106 replies

Local Superstar
April 16, 2026

 

Why Sonos just don’t fix the damn underlying problem, at least on S2 devices, I don’t understand.

Sonos have fixed the problem, as modern, post-Era products do not use STP.

Is this still correct if the Ethernet USB connector is used?

Yes.

https://support.sonos.com/en/article/switch-sonos-between-a-wireless-and-wired-setup

Products that don’t support the dedicated Sonos wireless network

The following products must either be connected to your home WiFi network in a wireless setup or connected via ethernet, if supported.

  • Arc Ultra
  • Era 100
  • Era 100 Pro
  • Era 300
  • Move
  • Move 2
  • Roam
  • Roam 2
  • Roam SL
  • Sub 4
Smilja
April 16, 2026

From what I understand, the Wi-Fi module is automatically disabled when the Ethernet USB connector is plugged in.

»And the world is like an apple whirling silently in space, Like the circles that you find in the windmills of your mind.« (›Windmills Of Your Mind‹ [1967]. Music by Michel Legrand ; English lyrics written by Alan & Marilyn Bergman)
buzz
Grand Maestro
April 16, 2026

In general this is not correct, however, there are a few exceptions. 

Smilja
April 16, 2026

From what I understand, the Wi-Fi module is automatically disabled when the Ethernet USB connector is plugged in.

 

Sonos products that can use the Sonos Combo Adapter will automatically disable their WiFi when they’re connected to a network with an ethernet cable.

Disable or enable WiFi on your Sonos products | Sonos

»And the world is like an apple whirling silently in space, Like the circles that you find in the windmills of your mind.« (›Windmills Of Your Mind‹ [1967]. Music by Michel Legrand ; English lyrics written by Alan & Marilyn Bergman)
Stanley_4
Grand Maestro
April 16, 2026

I don't have the Ethernet dongle to test my 100s or 300s with but looking at the Sub 4 it sure looks like it has a bridge available. The ath0, br0 and eth0 are all present. It is shown as STP disabled as is expected with only the ath0 active.

I'll try and dig into this more as it isn't a Sonosnet issue but a multiple network ports issue.

http://172.16.1.xxx:1400/support/review

/sbin/ifconfig

running /sbin/ifconfig

ath0 Link encap:Ethernet HWaddr C4:38:xxx  

          inet6 addr: fe80::c638:75ff:fedc:2b64/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:828974 errors:0 dropped:0 overruns:0 frame:0

          TX packets:373109 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3000 

          RX bytes:167269924 (159.5 MiB) TX bytes:48847907 (46.5 MiB)

 

br0 Link encap:Ethernet HWaddr C4:38xxx  

          inet addr:172.16.1.134 Bcast:172.16.3.255 Mask:255.255.252.0

          inet6 addr: fe80::c638:75ff:fedc:2b64/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:885358 errors:0 dropped:68747 overruns:0 frame:0

          TX packets:368069 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:167103417 (159.3 MiB) TX bytes:50872907 (48.5 MiB)

 

eth0 Link encap:Ethernet HWaddr C4:38:xxx  

          UP BROADCAST MULTICAST MTU:1500 Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

          Interrupt:18 

 

lo Link encap:Local Loopback  

          inet addr:127.0.0.1 Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING MTU:65536 Metric:1

          RX packets:488 errors:0 dropped:0 overruns:0 frame:0

          TX packets:488 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:44180 (43.1 KiB) TX bytes:44180 (43.1 KiB)

 

 

/usr/sbin/brctl showstp br0

running /usr/sbin/brctl showstp br0

br0

 STP is disabled for this interface

Stanley_4
Grand Maestro
April 16, 2026

Dug out my looong Ethernet cable and hooked up my Arc Ultra, looked like it did a quick restart once the cable was inserted.

Before Ethernet:

running /sbin/ifconfig

ath0 Link encap:Ethernet HWaddr C4:38:xxx  

          inet6 addr: fe80::c638:75ff:fe16:2e47/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:636036 errors:0 dropped:0 overruns:0 frame:0

          TX packets:266366 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3000 

          RX bytes:134895628 (128.6 MiB) TX bytes:57859403 (55.1 MiB)

 

ath1 Link encap:Ethernet HWaddr C4:38:xxx  

          inet6 addr: fe80::c638:75ff:fe16:2e49/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:1641178 errors:0 dropped:2 overruns:0 frame:0

          TX packets:4104789 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:209143564 (199.4 MiB) TX bytes:909762340 (867.6 MiB)

 

br0 Link encap:Ethernet HWaddr C4:38:xxx 

          inet addr:172.16.1.130 Bcast:172.16.3.255 Mask:255.255.252.0

          inet6 addr: fe80::c638:75ff:fe16:2e47/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:1209504 errors:0 dropped:87106 overruns:0 frame:0

          TX packets:725844 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:189360453 (180.5 MiB) TX bytes:92183575 (87.9 MiB)

 

eth0 Link encap:Ethernet HWaddr C4:38:xxx  

          UP BROADCAST MULTICAST MTU:1500 Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

          Interrupt:15 

 

lo Link encap:Local Loopback  

          inet addr:127.0.0.1 Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING MTU:65536 Metric:1

          RX packets:527 errors:0 dropped:0 overruns:0 frame:0

          TX packets:527 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:52008 (50.7 KiB) TX bytes:52008 (50.7 KiB)

 

 

/usr/sbin/brctl showstp br0

running /usr/sbin/brctl showstp br0

br0

 STP is disabled for this interface

 

After Ethernet:

running /sbin/ifconfig

ath0 Link encap:Ethernet HWaddr C4:38:xxx  

          inet6 addr: fe80::c638:75ff:fe16:2e47/64 Scope:Link

          UP BROADCAST MULTICAST MTU:1500 Metric:1

          RX packets:637501 errors:0 dropped:0 overruns:0 frame:0

          TX packets:267442 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3000 

          RX bytes:135129955 (128.8 MiB) TX bytes:58196377 (55.5 MiB)

 

ath1 Link encap:Ethernet HWaddr C4:38:xxx  

          inet6 addr: fe80::c638:75ff:fe16:2e49/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:1649028 errors:0 dropped:3 overruns:0 frame:0

          TX packets:4116697 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:210669808 (200.9 MiB) TX bytes:912280243 (870.0 MiB)

 

br0 Link encap:Ethernet HWaddr C4:38:xxx  

          inet addr:172.16.1.130 Bcast:172.16.3.255 Mask:255.255.252.0

          inet6 addr: fe80::c638:75ff:fe16:2e47/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:3000 errors:0 dropped:35 overruns:0 frame:0

          TX packets:2956 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:780394 (762.1 KiB) TX bytes:1018695 (994.8 KiB)

 

eth0 Link encap:Ethernet HWaddr C4:38:xxx  

          inet6 addr: fe80::c638:75ff:fe16:2e47/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:2396 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2389 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:756120 (738.3 KiB) TX bytes:1011972 (988.2 KiB)

          Interrupt:15 

 

lo Link encap:Local Loopback  

          inet addr:127.0.0.1 Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING MTU:65536 Metric:1

          RX packets:598 errors:0 dropped:0 overruns:0 frame:0

          TX packets:598 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:70298 (68.6 KiB) TX bytes:70298 (68.6 KiB)

 

 

/usr/sbin/brctl showstp br0

running /usr/sbin/brctl showstp br0

br0

 STP is disabled for this interface

Either way it does look like STP is disabled, Sonos must be doing something other than STP to prevent network looping. Might well have been easier than trying to move the core Linux kernel code forward to RSTP.

 

Edit: Pulled the Ethernet and 30 seconds later got a reboot LED pattern, the reboot seemed to go faster than a power/update reboot. Interesting stuff, sure wish we could see the internals, even if only the open-source stuff.

Local Superstar
April 17, 2026

Either way it does look like STP is disabled, Sonos must be doing something other than STP to prevent network looping.

If there are no additional network paths, there is no requirement for loop detection.

controlav
Lead Maestro
April 17, 2026

All five of my Sonos systems are mixed wireless & wired on Ubiquiti, and I have never needed to mess with STP.

Curious, what UniFi switch(es) are you using? Maybe STP is disabled.

I have a UDR 7 + USW Lite 8 in one location, and a UCG Ultra + USW Flex Mini in the other.

Author of the leading independent Sonos apps for Android, MacOS, iOS, Windows and Xbox.
Stanley_4
Grand Maestro
April 17, 2026

Either way it does look like STP is disabled, Sonos must be doing something other than STP to prevent network looping.

If there are no additional network paths, there is no requirement for loop detection.

True but the Arc Ultra in the second example had two paths available, Wi-Fi and Ethernet. 

Local Superstar
April 17, 2026

Either way it does look like STP is disabled, Sonos must be doing something other than STP to prevent network looping.

If there are no additional network paths, there is no requirement for loop detection.

True but the Arc Ultra in the second example had two paths available, Wi-Fi and Ethernet. 

The Arc Ultra has 3 physical network interfaces, 2x WiFi, and 1x Ethernet. The ‘ifconfig’ command is not showing any network paths, just displaying the interfaces on the Arc Ultra. I recall the network matrix/brctl command will show paths, if SonosNet is enabled on older devices.