Skip to main content
Sloved / Solution in page 3.



Hello,



Who has a success with updating the Sonos 3.7 on Ubuntu + Wine desktop ?



From my side, I get :

- in the wine windows

"The wizard was interrupted before Sonos ..."



and



- on shell

"fixme:ole:DllRegisterServer stub



fixme:storage:create_storagefile Storage share mode not implemented.



fixme:storage:create_storagefile Storage share mode not implemented.



wine: Install Mono 2.8 or greater for Windows to run .NET 4.0 applications.



err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1627



err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1627

"



Could you please help me ?



Rochefoucault
Ian,

I just read your instruction on how to keep desktop controller 3.6 working with upgraded Sonos devices.

I wonder if you have, or know of, a way to keep old iPod sonos app working with upgraded Sonos devices. I upgraded to 3.8, but my old iPod does not support iOS 4.0 needed for it.




I don't know of a way, but that doesn't mean there isn't one. I'm not familiar enough with the details of Apple products.



Any solution would involve the same approach, namely subverting the version check when the application starts up. If you can find a way to do that, it may be possible.
Dear All



Just stumbled across this. I have old Win XP machines that I use for midi and sequencing etc (P3 512 RAM) minimal software installed - Antivirus is the biggest killer of limited resources, so don't bother with that and these PCs don't do internet. When Sonos V3.7 came out and required Net 4 it almost killed them.

So after updating to Sonos 4.0 last night, I tried this and it works. I only want to add some music and pause, so didn't want to spend any money on controllers or other kit.

I am sure it won't take long for you guys to come up with your own controller for LINUX.



Regards and thanks



Brazza
Make sure you don't have any firewall rules (iptables) blocking traffic on the PC running WINE.





I don't know what the issue with wine was but I uninstalled the package from ubuntu and added the backport to wine 1.5 and reinstalled. after that it worked great! Thanks


code:
System is currently running version 19.4-60120.
Updating DLL version 16.7-48310 to 19.4-60120...




Now when I open sonos for setup I have the screen to connect the component to the DCR and it does not connect. I am on the same network as other computers/cellphones that can connect. The only thing that is different is now v.19 is out and I hope the 3.6 software is compatible.



Any help on how to get my system connected to the DCR would be appreciated!




Make sure you don't have any firewall rules (iptables) blocking traffic on the PC running WINE.



Version 19 should run fine for you, although you won't be able to use the DCR to control music services, because something changed a while back in the way the credentials are passed by Sonos and the DCR pre-dates the new way of doing things.
Hi,



Any idea of how to install Sonos Controller on a recently installed Linux (which does not have the controller 3.6 yet) ?




I installed Win7 in VirtualBox and then in Win7 the S O N O S Controller! Works OK so far!
THank you very much everyone for the great support on running Sonos on Linux! I used the pearl scrip to modify the .dll file and still no luck...here is my setup -



I am running ubuntu 12.10 and have installed the version 3.6 of Sonos controller under Wine.



Used the pearl script to modify version number in dll and was successful:



code:
System is currently running version 19.4-60120.
Updating DLL version 16.7-48310 to 19.4-60120...




Now when I open sonos for setup I have the screen to connect the component to the DCR and it does not connect. I am on the same network as other computers/cellphones that can connect. The only thing that is different is now v.19 is out and I hope the 3.6 software is compatible.



Any help on how to get my system connected to the DCR would be appreciated!
thanks Ian for the dll hex edit and deeplink to the old 3.6 version.



the android client for Sonos is actually really nice and I appreciate that Sonos made the entire system setup possible from it... however it will be nice to have the desktop client available in wine also.

like for many others, installing an entire windows vm or buying a mac for 1 app is a no-go :)



cheers
Thankyou Ian.



I was very happy to be able to control our new Sonos system on our linux home computer systems. We were stuck with using our cell phones which whilst it works fine isn't as convenient.if you are already working on the computer.



We have used Linux at home now for over 14 years. It is definitely not a cost issue for us ... as most of the computers we have bought over the years have already had windows on them anyhow ... which we then go to extra cost to remove and replace!



We just prefer the freedom of the Linux environment. Thanks again.



Cheers



Garry and Jacqui
Sonos.app keeps several .plist files.

In Info.plist there are a couple of fields:

Bundle version

Bundle version string



I thought modifying this file would have the desired effect of tricking Sonos to believe it has an up-to-date version. However, sonos.app must be getting its bundle version from somewhere else.



