ZP100 not booting


Userlevel 2
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.

197 replies

Rincon boot loader version 1.0-27270(ZP) (32M SDRAM). Press 'h' for help.
SDRAM test...
Memory test iteration 0
SDRAM test complete
Attempting to autoboot from NAND device
NAND ID is 20:75
32M NAND flash (ST NAND256W3A) detected
Uncorrectable ECC error, page 0 (first half)
No valid partition table, defaulting to old boot mechanism
nand_load: page appears to be blank, page 512
Sorry, autoboot failed


nand dead?
Hello everyone, I have a zp100 bought on eBay constantly flashing white, not pinged. also bought PL2303HX cable firm FTDI USB to TTL module data conversion adapter Arduino memory UART via RS232 I read the topic several times but did not understand how to update the firmware, and if possible, write a command line Windows. forgive me for my English.
Look through this thread for links. You should be able to download firmware from somewhere to your computer and then host on webserver and use UART cable to connect to sonos and then Update the firmware. But do not know where to get latent firmware. Good luck.
Then I'd recommend a call to Sonos to discuss it.

If it's bricked, a download of firmware wouldn't make any difference, you wouldn't be able to load it. And Sonos doesn't post downloadable versions of their software as packages, they only have the online update option.
Hi, I am aware of that option. The issue is that it is bricked.
Userlevel 7
Badge +22
From your Sonos Controller, look under settings and Check for Updates.
HI. Where to download latest firmware for zp100(play5) and a100(sub) ?
Badge
Rabbs, did you manage to upgrade it once it had booted??
So worked fine over night to this morning, I needed to put the cover back on so unpowered and repowered to see if it would keep its settings and it has reverted back to the flashing white light again....
So - I had the same issue white light flashing couldn’t connect and no IP address being taken (Wireshark showing zilch)

Years ago I used to fix car radios by putting them in the freezer for 2 days. Apparently clears the electronics.

So I thought what the heck I’ll try - so I put the ZP100 in the freezer for 2 days. Took it out tonight, powered it up (careful with the ice) and hey presto I can reset and it’s now connecting.

Fingers X’d it still works when fully thawed but it is working...

I know it sounds odd but this did work for me..
Badge
All, a huge thanks for such an informative thread. Really useful and very interesting!

I've got a non booting ZP100 and I get the following output, at which point it just sits there doing nothing. does anyone have any ideas?


Thanks in advance for any thoughts/help.



Rincon boot loader version 0.16-11080(ZP) (32M SDRAM). Press 'h' for help.
SDRAM test...
Memory test iteration 0
Boot interrupted
> h
Rincon boot loader version 0.16-11080(ZP) (32M SDRAM). Press 'h' for help.
h - help
m - SDRAM test
i - print NAND device ID
n - NAND device scan
x - NAND device destructive test
y - NAND device dump first page
p - Program NAND device
b - Boot the Linux kernel from NAND device
d - Boot diagnostics from NAND device
> NAND ID is EC:75
32M NAND flash (Samsung K9F5608U0C) detected
Section 0 is provisionally good, kernel on partition 1, generation 39
Section 1 is provisionally good, kernel on partition 4, generation 40
Attempting to boot kernel from partition 4
Userlevel 1
Badge +3
So no joy. Not sure if I just got lucky with the cold spray or what, but my failure mode if back.
Going to try to swap out the ram chips and see what happens.

Been thinking after reading all of these pages of info. And my thoughts always lead to, what is the root cause of these boot problems? Some seem to be able to reinstall firmware and it fixes it.
Is there a smoking gun in all of this?
Userlevel 1
Badge +3
So my Zp-100 has the flashing white LED failure.
When I got it from Ebay, i first did a hard reset (plug it in with mute+VolUp heald down) and all was well.
It worked great for a few hours then I could not see it with the Sonos app.
I found that when this happened, if I would just let it cool and start over with the hard reset i could get it working for a short while. Always doing the setup with Ethernet only.
I then did a tear down and re-flowed the logic parts with no luck. (noticed lots of flux on the board, and bloby solder.. Less quality then I expected)
Started measuring the DC voltages and they seemed fine.
Then I started pinging the ZP-100 at the IP that the router would always give the ZP-100. The ping returns would follow the ZP's functionality. If I got a return, the unit was working and vice versa.
I tried some clod spray on the logic board and that made the functionality last a few minutes longer, noticing that the lights on the Ethernet port connected never changed their behavior weather the ZP was working or not.
So I tried the following and had some luck.
I sprayed my last few seconds (bottle just about empty) of cold spray on the Ethernet controller/transformer chip. and quickly did a hard reset and this time (and for the first time) set it up in the way that prepares the ZP for a wifi installation.
What I found was once the setup was done, the ZP shuts off the Ethernet controller (connected Ethernet port goes dark) and switches to wifi. The unit stayed on and connected all night, longest ever.
When I get home I will see if it is still connected and try a reboot.
Will let yall know what happens.
thank you for your suggestions buzz!

