Best answer by Phil.ColemanView original
Support for SMB v2 or v3
With all the recent reports and issues with the WannaCry ransomware I wanted to restrict use of SMB v1 on my home network. My NAS blocks this to the outside world but I wanted to secure things internally as well. I can configure the NAS to not support SMB v1 but this then prevents the Sonos controller app from seeing the share. When will Sonos support later versions of SMB? I had seen another thread on this somewhere and it sounded like it wasn't going anywhere. Is it possible to get an update on this please.
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.
Already have an account? Login
Login to the community
Log in or register to reply
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.
The software stacks are even available as libraries so no need to even write them from scratch just integrate the library into the network stack.
I also have a work around that works for me, but I can't sell Sonos to my Nan unless she can get an off the shelf media server that works with it. which at the current time she can't do. but she can use Samsung, or Philips or Apple or....
So the upshot of that is your Sonos kit becomes unusable as the company vanishes, outsold by inferior but more modern technology from the big money companies.
I don't know that for sure, and I'm not a programmer, nor have I looked in to exactly what the usage is currently, or the cost to update. My only point of reference is prior work in maintaining software in gaming, and an assumption that Sonos is actively trying to solve the problem. It's entirely possible that I'm way off base. But I do feel comfortable in saying that Sonos isn't ignoring the problem. It would be an odd stance for a software driven company to take.
Interesting to hear that the SMB 3.11 stack is smaller than the SMB1v1 stack. Does that go for Flash and RAM? I imagine that the RAM in the players is a limiting factor besides the 'mini-computer' CPU (not my description).
Remember it is a "stack" and you can't just update one component of that stack in many cases. What kernel is Sonos running, does that kernel support the latest SMB code? What fiddling has Sonos done to the various bits of code involved and how does that port to the newer releases that are needed to update the SMB.
I used to do a bit of embedded systems work before I retired and I can tell you that we missed a lot of release milestones over interactions and dependencies in the code we were upgrading, before we even got to glitches in the hardware support it offered. I've never had the lid off any of my gear to look but is there even hardware dubbing support available in the standard units sold or is that something they reserve for in-house test hardware?
I'll stick with my "too many worms for the can - it is a hard problem" theory over greed, stupidity or just evil.
It's an interesting read. The latest Linux distribution in there (3.10.53) appears to have dedicated SMB1, SMB2, and SMB3-related files in it (see the /FS/CIFS folder) while the 2.6.35 version also hosted at Sonos just has a few smb2 references embedded inside its CIFS-related documents. So, I'd guess the appearance of SMB3 support in the Sonos universe would signal a switch to Linux 3.10.x from 2.x?
Hilariously, that version of Linux has also been deprecated as of last year (see https://www.linux.com/news/linux-kernel-310-reached-end-life-users-are-urged-move-linux-44-lts-1) with 3.10.x users being urged to switch to 4.4. The version of Linux hosted at Sonos appears to be outdated, even within the branch, as the last release was 3.10.108. That said, the Linux versions that the developers are using internally may quite possibly more recent than the stuff they're hosting on the Sonos GPL page.
There was a huge size increase in the core OS going from Linux v2.0 to Linux v2.6, if I recall correctly, which is why so many embedded devices never even attempted the change. The change from v2.6 to v3 was more cosmetic because they thought the 2.XX number was getting too big.
Version 2.4 I don't recall, Version 2.6 LTS (Long Term Support) looks to have ended active maintenance in 2016 sometime. Version 3.2 LTS likely ends in May of 18.
Many system maintainers continue to use the Linux kernel version that was originally released with their device and backport any needed operational or security fixes to that which makes their internal release numbers very different from the kernel's version numbers.
Any size increase in any area of the firmware in a Sonos device means there is less space available for something else. If features are added that fit in newer devices but don't fit in older ones we are faced with the CR-100 situation again. Older devices will soon be missing features and incur additional costs to maintain, edging closer to the "No longer supported" status that ended the life of the CR-100s.
I imagine that decoding secure streams in particular to be a challenge relative to the hardware they get to work with. Too bad that the RAM in zone players is not considered 'upgradeable' (assuming that's one of the limitations the coders have to contend with).
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.
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.
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?
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.
- 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.
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.
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.
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.
I stand by my position. This is broken. Sonos should fix it. Older products have nothing to do with it.
Do you have evidence that SMB2 and3 couldn't be made to work on old players, or is this merely supposition?
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.
Yes, I thought so... I hadn't seen anything official from Sonos...
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.