ZP100 not booting



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.

197 replies

Userlevel 2
Badge
My experience with the console has been through Linux, so I can't speak to any windows specific issues. First things first, just try hitting enter in the hyperterm window, IIRC the ZP doesn't send anything automatically when you plug in the UART. If you still don't get a command prompt power cycle the ZP100 while the UART is connected. When the ZP powers on it should send a bunch of stuff to the terminal about the bootloader, if you see that (and it doesn't look like gibberish) your connection setting are are correct, otherwise check to make sure you have a good connection to the UART header.
Userlevel 2
Got the Silicon Lab CP210x USB to UART bridge. Supposedly work the same as Bus Pirate.
got the pin to map as below:
1:3V3
2:RX
3:TX
4:GND

Driver install and COM4 is enable in my PC.

Launch Hyper Terminal and set COM4 to as follow 38400/8/None/1/Hardware

Then connect. Hyper Terminal show sucessful connection status.
The ZP100 is on. Can access via default http://169.254.1.1:1400/status.

But I'm staring at blank screen on Hyper Terminal.
What should I see if everything work? Is there some command to send/received between Hyper Terminal and ZP100?

Also tried telnet. Got Rincon login screen. But obviously can't get in since no root passwd.
Userlevel 2
OK...I think I understand but I want to confirm my understanding along with more questions

  • System will be booted, but IP Address cannot be acquired due to diagnostic firmware.
  • Unit will have default IP address of 169.254.1.1. Can get to it via http:169.254.1.1:1400/status to see the system log
  • But cannot change or upload firmware via HTTP. Must use UART adaptor to access as console [list]
  • use the 4-pin UART port on motherboard
  • get a UART TTL interface, prefer buspirate. This basically provide console interface using USB port on PC
  • Connect UART card to USB on PC
  • UART will emulate a COM port. Run Hyper Terminal to access through the COM port

  • download the latest firmware. Save on local computer
  • rename the file to .txt for easy upload
  • set up pc as file server.
  • upload the firmware from file server
    [/list]
    Questions:
    1. once I have access via HT, I will have remote shell like other linux shell?
    2. I can run some command to download the firmware from the file server? it's it wget? or the 'grabupdate' script?
  • Userlevel 2
    Badge
    it looks like it should work but I brought a slightly different version:
    https://www.coolcomponents.co.uk/bus-pirate-v3-6-universal-serial-interface.html

    I use hyper terminal to access it
    Userlevel 2
    Can I get some detail on bus pirate kit? What kind of cable/pin need to insert into the 4 UART ports?

    Would something like this work?
    http://www.ebay.com/itm/Bus-Pirate-v3b-Universal-Interface-With-Probe-Cable-/111055445347?pt=LH_DefaultDomain_0&hash=item19db6b9d63
    Userlevel 2
    Assuming I get the buspirate connector, how do you get into the zp100? What console app do I run to get into terminal?
    Userlevel 2
    Thx, I'll do that.
    Userlevel 2
    Badge
    use 'internet information services' to setup a pc to host web site- google it there are plenty of site to explain how to set this up. Its also easier the rename the file as a .txt file to download it.
    Userlevel 2
    Badge
    No, it should not work connected directly to a serial port. Check out http://electronics.stackexchange.com/questions/110478/difference-between-uart-and-rs232 for an explanation.
    Badge
    Thanks,
    I'm able to hit the status page on the default ip and
    I tried connecting a serial cable directly to the pins but no luck. I'll try to pick up a bus pirate. Do you know if a direct connected serial cable should work?
    Userlevel 2
    Chris,
    I have the same scenario as you. I can access the info pages at 169.254.1.1:1400. My ZP100 is on the 3.2 diag firmware. I believe I have your steps down but have a couple questions. I can get the firmware using a working Sonos upgrade log but the links in the upgrade log on the old ZP100 are broken. Is the firmware unique to each model?
    When you set up your PC to serve the file what specifically did you do? Thanks. I'd love to get this old ZP100 going again.
    Userlevel 2
    Badge
    tbearrows: in order to load a new firmware image this way, you need terminal access to the unit. This is normally very difficult to accomplish, however recently a batch of units showed up in the wild running some sort of manufacturing diagnostic firmware. These units don't get a DHCP address, but you can attach to them using a computer on which you set a static IP address in the subnet of the unit. These units have the serial console enabled on the internal UART port. Using a UART adapter (I recommend the bus-pirate) you can hook up to this port and get terminal access.

    The telnet connection is also open on these units, but this requires a password to login.

    Also, keep in mind that Sonos support will replace out of warranty units for a really reasonable price, but not after you break the warranty seal.

    Hope that helps, let me know if you have any other questions.
    Badge
    Hey Chris, Can you give me a little more detail on how you got the new bios loaded on yours? I have it downloaded now i think but i don't understand how to get it on my zp100.

    thank you
    Userlevel 2
    Badge
    yes they work perfect now
    Userlevel 4
    Badge +14
    Great find! Out of curiosity, did the DHCP issue go away with the updated firmware?
    Userlevel 2
    Badge
    thanks for all the help its alive with updated firmware
    the trick was found in 'grabupgrade' file
    # Prevent anacapa from coming back from the dead.
    touch /var/run/stopanacapa
    #then
    killall -9 anacapad
    Userlevel 4
    Badge +14
    anacapad is the main process running the Sonos system IIRC, and it probably has some watchdog functionality to keep it running.

    A few versions back they had some memory leak issue that would OOM kill the anacapad-process, and then you experienced that the process restarted and everything was lost (grouping, queue etc) like if you had rebooted the device, but in the log it just said that it had restarted the anacapad process.

    There would probably be some way to stop it and pause the watchdog functionality (ancapactl sounds like a possible candidate as mentioned), another idea is that you might need to kill all processes at once, or a specific process first.

    On my output I have 2 high priority processes and 1 low priority process, the low priority process might be a good starting point to check out... 🙂
    Userlevel 2
    Badge
    Not sure off the top of my head. Can you kill anacapa using the /opt/anacapactl script?
    Userlevel 2
    Badge
    Hi All,
    thanks for the help.
    What I have found is putting the url in a pc web browser gives a error but also downloads the a .upd file. So I think I have the firmware.
    I have set my pc up as a file sever and made the file available type in the upgrade command and it appears to work.... then stop saying I need to stop anacapad.
    using 'ps' command there appears to be lots of anacapad process's and I cannot kill them.

    any more ideas welcome?

    see screen capture below
    #

    upgrade version 28.1-83040

    compatible with Sonos Zone Player submodels 0-16 revisions 0-4294967294 (any region)

    compatible with hardware feature set 1d

    My hardware feature set is 1

    Upgrade supports all my features

    /-\|/-\|/-\|/-\|/-\|/-Upgrade file is good

    Using new partition format mode

    Destination section 0 generation 13

    Operating in redundant partition mode (not changing partition table)

    Executing upgrade script...Checking to see if (hh.)anacapad is running...Anacapa is running - please stop it and run upgrade again.

    failed

    Upgrade failed: (35) failure reading upgrade script file

    pull_upgrade failed

    #
    Userlevel 2
    Badge
    @jishi Unfortunately there is no TFTP boot option for the ZP100, the bootloader is based off of linuxsh's bootloader, if you hit Q from the bootloader it will try to load an image off of a hardcoded address in RAM. You can load images from JTAG but it is a royal pain.
    @chris_ if you have a working sonos that's up to date I'd recommend checking for the arguments to upgrade from its log.
    Userlevel 4
    Badge +14
    The update server responds with 400 error on invalid url, so it could mean that this version is not available (3.1 is a very old version), or that this server is no longer in use. It seems to point to akamai, and maybe they aren't used anymore. It might also require a hostname which requires the player to actually be able to make DNS lookups.

    You need to get a hold of a url to a recent firmware, is my guess.
    Userlevel 2
    Badge
    thanks for both replies. I have now configured a ip address in my routers range and setup a route to the internet I can now ping the internet sites successfully.
    Yes the software version appears to be
    3.2-29243-diag
    upgrade log shows
    http://169.254.2.2/Sonos/Downgrade/ZP100/3.2-29243-1-1.upd?cmaj=12&cmin=3&cbld=22140&subm=3&rev=2®=1&serial=000xxxxxxxxxx&sonosid=xxxxxxxxx&
    so If i use the previous log but put in the ip address obtained by pinging the web site address.
    I get this output:

    upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.up d?cmaj=11&cmin=7&cbld=19141&subm=3&rev=2®=1&serial=000E58102A68C&sonosid=1093 34178&householdid=HHID_kVgj2AarGobnnsXM85aGrvPURo0

    [8] + Done upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    [7] + Done upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    [6] + Done upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    [5] + Done upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    [4] + Done upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    [3] + Done upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    [2] + Done upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    wget: server returned error 400: HTTP/1.0 400 Bad Request


    Read failure 0

    WGET exited with 1

    Upgrade failed: (11) upgrade file download failed

    pull_upgrade failed

    #

    [1] + Done(1) upgrade http://23.2.72.206/firmware/Gold/v3.1-Janis-GC2_Gold/12.3-22140-1-1.upd?cmaj=11

    #

    #

    #

    I think you are on the right track but not sure how to use the upgrade command
    Userlevel 2
    Badge
    @chris_: From my experiences, if you are getting a shell on the UART port, something weird is going on. On the normal release firmware the serial console shuts down after the bootloader transfers control to the OS. Can you tell me what version of the firmware the box is running? My guess is that you have a debug version of the firmware. Theoretically you should be able to grab a copy of the firmware from the URL you find in upgrade.log on a working sonos, and load it using /bin/upgrade with whatever the proper arguments are.
    Userlevel 2
    Badge
    I have a similar problem I brought a few ZP100's not working. I have repaired the electronics and they now boot and from the led status even appear to try and join my sonos group.
    Now here is the strange they are not obtaining a IP address. I can access the ZP100 status page using the default ip address and it seems to have booted not a full boot. I have also used bus pirate and connected to the serial port and appears to be booting. if you press enter on the serial port it says its running BusyBox v1.00-pre3 (2007.03.30-22:08+0000) Built-in shell (ash).

    I am wondering if anyone has advice on what to do next or managed to reload the firmware from this point?
    Userlevel 2
    @poshul Will give it a shot, thank you!