right now my unit works (with flickering led, power problems)
so i will use it a little while and then check all the boards.

the first reason is with a little usage the faulty part can show some physical signs of death and it can be recognized more easily...

the second reason is that i don't want to disassemble it's a long time and i will have to reassemble... 😃
kivulallo,

A bad capacitor is likely. At this point I recommend a very thorough visual inspection. Bad capacitors often give themselves away with physical signs of distress, such as leakage or bulges. Look for discolored areas and bad solder joints. A good visual inspection is worth many hours of troubleshooting.

I don't know the DC power supply voltages for ZP100, but you can probably guess them. If you have an oscilloscope, look at the power supply wave forms. Another technique if you have a digital voltmeter, is to set the meter to measure only the AC component, then check the DC power supplies. A high reading indicates ripple and a likely bad capacitor.

Another technique is to "thump" the boards with a plastic tool the weight of a common pencil. A healthy board will not respond to these "thumps". Quite often one can use lighter thumps and locate a defective component or connection. If you are unlucky the thumps will mechanically cause a temporary repair and the symptoms will go away -- for a while. You'll know that the problem is mechanical, but not exactly where.
Unfortunately the CPU board won't boot all the way if it's disconnected from the amp. My guess is the kernel panics when it tries to load the DSP module and there is nothing there, or that Anacapad has some hard-coded calls to the amp board. If the unit gets to the point of requesting an IP address, some folks have had luck restarting it into factory reset while constantly pinging it. No idea why that works, but I've been able to replicate that behaviour.

Sorry for being late.
I managed to start my device I don't now how... So thank you poshul!
I plugged everything together, started wireshark... and it booted up... I also started to ping it so maybe the ping or maybe wireshark's listening on ethernet port made it alive.
I performed a factory reset and now it works and did not freeze since a day now.

What I discovered is the led flickering again. It's definitely power related. When the amplifier turns on from stand by, it starts to flicker. If I stop the music it flickers less but continues until the amplifier turns off again.
Anyone had something similar like me? Do you know what is it? Maybe a capacitor? I hope it's not the DSP chip, but I don't think so.

Thank you for your help!
Userlevel 2
Badge
Unfortunately the CPU board won't boot all the way if it's disconnected from the amp. My guess is the kernel panics when it tries to load the DSP module and there is nothing there, or that Anacapad has some hard-coded calls to the amp board. If the unit gets to the point of requesting an IP address, some folks have had luck restarting it into factory reset while constantly pinging it. No idea why that works, but I've been able to replicate that behaviour.

Basically. When new software is installed it gets written around bad blocks on the NAND. Block 970 is part of the JFFS portion of the chip (RW user data), which should get cleared on a factory reset.

No idea, the things that I have had fail most commonly are NAND, RAM, and occasionally the DSP chip on the amplifier board. If the unit still won't boot after a factory reset, (and the SDRAM test passes), my guess would be that the issue is the amp board. If you have another opened unit somewhere you can try switching the computer board and see if it works then.

Another troubleshooting tool is to hook up a computer running wireshark directly to the unit when it boots and see if it's requesting an IP address. I've had units fail between when the kernel boots (and dhcpd is initialized) and when the webserver (anacapad) is initialized.

The thing is old. 10 years is well outside the expected life expectancy of consumer electronic components. So things eventually start to fail.


