Skip to main content
Contributor I
March 20, 2012

Sonos Update to 3.7 and Linux

  • March 20, 2012
  • 71 replies
  • 56985 views
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
    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.

    71 replies

    Contributor I
    March 22, 2012
    That works great. I encountered only one problem, as noted below.

    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. [...]


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

    (pseudolink deleted to permit posting)

    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.

    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.


    When I pulled up the VERSION number of my Zone Player, I got the following: 17.5.51200e. At first I substituted this entire string and the controller crashed when I tried to run it. But then I went back and deleted the "e" and now everything works as before.

    I too used vim -b for the editing job. vi takes the same -b flag, so I suspect that will work as well, for those who don't have vim installed.

    I really appreciate your posting this.

    Cheers.
    ianmacd
    Contributor III
    March 22, 2012
    When I pulled up the VERSION number of my Zone Player, I got the following: 17.5.51200e. At first I substituted this entire string and the controller crashed when I tried to run it. But then I went back and deleted the "e" and now everything works as before.


    Thanks. My version didn't have a letter appended, so I'll amend my instructions.


    I too used vim -b for the editing job. vi takes the same -b flag, so I suspect that will work as well, for those who don't have vim installed.


    The original vi didn't have a binary mode, so your vi is still derived from vim. vi --version will tell you if that's the case.

    I'm glad this helped you and other people out; and me, of course. 🙂
    Contributor I
    March 22, 2012

    The original vi didn't have a binary mode, so your vi is still derived from vim. vi --version will tell you if that's the case.


    On the mark!

    code:
    i~$ vi --version
    VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr 16 2010 13:34:36)


    So vi users do need to exercise caution.
    Lyricist I
    March 25, 2012
    Thanks Ian. Worked like a charm, except that the version number I had to change from was slightly different from 16.7-48310. I did a search on "16." and found a string with the right configuration. This may help others who have slightly different versions. I imagine it's because I hadn't updated to the latest 3.6x version of the software before 3.7 came out.
    ianmacd
    Contributor III
    March 25, 2012
    the version number I had to change from was slightly different from 16.7-48310. I did a search on "16." and found a string with the right configuration. This may help others who have slightly different versions. I imagine it's because I hadn't updated to the latest 3.6x version of the software before 3.7 came out.

    That's correct. The version number I quoted is the one you'll have if you download and install the version of the DCR that I linked to on the Sonos server. Anyone running an earlier version will have a different number.

    If you use the script I've posted in this thread, it will work with any version number, enabling you to update the DLL every time a firmware update renders the old DCR inactive again.
    Trending Lyricist I
    March 25, 2012
    Ian
    Thanks for your post detailing how to make a 3.6 controller work with 3.7 - I've done that for my PCs. Essentially the same appproach works on the Mac with some changes for the Mac architecture.
    The starting point is to use Finder to "Show Package Contents" of the Sonos App. In the Contents folder edit the Info.plist bundle version to match the new version, eg 17.5.51200 and save. Then open the MacOS folder and open the Sonos file using TextEdit - this will edit text strings in an executable. Now search for the old version string 16. and make the changes to replace the string with the new version - there are two instances. Save and close and all should be fine.
    This post comes with the usual warnings about modifying at the operating system level etc - don't do it unless you know what you're doing!
    If you need to find a Mac 3.6 installation image Google is your friend.
    Andy
    Contributor I
    March 28, 2012
    Dear all,

    Thanks for your help and the explanations to the way of the running Sonos system with Ubuntu.

    Rochefoucault

    PS : I started the topic so I will close it this evening.
    Contributor III
    April 10, 2012
    Hi,

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

    Am sure whether it helps, but Ian posted a link to the old controller download back at post #17 in this thread.
    Contributor I
    April 23, 2012
    many thanks ianmcd!

    and just to save anyone else 5 seconds of googling: to uninstall the broken desktop controller open an terminal and type:
    code:
    wine uninstaller