Skip to main content
Contributor III
April 6, 2013

ZP100 not booting

Hi,

I've recently acquired a ZP100 however it looks to be stuck in the boot process with a single white light flashing endlessly.

It doesn't appear responsive to holding the mute button on bootup. On powerup all of the network port light flash briefly and the connection lights are solid if wired to bridge via ethernet.

I know this is an old product and I know it is my fault for purchasing it, but is there any other reset tricks or way to update the firmware to get out of this loop?
    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.

    192 replies

    Contributor I
    July 28, 2015
    Thanks everyone for your posts. Using what is here, I've been able to recover two ZP100s that were loading the diagnostic firmware with a bus pirate.

    I have a third that boots past the serial connection and gets an IP address from my router. The white light however stays blinking and it never gets to the point where I can add it to the rest of my sonos system.

    When booting, even though it grabs an IP and responds to pings, it doesn't serve up the web pages with status, etc.

    A factory reset gets it blinking orange, but there it stays.

    Is it possible to have it revert back to the diagnostic firmware so I can reflash it? Any other suggestions?

    Thanks
    Lyricist I
    July 29, 2015
    You can't load an image with a bus pirate again because without the diagnostic firmware you can't get to the console. Some have copied and loaded images by JTAG but I haven't got that adventurous yet.

    I had a unit that acted similar to your's except I couldn't find what IP address it was coming up with to try and ping it. It also didn't have the diagnostic firmware on it when I received it and I couldn't add it to my sonos network. I was able to replace the ethernet IC (Rtl8139cl+) and get it functioning again.
    Lyricist I
    August 1, 2015
    Guys I got everything working but I need help with a basic networking question:

    I have the ZP directly connected to my computer. When I change my local ip to be the pinged address of 169.254.2.2 what subnet do I specify? Isn't 169.254.1.1 a different subnet?


    Also, for others using this great thread. The wire configuration used when connecting the Bus Pirate varies with the type of probes you use.

    The Sparkfun kit uses the pin out described by sdekock in post #56

    The Seeed Studio and Adafruit probe kits use:
    Pin 1: orange
    Pin 2: grey
    Pin 3: black
    Pin 4: brown

    More info can be found here
    jas_williams
    Trending Lyricist I
    August 1, 2015
    Guys I got everything working but I need help with a basic networking question:

    I have the ZP directly connected to my computer. When I change my local ip to be the pinged address of 169.254.2.2 what subnet do I specify? Isn't 169.254.1.1 a different subnet?


    Also, for others using this great thread. The wire configuration used when connecting the Bus Pirate varies with the type of probes you use.

    The Sparkfun kit uses the pin out described by sdekock in post #56

    The Seeed Studio and Adafruit probe kits use:
    Pin 1: orange
    Pin 2: grey
    Pin 3: black
    Pin 4: brown

    More info can be found


    A subnet mask of 255.255.0.0 would indicate both networks on the same subnet
    Lyricist III
    August 11, 2015
    So has anyone had any luck reviving a no audio out zp100? I've had a couple of these I've tried with no luck. They both originally had the amps blown (literally burnt the VCC legs off the IC's). I've replaced the amps and the audio controller IC but no luck. They appear to play but get no sound. Tried to use the line in also but that didn't work either. If no one has any other ideas it appears the TI DSP IC is my next try.

    @tonesam Check 0 ohm resistor R2133 next to one of the large capacitors. A few of the ones i have had exactly as yours have i have found on them all R2133 is open circuit. It appears that the amp chip is operating in a bridged mode, linking some of the amp outputs (config pin 24 of the amp chip). when the zero ohm resistor blows the amps switch back to 2 separate amps. the linked drivers pins then cause a shorted output draw lots of current and burn out the legs on the PSU. I have not tried a fix yet so not sure what is causing the zero resistor to blow.
    Lyricist II
    September 19, 2015
    Hi,

    can somebody please post a picture of the location where the UART port is on the logic board.

    Thanks in advance.
    Lyricist I
    September 30, 2015
    Hi,
    Uart port on the top logic board near wireless card on the front side, you have 4 holes.
    1:3.3v
    2:RX
    3:TX
    4:GND
    anapsix
    Lyricist II
    October 14, 2015
    I've read through 99% of this thread and it really helped to get me onto the right track.
    I was able to avoid dealing with UART / Serial connection and create a script right on my ZP100 via web browser.
    I did assign myself a static IP of 169.254.1.2 and plug directly to one of ZP100 built-in ethernet ports.
    I followed multiple instructions here to get the appropriate update file and saving it as "fw.upd", by substituting my ZP100 serial, id and householdid, using the following as a base:
    http://update-firmware.sonos.com/firmware/Gold/28.1-83251-v5.2-pcyakr-RC4/28.1-83040-1-1.upd?cmaj=27&cmin=2&cbld=80271&subm=3&rev=2®=1&serial=XXXXX&sonosid=XXXXX&householdid=XXXXXX
    Easiest way to start a web server to serve the file was to let PHP serve content from current directory with following: sudo php -S 0.0.0.0:80
    Here are the URLs I've hit to create and run my script :)


    http://169.254.1.1:1400/diag/cgi-bin/bin/echo touch /var/run/stopanacapa > /tmp/run.sh
    http://169.254.1.1:1400/diag/cgi-bin/bin/echo ps "|" grep anac "|" awk "{print %5C$1}" "|" xargs kill -9 >> /tmp/run.sh
    http://169.254.1.1:1400/diag/cgi-bin/bin/echo upgrade -fH http://169.254.1.2/fw.upd ">>" /jffs/log.txt >> /tmp/run.sh
    http://169.254.1.1:1400/diag/cgi-bin/bin/echo rm /var/run/stopanacapa >> /tmp/run.sh
    http://169.254.1.1:1400/diag/cgi-bin/bin/chmod 755 /tmp/run.sh
    http://169.254.1.1:1400/diag/cgi-bin/tmp/run.sh


    I assume that I got lucky and my ZP100 came with diagnostics firmware.. I could run any command with "http://169.254.1.1:1400/diag/cgi-bin/" by adding the full path of the desired binary to it and passing arguments as you normally would in linux CLI. Few characters had to be double quoted or used as HEX values..

    After running it, my ZP100 lid up, I've hit the magic combo to connect to the Controller and it was added to the existing setup within seconds!

    Thanks to everyone contributing, it really helped!
    Lyricist II
    October 17, 2015
    Guys,

    I was able to download my .upd file and have connected the zone player 100 to buspirate. I got that into UART mode also. I am confused to what the next step should be and how to upload the downloaded firmware to the zone player. Can some one please help me out.

    Thank you.
    anapsix
    Lyricist II
    October 19, 2015

    how to upload the downloaded firmware to the zone player

    You should be able to pull it from the ZP itself via the terminal, since you have BusPirate connected.
    If you are able to get the console / terminal, do the following:
    0. Start a webserver on your computer, so that you can "serve" the downloaded firmware file via HTTP. I've done it with PHP, and so can you if you have PHP installed: php -S 0.0.0.0:8080
    1. stop anacapa process:
    code:
    $ touch /var/run/stopanacapa
    # this prevents it from starting
    code:
    $ ps | grep anac | awk '{print $1}' | xargs kill -9
    # this kill all ancapa processes
    2. Run the upgrade tool:
    code:
    $ upgrade -fH http://169.254.1.2:8080/fw.upd
    # make sure to use correct IP/PORT and file name instead of mine :)
    3. Allow anacapa to start (probably unnecessary):
    code:
    $ rm /var/run/stopanacap