thank you for your help! now i'm trying to boot it up through uart. still the same thing happens.
i could get it to amber-white flash to start the factory reset but it stuck in it. i waited for 10 minutes then interrupted...

the reason why i think that the linux part is defective is it won't even boot disconnected from the amp. or should it boot?...
i will check the amp board and try the wireshark and see what happens.
i don't really want to trash this thing out just one day to the next.
Userlevel 2
Badge

so you say i should keep trying until it might "accidently" boots up, do a factory reset and see what happens?

Basically. When new software is installed it gets written around bad blocks on the NAND. Block 970 is part of the JFFS portion of the chip (RW user data), which should get cleared on a factory reset.


no chance for hardware problems (except nand)?

No idea, the things that I have had fail most commonly are NAND, RAM, and occasionally the DSP chip on the amplifier board. If the unit still won't boot after a factory reset, (and the SDRAM test passes), my guess would be that the issue is the amp board. If you have another opened unit somewhere you can try switching the computer board and see if it works then.

Another troubleshooting tool is to hook up a computer running wireshark directly to the unit when it boots and see if it's requesting an IP address. I've had units fail between when the kernel boots (and dhcpd is initialized) and when the webserver (anacapad) is initialized.


but i don't understand... it was working fine for ages... i mean, my unit was given me from a hotel (because the hotel replaced all the audio with crestron) so this thing played music for long ages 24/7 and also it was working fine for 3 years at me. and it just suddenly freezes and dies without a sign before. weird.


The thing is old. 10 years is well outside the expected life expectancy of consumer electronic components. So things eventually start to fail.
hThe linux console is disabled by default in production builds of the ZP100, so not seeing anything is normal. It sounds like the kernel starts to boot and crashes. This could be due to a bunch of different things, but it sounds like the NAND is going (not uncommon on units of this age). I've occasionally had luck doing a factory reset and trying to upgrade the unit if you can get it to boot at all post-reset (I think this allows it to go through and mark any newly bad blocks on the install of the new upgrade, but thats just a guess).

If you are really brave (and have access to the right hardware), you can try replacing the nand chip with an equivalent of the same model. Make sure you dump the data off this one using a flash programmer.

The ethernet switch has its own internal logic, so it will work even if the unit is hosed.


so you say i should keep trying until it might "accidently" boots up, do a factory reset and see what happens?
no chance for hardware problems (except nand)?
sadly i don't have jtag hardware at all.

but i don't understand... it was working fine for ages... i mean, my unit was given me from a hotel (because the hotel replaced all the audio with crestron) so this thing played music for long ages 24/7 and also it was working fine for 3 years at me. and it just suddenly freezes and dies without a sign before. weird.
Userlevel 2
Badge
hThe linux console is disabled by default in production builds of the ZP100, so not seeing anything is normal. It sounds like the kernel starts to boot and crashes. This could be due to a bunch of different things, but it sounds like the NAND is going (not uncommon on units of this age). I've occasionally had luck doing a factory reset and trying to upgrade the unit if you can get it to boot at all post-reset (I think this allows it to go through and mark any newly bad blocks on the install of the new upgrade, but thats just a guess).

If you are really brave (and have access to the right hardware), you can try replacing the nand chip with an equivalent of the same model. Make sure you dump the data off this one using a flash programmer.

The ethernet switch has its own internal logic, so it will work even if the unit is hosed.
hello everyone! thank you for this thread! with your help, i managed to connect my sonos cpu board to my computer through uart and did some inspections.

the history in a nutshell was that my zp100 is a used unit, almost 9 or 10 years old. i've opened it multiple times to clean it or check the power supply... anyway i never had any problem with it.
back in the days it started to freeze randomly, independently of playing music or standby... there was no overheating...
so i decided to unplug and let it rest a few days but now when i wanted to boot it up the white led was blinking infinitely. cleaned it, checked the voltages temperatures no problem. PLUS the ethernet switch works indiviually...

with the uart i got into the bootloader and did some tests. RAM is good, NAND has only one bad block, but it won't boot the kernel...
This is the output for the boot linux from nand:
code:

