Answered

Support for SMB v2 or v3



Show first post
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.

110 replies

Mac computer and Windows computers now both have the ability to share using our implementation of HTTP file sharing using the Sonos app.

I consider this a weird hack to “solve” the issue of Win 10 dropping OOTB support for SMBv1 (for good reason!). We asked for an alternative for SMBv1 since *years*, and now only one months after latest Win 10 version, you deliver a half-baked “solution”. Still, this is a weird hack, implementing a web server inside a client application to allow external (speaker) access to local files. Let us see how long it takes someone finds a security issue inside the Sonos “client”, as I guess Sonos’ development strengths do not necessarily include secure http servers. And what happens next, will the application become a full functional email client (ref: http://www.catb.org/jargon/html/Z/Zawinskis-Law.html)?

Besides all the fuzz: what is so difficult in implementing an SMBv2 or v3 client in Sonos speakers? I guess we all would accept any reasonable answer much more than just no communication and weird hacks/incomplete workarounds.

Jonas
Userlevel 7
Badge +21
Many NAS boxes do have the ability to run a web server... it's just a matter of getting things configured in such a way that Sonos would be able to connect to it... like the odd port number, authentication (if any), and any path structure that Sonos might use ahead of the actual folders/files.

Shouldn't be too hard to monitor with something like Wireshark, since it's HTTP. Of course, then getting Sonos to use it as a web service rather than SMB might be the next trick.
Userlevel 2
Badge
Hi everyone, starting with today's update, Sonos 8.6, Windows computers will be able to set up shares to their local libraries to Sonos without using SMB file sharing. We aren't removing support for SMB at this time, and you will continue to need to use it for NAS drives, but Mac computer and Windows computers now both have the ability to share using our implementation of HTTP file sharing using the Sonos app. For more details, see the post here.

Thank You.

Can confirm it is working too.

Pete
Userlevel 7
Badge +26
For those of us not using Windows to share our libraries, can we expect an update to HTTPS or SMB 2/3 or are we locked in at smb1?
We're still looking into options for NAS drives but don't have any specific details I can share. The HTTP share is created by the Sonos app, which NAS drives don't and can't run. I'll make sure to let you all know if there's any news regarding NAS sharing away from SMB1 that I can let you in on in the future.
Userlevel 7
Badge +15
Latest firmware release 8.6 deprecates smb1 in favor of http.

https://en.community.sonos.com/announcements-228985/sonos-8-6-app-improvements-and-new-windows-library-sharing-6808278
...but only for PC's/MAC's. NAS's, as I understand it, still need to be on SMB1 so Sonos can access them.
Userlevel 5
Badge +12
Latest firmware release 8.6 deprecates smb1 in favor of http.

https://en.community.sonos.com/announcements-228985/sonos-8-6-app-improvements-and-new-windows-library-sharing-6808278
Userlevel 6
Badge +15
Is this HTTP file sharing a Sonos proprietary protocol, or are you utilizing an open standard?
Userlevel 5
Badge +1
For those of us not using Windows to share our libraries, can we expect an update to HTTP or SMB 2/3 or are we locked in at smb1?
Userlevel 7
Badge +26
Hi everyone, starting with today's update, Sonos 8.6, Windows computers will be able to set up shares to their local libraries to Sonos without using SMB file sharing. We aren't removing support for SMB at this time, and you will continue to need to use it for NAS drives, but Mac computer and Windows computers now both have the ability to share using our implementation of HTTP file sharing using the Sonos app. For more details, see the post here.
Supposition......
Yes, I thought so... I hadn't seen anything official from Sonos...

If Sonos is truly evil and nasty, just jerking us around for their amusement despite it hurting their sales numbers then my (researched) guess is wrong.
I doubt evil and nasty, just focussed on the bottom line. We're led to believe that a very high proportion of Sonos users purely stream, rather than use local storage, so it's just a numbers game.
Userlevel 7
Badge +22
Supposition, based on looking at the Linux version that Sonos is using versus the version that works with the newer SMB releases. I'm retired now and a bit rusty at that kind of thing so no guarantee on my guess.

You can do the same research, all the source code is available from Sonos for their Linux version and the newer Linux kernels and
SMB stuff are on-line about anywhere.

If it was a simple thing Sonos would have had their Linux kernel maintainer do a bit of copy/paste and had SMB v3 working years ago.

If Sonos is truly evil and nasty, just jerking us around for their amusement despite it hurting their sales numbers then my (researched) guess is wrong.
I'd love to have newer SMB but not at the cost of having to replace my older Sonos Zone Players because they don't have the hardware needed to support it.
Do you have evidence that SMB2 and3 couldn't be made to work on old players, or is this merely supposition?
There's absolutely no reason that a brand new, premium product should require the use of an ancient insecure version of SMB. If I wanted to tinker with a Raspberry Pi or buy a second NAS I wouldn't have bought what was supposedly a easy to use, premium product. With respect to your older Zone players, there's also absolutely no reason that Sonos couldn't do different firmware versions with updated features for different products. Put another way, keeping their currently shipping products current doesn't mean that your older investment should be affected at all. Add SMBv2 or SMBv3 support to the Play:1, Play:3, and Play:5 such that those products can take advantage of it. Leave the older stuff alone. Sonos shouldn't have to hold the new products hostage to the old, nor should an upgrade to the new impact you one way or the other.

I stand by my position. This is broken. Sonos should fix it. Older products have nothing to do with it.
Userlevel 7
Badge +22
So add a cheap NAS like the WD Live drives or even cheaper roll your own NAS using a Raspberry Pi and move on.

I'd love to have newer SMB but not at the cost of having to replace my older Sonos Zone Players because they don't have the hardware needed to support it. Look at the unhappiness over the ending of the CR 100 that for most folks was a minor issue.
So I finally decided to get a set of Sonos Speakers. My two Play:3's arrived today. I went to set them up. I go to point them to my NAS and it won't connect. I do a little digging. SMBv1!? WTF!!!! Come on Sonos, it's 2018. SMB v2 has been out since 2006, SMB v3 since 2012. This is insane. It is utterly ridiculous that a supposedly premium product is using an ancient insecure version of SMB. I'm not trying to be rude, but this is incredibly disappointing. No, I don't want to stream. I want to play MY music collection from my speakers, without going back and downgrading the security settings on my NAS box. I still haven't heard a blessed thing out of my brand new speakers other than the setup chime.
Userlevel 7
Badge +26
Let's keep it friendly everyone, no need to be antagonistic toward anyone.

Some good discussion and speculation here, I can't share many details but we are looking at the SMB integration and ways to make changes for the future. We'll let you know as soon as there's more to say here. SMB is a tricky one, because of how we handle the music index on all players, including our legacy devices that, as Constantin and Stanley were talking about, are extremely limited when it comes to their hardware.
Userlevel 5
Badge +1
One can freeze and sandbox part of their system so as not to be subject to the forced cr100 brickening by Sonos, and have a separate system with units where they get updates and thus wants updates.
Why anyone who has voluntarily frozen their system at 8.4 keeps posting about wanting a future update to support SMB v2 is yet another question for the ages. So which is it, do you want to be able to freeze your system to legacy versions, or install a new version for SMB support? Because you can't have both (unless "getting both" is merely code for getting to complain about both).
Userlevel 6
Badge +5
Just guessing...
Seeing that a Samba team member from MSFT offered to help them implement SMB3 at Sonos, I cannot think of a better resource to make it happen. Given the lack of progress over the last year on this issue, I conclude that it's simply not a priority and it won't be until MSFT and other vendors won't even allow SMB1v1 to be used.

Currently, Sonos can get away with telling their home-hosting content customers to dumb down their network protocol security; that may not be an option in the future. However, the bet in the management suite may simply be that by the time MSFT makes it impossible for Windows users to even turn on SMB1v1 that enough people will accept streaming-only product and hence an update won't even be needed. No more support for a home NAS should open up some Flash / RAM too.

Yeah, they might lose a few customers over this but there is a precedent for that at Sonos now.
Userlevel 5
Badge +12
I just guess that for compatibility reasons unfortunately the choice would be for Sonos as:
- just support samba 1;
- support samba 3 as well as 1 and 2 for backwards compatibility;
And this will take much more resources than samba 3 alone.
Just guessing...
Userlevel 7
Badge +22
It would have been fun to download the Sonos kernel and try swapping the v2 code for v3 and seeing what the final code sizes were once all the dependencies of the v3 code were met but I'm too old and lazy to think that is much fun today.

You also need to consider just how much of the v2 SMB stack has been dropped from the Sonos code. I'm sure the printer support is gone. 🙂 How much else they dropped I don't know but if they are fighting for code space you can bet they sent in a man with an ax to do the trimming initially and maybe a couple more passes later in search of every last possible reduction.

I have no idea what Sonos is doing internally but if they don't have a team occasionally looking at the issues of moving to a newer kernel and supporting software I'd be surprised. Supporting obsolete kernels and other software is time consuming and folks that can do it well do not work cheap.
Userlevel 6
Badge +5
Yes, ran into that when I built a DAQ system that uses a cellular link. Regs around Cellular RF make unlicensed bands look positively tame in comparison. I also suppose that reduces their business risk somewhat - using a known-good reference design. Plus, with the kinds of profit margins they enjoy, paying a small premium for the module is in the noise.

All that said, I also found it very interesting to hear that the SMB3.11 stack is smaller than the SMB1 stack. I hear your your points about code dependencies and so on, but if they're really scrounging for every bit of Flash and RAM as has been implied in all the emails detailing the woes associated with "mini-computer" CPUs, wouldn't one want to upgrade to SMB3.11?
Userlevel 7
Badge +22
Buying a packaged RF solution avoids much government interaction!
Userlevel 6
Badge +5
Upgradeable sounds nice but it forces the use of sockets for the upgradable components and that adds greatly to the failure rate over soldered attachment as well as cost.

Yup, though the atheros WiFi cards are removable in the ZP80, ZP100, and the CR100, while the RAM (32MB ea.) is not. 32MB of Flash for the ZP80&100, only 16MB for the controller is pretty tiny by today's standards. See Figure 8 on this page for a good image of the motherboard inside the ZP80, for example: https://www.edn.com/Home/PrintView?contentItemId=4018421

Makes me wonder how they manage to index even 65k songs with that little RAM.

Interesting design choice to use a fully-designed mini-PCIe WiFi module with its own processor, etc. mounted inside a mini PCI-e slot. Makes sense for a 1st gen product... much like Apple relied on Lucent to deliver the motherboard (Lucent RG1000) and the Wifi cards (Lucent Orinoco Silver) for the first generation Apple Airport base stations (Silver). However, even the Connect seems to rely on a mini-PCIe based approach for mounting its WiFi module!

Anyhow, your point re: the RAM and Flash are well-taken. Few users will have the patience, capability, etc. to unsolder those components and install upgraded ones in their place. Never mind how higher-capacity RAM, FLASH chips could confuse bootloader for the CPU.
Userlevel 7
Badge +22
I'm guessing RAM and Flash space are the two main issues, they were both expensive when the first Sonos gear was released. Upgradeable sounds nice but it forces the use of sockets for the upgradable components and that adds greatly to the failure rate over soldered attachment as well as cost. The possibility of soldered base level parts and expansion sockets is a good one, many laptops do that today but the cost of the sockets plus the can of worms opened by allowing users to poke about the innards isn't something to consider for most folks.

Backporting fixes and features can be very simple if it is a stand-alone bit but if it touches the dependency tree the problem grows rapidly, both in man-hours and in system impact, maybe in memory/flash footprint too.

I plan on keeping my home theater systems for another 5 years, before downsizing them and the house so I have a vested interest in seeing my SP-80s continuing to work until then. Worst case I can re-purpose my Gen 1 Play 5s and use the audio output from them if the ZPs are killed off like the CR-100 was. Well if they aren't killed too.

There used to be a lot more internal Sonos hardware info available until they did the v8 (or so) controllers that removed our access to it, I kind of miss the info and sure wish I'd thought to go in and snapshot it wile it was still available.