Sonos SMB implementation (Error 900 when adding music library)

  • 25 February 2017
  • 66 replies
  • 7159 views


Show first post

66 replies

Hi Stanley, thank you very much for the detailed reply, but the setup you describe adds more electricity consumption and complexity to my home network and I simply don't have time to maintain another device. I have a dedicated hardware firewall running between my LAN and the outside world so until Sonos get their act together and update to modern security standards (hah! I realise that probably won't happen) I am just going to have to put up with SMB1. :(
B.
Userlevel 7
Badge +21
The Pi 3b+ uses 400 milliamps, 2 Watts idling and serving music to Sonos, compared to the power use of a Sonos device, 3 to 6 watts in idle mode or a NAS at a lot more, that is reasonable. A 3b uses about 230 ma if you want to save power, PI Zero W uses 120 ma but must run wireless.

Maintenance on the Pi can be near zero if you aren't going outside your home network. Set it up and get it running the way you want. Make a duplicate SD card (use the pi utility) just in case the primary SD dies. That's it, I haven't accumulated any long run times, only about 6 months between reboots, but it was still looking good before I shut it down.

I agree with you on the hope of Sonos fixing this and I'm all for their position as an owner of a couple ZP-80s that would probably go obsolete if the changes needed to support the newer SMB stuff were made. I disagree on running my real NAS allowing SMB v1, I don't run any SMB on it regardless of version but v1 is really shady.

I don't do Windows since I retired in 93 but this only took an hour to figure out, mostly because I was missing the SMB3 enable command in the config file, so it isn't rocket science. I just got inspired to do it as I had a new 3b+ that hadn't been put to use yet and I wanted to see if it was possible. Not so much for me, as my library is on another Pi with an SSD for storage, but for folks that want to keep their music on some other SMB3 only device. The 3b+ has already been re-purposed and today is pretending to be a Stratum 1 NTP server.
so we arrived in 2019, right? And yet after getting update after update from sonos forcing me to do them all without any real benefit to my systems I still do NOT get SMB2 support. Seriously? Seriously? This is not longer a nice to have feature the sonos should have. This already turned long ago into a MUST HAVE. SMB1 should be gone from our networks planet wide! So when do we finaly get a new implementation of this?
A Raspberry Pi accepting a share from a v3 NAS and sharing it back out while allowing SMB v1 will work. I

while I applaud your nerd solution Stanley, Sonos should actually fix their broken product, so that less nerd people can use it again.
😉
I would assume that if you were to purchase new equipment for all of the users who have devices that don't have enough online memory to hold the new version of the kernel that includes support for a newer version of SMB, then Sonos could do what you want.

I don't have access to numbers, but let's make an estimate, for fun. Say 3 million installed devices that can't currently handle an increased kernel size. So, at $200 each for a new Sonos One, you could probably get Sonos to implement your desires at a cost of $600 million dollars. Of course, there'd be incidental costs to not only do the code change, but to manage the return of all the devices, and the shipping of the new devices, and the salaries of all the people who have to manage this process.

Or you could just expect that Sonos will brick the 3 million devices that currently are working, in order to accede to your demands, and deal with the ill will of all of the users who currently own speakers that work just fine.
I would assume that if you were to purchase new equipment for all of the users who have devices that don't have enough online memory to hold the new version of the kernel that includes support for a newer version of SMB, then Sonos could do what you want...

so you do not have any numbers, so it is just guess work? That is not really helping. I have not seen any post from sonos saying "we can not do it, because our systems to not have enough flash memory to support it". From the looks what they changed over the last years since I bought my sonos equip I can say, there is quite some room for "more fancy", it just seems that basic security is just not very high on the priority list, just it gets beaten by "more fancy, new shiny stuff" instead. Which is sad, because I could playback my music fine right from the start and all the new jazz I see in all the updates so do not give me anything new I really have use for. Of course you can argue now that smb2 is totally useless in a private home environment, but I will not follow you there sorry. Implementing basic security is key to how our homes already look or will in the near future with all the hundreds of IoT devices in our home networks. Pissing on security is not helpfull.
so you do not have any numbers, so it is just guess work? That is not really helping. I have not seen any post from sonos saying "we can not do it, because our systems to not have enough flash memory to support it". From the looks what they changed over the last years since I bought my sonos equip I can say, there is quite some room for "more fancy", it just seems that basic security is just not very high on the priority list, just it gets beaten by "more fancy, new shiny stuff" instead. Which is sad, because I could playback my music fine right from the start and all the new jazz I see in all the updates so do not give me anything new I really have use for. Of course you can argue now that smb2 is totally useless in a private home environment, but I will not follow you there sorry. Implementing basic security is key to how our homes already look or will in the near future with all the hundreds of IoT devices in our home networks. Pissing on security is not helpfull.
a) Comb through this thread and you will be rewarded with answers and explanations around the topic
b) Just for fun – make a flying visit to this topic and you will get an idea what would happen, if Sonos dared to brick old nonetheless perfectly working gear
Userlevel 7
Badge +21
I spent a few hours looking at the change from SMB 1 to 2/3 a while back and it is not as simple as flipping a switch or editing a make file. Like the others here I haven't tried to compile the Sonos sources that are available and see just what breaks and what would need patched or rewritten, too massive a project for me. I believe at one point one of the SMB principals weighed in with an offer to assist in moving things but never saw where that went.