Does anyone know where that information may be stored in the case of an iPod application?
Anybody tested to run the Android controller on linux?



http://www.ubuntuvibes.com/2012/11/how-to-run-3d-android-games-and-apps-in.html



Apparently there is a working Sonos app for Intel platform, which would be the preferred choice (instead of the ARM compiled one). One would need to extract that from an intel phone (RAZR perhaps), but requires root. Unless Sonos is kind enough to offer a direct download of the apk :)



Maybe that's a better option than trying to run an old version in Wine.
My pleasure, but just to be clear, your firmware will stay at whichever version it's at now. Only the desktop controller will go back to 3.6.



The following assumes you're a Linux user, but the same trick would work on Windows for any user with an incentive to go back.



First of all, remove the 3.7 DCR from your system. Go through the proper uninstall procedure under WINE.



Next, reinstall 3.6. If you don't have the installation .exe still lying around, you can currently still obtain it from Sonos, but I strongly advise you to save a copy of this somewhere safe, as Sonos will probably remove it from their server at some point as obsolete.



Install the controller under WINE and associate it with your Sonos system. Then, exit the program.



Step 3 is to go to the following address in a Web browser:



code:
http://x.x.x.x:1400/status/VERSION




Replace x.x.x.x with the IP address of one of your zone players.



You'll see something like this:



code:
contents of /VERSION
xx.x-xxxxx




Whichever version number you see is unimportant. Just note it down. It's actually just the build number available under About My Sonos System on the controllers, but it appears here in punctuated form and we'll need that string for the next step.





Edit: If your version happens to have a letter following the final five digits, drop the letter. Thanks to MDBill.





Finally, pull up pcdcr.dll in a binary editor. Unless you're running an odd WINE configuration, it will have landed here on a 32 bit machine:



code:
~/.wine/drive_c/Program Files (x86)/Sonos/pcdcr.dll


or here on a 64 bit one:



code:
~/.wine/drive_c/Program Files (x86)/Sonos/pcdcr.dll


I use vim with the -b flag as my binary editor. Whichever tool you use doesn't matter, so long as it treats the file as a binary. All hell will break loose when you save this file if your editor treats the contents as text, so do make sure you are operating in binary mode.



Locate the string 16.7-48310 in this file and replace it with the version number returned in step 3 above. The two strings should be identical in length. Then, save the file. Did I mention that you must ensure you do this in binary mode? Good.



That's it!



Fire up the old desktop controller and it will now be fooled into thinking that it's up to date with the rest of the system. You won't be prompted to upgrade it, so neither will it baulk and refuse service.



It's a hack, but it works.



You will need to repeat the binary edit part of this procedure every time Sonos update the firmware to a new major revision number. At that point, the desktop controller will see that it lags behind the minimum required version number and prompt you to upgrade it. What we are doing here is defeating that check by convincing the desktop controller that it has the same version number as the firmware running on the rest of the system.



Hopefully, the day will soon come that the 3.7 DCR runs on Linux. Until then, there's this.



Thanks to Henkelis for the idea.




Ian,

I just read your instruction on how to keep desktop controller 3.6 working with upgraded Sonos devices.

I wonder if you have, or know of, a way to keep old iPod sonos app working with upgraded Sonos devices. I upgraded to 3.8, but my old iPod does not support iOS 4.0 needed for it.
The easiest solution would be to use an andriod/iOS device as the additional controller......



As a Linux user, I must concur. The old-style DCR is crumbling with each new release of the firmware.



The DLL hack I wrote about still allows basic functionality, but the passing of music service credentials changed in 3.8, for example, so I can no longer control Spotify with the pre-3.7 DCR.



The ACR is the most usable controller I have these days.
The easiest solution would be to use an andriod/iOS device as the additional controller......
I'm currently using Windows 7 but considering switching back to Linux because of some problems with Windows... but obviously I don't want problems with Sonos after the switch...



So, I'm using the 3.8 controller on Windows, what are the prospects of Wine being able to run that in the next 12 months?



If that fails, I might have to buy a CR200 for the room where my computer is (I want a dedicated, readily available controller, not one buried away on a smartphone), although paying around £300 not to run Windows is a bit annoying.



However, do Sonos intend to support the CR series going forward? My CR100 doesn't have much life in it, the CR200 is nice (after they replaced it following touch screen problems), but will they release a CR300 with slightly thinner body/bigger screen and/or will they support the CR200 with software updates for many years to come?



