After having good succes with solving my Airprint issue, I went back into the UniFi admin app and found settings that also fixed the abysmal performance of my Sonos speakers.
The solution I found was a specific setting for each individual access point. Under the “Radios” setting, you can select the “Channel Width”. This was set to the lowest setting, e.g. 20MHz instead of 40MHz, or whatever max width the device supports. Simply kicking these settings to the highest value, all my Sonos gear now react instantly, with no buffering or drop-out.
I can’t for the life of me remember choosing this setting, so I imagine it’s a default setting.
Just leaving this here for future searches, in hopes it can help someone else. It’s been a gnarly issue to solve.
In general, best practice for Wi-Fi networking of any brand is to always use the default of 20MHz for the 2.4 GHz band.
Due to various technical details of how Wi-Fi works, on the 2.4 GHz band, it is easy for a malfunctioning device to hog the whole channel and degrade traffic to every device, so increasing the channel width, which is a tradeoff of real-world throughput versus theoretical higher speeds, is really only viable for the newer channels/frequencies and not the classic 2.4 GHz band.
Sonos, specifically, is further complicated depending on whether the Sonos gear is creating it’s own 2.4GHz mesh (aka “Sonos Net”) or using standard Wi-Fi networking.
The oldest Sonos gear only worked in Sonos Net mode, a lot of existing Sonos gear can be configured either way, and portable (Sonos Roam, Sonos Move) plus newest Sonos gear do not support Sonos net at all.
If you have smart Ethernet switches, especially UniFi, you’ll probably want to override the default RSTP protocol to STP. Sonos Net does not support RSTP.
Lastly, and often the most confusing, when using Sonos as Home Theater / Surround Sound speakers with a TV, Sonos creates a separate 5 GHz proprietary wireless network just in that room and just for that specific TV. This wireless network is completely different from the router/Wi-Fi gear 5 GHz network.
(Configuration of Sonos is very topology and equipment dependent, so the above isn’t meant as a proscriptive configuration that works in every situation, more of a “here’s some of the things you need to be aware of consider” when setting up Sonos to work optimally.)
AirPrint and Sonos, have been responsible for the IT quip “Its always DNS” to be modified for Apple environments to “Its always mDNS”.
There is a bit of truth to that: Both AirPrint and Sonos (along with AirPlay) rely heavily on mDNS working properly.
mDNS, being primarily an Apple multicast protocol, has often been an edge-condition bug or feature limitation on a lot of Wi-Fi and networking gear.
I personally “fought” HomeKit, AirPrint, and Sonos problems on home networks for many years until various vendors (Eero, UniFi) quietly fixed their long-standing bugs with mDNS.
It also helped that Apple switched HomeKit from a peer-to-peer with optional hub architecture to a hub-only architecture that reduced, but did not eliminate, the dependency of HomeKit devices on mDNS.
(That’s why it is much less common to see “device not responding” errors with HomeKit over the past few years versus the early days of HomeKit.)
My Sonos devices all connect via wifi. I once made the mistake of hooking one of them to Ethernet, and then all the devices got switched into SonosNet. Nothing worked right after that.
I do have my Sonos Amp hooked up to my TV, but only using HDMI ARC to receive the sound, no sound transmitted from TV to the amp-connected speakers over wireless.
FWIW, typically the advice is to hook exactly one Sonos device to Ethernet unless you want to fiddle with STP configurations, but yeah, once SonosNet is involved, it gets complicated.