Bottom line for me is that I believe the changes needed to the Linux kernel to bring it up to a version that would support SMB v2/3 would grow it to the point some older devices would not work any more. This scares me as I have at least four devices that would be likely victims of any CR-100 like massacre.

The code is available for download, don't take my word for it, try it yourself.

What I think the resolution could be is Sonos selling an SMB v1 gateway, one that would load from any network file system supported by Linux and export an SMB v1 version of it. Probably $50 in parts and labor each after the initial setup and testing. Add a few bucks for funding support, shipping and profit and Sonos would be in the $75 neighborhood of the Ubiquity Cloud Key that is a similar device.
well, it seems I gave off the wrong vibe, so I'll try to clarify one last time.

Of course it can not be the intention to release an update to brick devices. It either is possible to get a more modern network code into a sonos device (in which case it should be done) or it isnt (in which case it should not be done). I fully understand, that I am seeing this maybe as to simple, because I have only one devices, which isnt setup in some special connected way, where an update would kill the abilty to connect a couple of devices where on part got updated code (to smb2/3) and others not.

anyway, enjoy your working devices, no harm intended 😃
Userlevel 7
Badge +21
It isn't about how the systems are connected but about the internal components, particularly Flash memory that is used to store the operating system.
Going to a newer operating system (required to be able to go to a newer SMB) requires a lot more memory. The discussions of that on the Linux kernel mailing list are pretty old now but still available.
Going to a newer SMB (Samba) also requires more memory, I don't think as much as the kernel but it has been years since I tried to figure the differences.
Since Sonos memory is not expandable the choices made have to fit within the available memory. This may have been part of the CR-100 and Dock massacres, removing the code for them may have freed up memory to be used for much more popular features. Going over the available memory limit of a device makes it unusable and Sonos hates doing that. Owners hate having their devices disabled too so a third way still sounds attractive.
So...is there a way to add a networked drive on a Win10 machine?

😞
Enabling smb1 on my NAS is too dangerous and not an acceptable solution for me, so i will keep this protocol disabled. Security is important.

However, i did find a solution that works good for me.
On my android phone i have installed the Hi-Fi Cast app.
(https://play.google.com/store/apps/details?id=com.findhdmusic.app.upnpcast)

This app uses the DLNA/UPnP protocol to get the music (including playlists) from my synology (so no smb is needed at all) and i can choose my Sonos One as playback device. I can choose the different Sonos rooms and devices, this works great for me!

I wonder why Sonos does not use this DLNA/UPnP protocol instead of an old smb version?
Badge +1

It would seem smb2 is currently a no-go based on my experimentation with the Synology unit. Can we expect someone at Sonos to shed some light on the subject here at the forum?Hey oafrenning - We have nothing to share today about implementing SMB2, but we're always looking for ways to improve the Sonos experience and operability. We'll make sure to share the suggestion with the rest of the team.

post from two years ago, I am still getting 900 errors when trying to connect to my freeness smb. Any progress with newer versions of samba? or maybe add support for afp shares?
Userlevel 7
Badge +21
No progress on newer versions of SMB and some folks never expect to see any due to the many issues involved.

If you don't want SMB 1 on your NAS you could make a protocol gateway that offers up SMB v1 to Sonos and connects to your NAS on your choice of protocols.

https://stan-miller.livejournal.com/357.html
Badge
I don't know, maybe it's gonna be useful to someone. Synology DSaudio now supports direct streaming to Sonos. It will find all your Sonos equipment, choose the one which is positioned as your Sonos controller. Then you can stream all your music library and I should say it's quite user friendly and good right now, I stream my 16bit/44kHz flacs without any problems.
Userlevel 7
Badge +21
What connection method is the Synology DSaudio using to stream to Sonos?

Reply