So many questions, but the changes brought about with the desktop controller make me nervous about Sonos making further changes that cause problems.



The new controller looks nice in my opinion, but doesn't really offer anything new, it just takes up more space.
That's what I thought regarding the port forwarding.



My linux box is also my DHCP and DNS server and it issues static IP addresses to all the Sonos components so I am assuming they are on the same subnet. I will have a dig about to see what I can find
OK so I have stopped the iptables from operating and still no joy on getting the Sonos controller to see the components. There are some notes on the website for port opening but they aren't working either



You shouldn't need to forward any ports to get the DCR working on Linux.



Is your computer on the same subnet as the Sonos gear? That's essential.



And make sure you haven't just stopped iptables from being run in the future, but have also flushed any rules already in effect from the last time it was started.
OK so I have stopped the iptables from operating and still no joy on getting the Sonos controller to see the components. There are some notes on the website for port opening but they aren't working either
You are probably right. The Linux box is running Amahi Server software which does use iptables for a lot of stuff. I am going to avoid messing with that aspect of things as I don't want to break the whole system. I'm not knowledgeable enough to do this correctly



Thanks anyway
To all Sonos works fine with the latest version using wine AND playonlinux. After installing wine and playonlinux, run playonlinux make sure you have installed wine engine version 1.7.0. Then run install and select use a different version of wine and check against install libraries.

When a list of libraries is shown put a check against dotnet4, msxmsl3 and tahoma font then next. Let it do its bit then click browse and select the sonosinstaller.exe then next and go through the standard sonos installer. When it asks for a shortcut select sonos.exe then next. After this a shortcut will be placed on your desktop. Double click to use! Works fine
I have a really old PC from 1999, running a very cut down version of XP (No .net). I have been using this Sonos 3.6 and updating the version number - works a treat until the last couple of revisions. There now appears to be an extra digit in the version number. It got to version 31.9-26010, but now it is 33.15-32291. I have used Hexedit and used up an extra dot after the version number for this extra digit. It works but crashes on exit. Any ideas?
Thanks @ Ian for your great instruction getting DCR 361 run under Wine.



In former posts, you mentioned that music services interface has changed in later versions.

Thats why I guess I cannot access spotify for example.



Do I get your last post right? You managed to get 5.4 running, but still no music services?

So putting more effort in getting 5.4 run under wine would be silly?



Is there any solution to access music services under linux?

Thats the reason I bought my connect. Didnt expect that there is no webinterace/linux support...
I finally have the overhauled DCR working in Fedora 19, but cannot access any music services that require a user name and password.



Clearly, some module or other is either not installed or not working correctly.



Have any of you encountered and surmounted this particular obstacle?
I had a similar problem, followed the instructions on appdb and Sonos was crashing immediately after splash screen. I chased error messages for a while and found I needed three additional pieces. I now have it working under wine 1.6 in debian jessie



1: ntlm_auth

for me this meant installing the windbind package



2: fonts

I had to install corefonts via winetricks



3: mscms.dll

For me this was in a separate package called libwine-cms which I had to install.



I've tried many times before to get the new DCR to work, but always by manually performing the steps that PlayOnLinux so nicely automates.



For the heck of it, I decided to follow your instructions anyway to see if they would work. You detailed everything so nicely that I was feeling quite optimistic.



Well, I followed them to the letter and was able, as always, to get the package to install. Unfortunately, however, the Sonos binary still dumps core as soon as it tries to progress beyond the splash screen.



The only difference between my system and your instructions is that I'm running WINE 1.7.1, but I've had similar results in the past, all the way back to 1.5.x. I don't think my newer version of WINE is the issue.



Oh well. Thanks for posting, anyway. Presumably these instructions will work for others, too, but not for me, I'm afraid.



Back to 3.6.1 with the hacked pcdcr.dll.

To all Sonos works fine with the latest version using wine AND playonlinux. After installing wine and playonlinux, run playonlinux make sure you have installed wine engine version 1.7.0. Then run install and select use a different version of wine and check against install libraries.

When a list of libraries is shown put a check against dotnet4, msxmsl3 and tahoma font then next. Let it do its bit then click browse and select the sonosinstaller.exe then next and go through the standard sonos installer. When it asks for a shortcut select sonos.exe then next. After this a shortcut will be placed on your desktop. Double click to use! Works fine






This worked for me! Ubuntu 13.04

Thanks
Thanks Bladeforce. It worked for me. My hard drive had died so it was on a fresh install of Ubuntu 13.10.