Rincon boot loader version 0.16-11080(ZP) (32M SDRAM). Press 'h' for help.
h - help
m - SDRAM test
i - print NAND device ID
n - NAND device scan
x - NAND device destructive test
y - NAND device dump first page
p - Program NAND device
b - Boot the Linux kernel from NAND device
d - Boot diagnostics from NAND device
> NAND ID is EC:75
32M NAND flash (Samsung K9F5608U0C) detected
NAND flash block 970 is bad
Section 0 is provisionally good, kernel on partition 1, generation 15
nand_load: bad page magic, page 54688
nand_load: file appears to extend past end of partition
Section 1 is no good
Attempting to boot kernel from partition 1


and there it freezes. i've never seen the linux booting though uart ever...(yet).

can i do something? if the nand is fried or empty... how in the world could it get empty or fried if it was working fine for like 9-10 years...?

thank you very much!

EDIT: i'm using uart without plugging in to mains power... am i doing it right?

EDIT2: when i don't scan my nand before booting, it sees my nand good:
code:

SDRAM test complete
Attempting to autoboot from NAND device
NAND ID is EC:75
32M NAND flash (Samsung K9F5608U0C) detected
NAND flash block 970 is bad
Section 0 is provisionally good, kernel on partition 1, generation 15
Section 1 is provisionally good, kernel on partition 4, generation 14
Attempting to boot kernel from partition 1

but then freezes anyway.
I see something on my usb voltage meter. when it starts to boot, it uses the cpu and draws around 750-800mA. the bootloader freezes, and a few seconds later the current falls back to 500mA... it's like the cpu tried something then froze...
any idea? 😞
Userlevel 2
Badge
Good to know. FYI for anyone else doing this, I think it may be possible to keep serial access after the upgrade by running:
"mdputil -wfF 3" prior to upgrading to the upgrade. YMMV, I'm not responsible if you brick the device.
Badge
As a final note for the upgrade, I used a command way back in the thread to get the software download and it was 28.1-83040-1-1.upd. I later followed the instructions to use a path from my current working system and of course substituting the proper sonosid, etc. That downloaded a file named 31.8-24090-1-16.upd. I probably should have used that file for the upgrade but I stuck with the older 28-1 file.

After the successful upgrade, I tried to add the ZP100 to my current system and it really hosed everything up. Got to the update software part and gave an error 1101. I reset the system and tried again. As soon as I plugged in the ZP100, the rest of the sonos system went down again, I unplugged the rest of the system, set up the ZP100 as a new system, it updated to 39.1-26010 and worked well. I then did a factory reset and tried to add it back to my original system. Plugged everything back in, everything was acting fine with the ZP100 plugged in waiting to be added. I added it to the system and the controller updated the rest of my system to 39.1-2600. ZP100 is working great!

One negative side effect (I think) is that when the system updated to 39.1, it is now giving me some sort of error (warning): "Some Sonos players are using the wireless connection from your range extender device. You will be unable to play music in a group of rooms including such a player. To ensure playback in all grouped rooms, you will need a Sonos BOOST or a player permanently wired to your router."

I don't know if this is a result of the update to 31.9 or if it's because I powered down all the Sonos equipment and maybe they associated differently when they restarted. I'll check with Sonos Technical support later. Anyway, probably a subject for another thread but I thought that I would mention the issue here of updating the ZP100 to 28.1 and trying to add it to a currently updated system. It might be better to get the latest download first.
Badge
Got it! I have successfully run the upgrade via the url script! I did however have to modify one of the url scripts which I believe has an error.
@anapsix - maybe you (or one of the other folks) could verify....

In the steps anapsix outlines above as steps #1, #2 and #3 for a terminal based upgrade, step #2 is shown as:
$ ps | grep anac | awk '{print $1}' | xargs kill -9

Comparing that with the url script for that step which is:
http://169.254.1.1:1400/diag/cgi-bin/bin/echo ps "|" grep anac "|" awk "{print %5C$1}" "|" xargs kill -9 >> /tmp/run.sh

It appeared to me that the script is missing the single quotation mark before and after the {print $1}, so I simply added them and BAM!
Success!

So, to (hopefully) clarify, the (proper) url scripts that I used to take a ZP100 with 3.2-29243-diag firmware with a default IP of 169.254.1.1 should be:

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

Thanks to the group for sharing your knowledge!