New Z-stack zigbee beta firmware released

Koen pushed a new Z-stack firmware build yesterday - it’s still categorized as beta, but he hasn’t merged the dev branch with the main branch since Feb. I was running the July build on my Sonoff Zigbee 3.0 Dongle Plus with no issues… decided to flash yesterday’s update because my mesh is about to grow much, much larger. No problems at all flashing… just stopped the zigbee2mqtt container, quickly moved the stick to my PC and flashed it, moved it back to the USB hub, and re-started the container. All devices are reporting in and everything looks hunky dory. Now we find out if things will stay that way…



With Windows, right? I’ve yet to find instructions for doing this with Linux. Some will say “use a Win VM” but that has been problematic in my experience (bricked 2 zwave 700 sticks that way) so I don’t want to risk it.

Yup. Although you can prob get it to work with Python on nix. I have a barebones Python installation on my Win11 machine, and I use a script to flash the stick:

The command I ran on my win machine to get the new firmware on the stick was:

py -e -w -v -p com3 --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20220928.hex

Modify as needed for whatever your Python environment looks like, and the com port your stick gets assigned to…

1 Like

Thanks for letting me know @epw I just upgraded. I haven’t upgrade mine for some time it was an old old beta :slight_smile:

1 Like

Worked a charm! Thanks, @epw !


When trying this my computer does not give the device a driver/com port. I’ve tried it both on an extension cord and directly plugged into the computer.

Any thoughts?

If you see this

Get this - Windows driver download - CP210x USB to UART Bridge VCP Drivers - Silicon Labs


New firmware came out 3 days ago BUT it’s not flashing as can be seen here . I am sure it will be resolved in the coming days though.

I am getting great performance from 20220928… prob will stick with this for a long time unless something unforseen crops up.

1 Like

Confirmed this method works see here.

Hi Jason, Can you confirm that after the flashing the Sonoff Dongle-P, with the latest coordinator that all is well?
And did you have to re-pair all zigbee devices? Or is the DB of devices not cleared when flashing updated firmware?
Thank you!

Yes all is well, I did it this morning and went out for the day and no complaints on my phone so that’s positive :slight_smile:

No, you can upgrade the firmware without a repair. It’s very simple which is nice.


Is there a guide for updating the Z-stack FW?

Does this post from earlier in the thread help you?

I was hoping to avoid putting Python on machine, but I’ll try it.

I used Zigstar flasher. I had to try it a few times before it worked like this guy explains below but overall it flashed without issue. I had a spare one too that also flashed fine.

@jchurch @LosinIt @epw I’ve seen you have updated… so what am I doing wrong…?

Looking to update the firmware on my Sonoff Zigbee 3.0 USB Dongle Plus. I’m doing this on a Mac.

I initially tried with ZigStar Multitool (Mac version) but was getting ACK errors with the initial connection.

I then went down the Python route and issued this command with the output as below:

python3 -e -w -v -p /dev/tty.usbserial-1420 --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20221102.hex
Opening port /dev/tty.usbserial-1420, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_coordinator_20221102.hex
Your firmware looks like an Intel Hex file
Connecting to target…
CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:24:BC:1F:96
Performing mass erase
Erasing all main bank flash sectors
Erase done
Writing 360448 bytes starting at address 0x00000000
Write 104 bytes at 0x00057F980
Write done
Verifying by comparing CRC32 calculations.
Verified (match: 0x83882821)

I then reconnected to the Core and restarted z2m (I’ve also done a complete reboot) but I’m seeing errors in the z2m logs.

Have I screwed it??

Nov 13 17:01:10.249731 Collective-Core conmon[4821]: Zigbee2MQTT:info 2022-11-13 17:01:10: Starting Zigbee2MQTT version 1.28.0 (commit #03ba647)
Nov 13 17:01:10.277308 Collective-Core conmon[4821]: Zigbee2MQTT:info 2022-11-13 17:01:10: Starting zigbee-herdsman (0.14.62)
Nov 13 17:01:13.530477 Collective-Core conmon[4821]: Zigbee2MQTT:error 2022-11-13 17:01:13: Error while starting zigbee-herdsman
Nov 13 17:01:13.538505 Collective-Core conmon[4821]: Zigbee2MQTT:error 2022-11-13 17:01:13: Failed to start zigbee
Nov 13 17:01:13.545256 Collective-Core conmon[4821]: Zigbee2MQTT:error 2022-11-13 17:01:13: Check Zigbee2MQTT fails to start | Zigbee2MQTT for possible solutions
Nov 13 17:01:13.554101 Collective-Core conmon[4821]: Zigbee2MQTT:error 2022-11-13 17:01:13: Exiting…
Nov 13 17:01:13.768989 Collective-Core conmon[4821]: Zigbee2MQTT:error 2022-11-13 17:01:13: Error: Error while opening serialport ‘Error: Error: No such file or directory, cannot open /dev/serial/by-path/platform-xhci-hcd_2_auto-usb-0_1_1_0-port0’
Nov 13 17:01:13.769033 Collective-Core conmon[4821]: at SerialPort. (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:146:28)
Nov 13 17:01:13.769051 Collective-Core conmon[4821]: at SerialPort._error (/app/node_modules/@serialport/stream/lib/index.js:198:14)
Nov 13 17:01:13.769066 Collective-Core conmon[4821]: at /app/node_modules/@serialport/stream/lib/index.js:242:12
Nov 13 17:01:14.163971 Collective-Core podman[6879]: 2022-11-13 17:01:14.16369474 +0000 GMT m=+0.289989751 container died 868b10e7cbdead5d8b5b18579b45d9f7f4d8340e6b2909564ff2dfc8a9a49dda (, name=z2m)
Nov 13 17:01:14.914775 Collective-Core podman[6879]: 2022-11-13 17:01:14.91442949 +0000 GMT m=+1.040724335 container remove 868b10e7cbdead5d8b5b18579b45d9f7f4d8340e6b2909564ff2dfc8a9a49dda (, name=z2m, PODMAN_SYSTEMD_UNIT=podman-z2m.service)

@jchurch @LosinIt @epw


It appears I had connected the Sonoff stick back into the wrong USB port on the Core… P H E W !!!

All working! :slight_smile:


I would like to tempt fate. In fact, I would like to buy another usb dongle to check if I can replace it with the current one without having to reconnect all devices. it’s possible? What are the steps?

1 Like

Possible… technically yes. Recommended, supported, stable, or a good idea? (excuse the language) HELL NO!!!

There are some resources on the net you can look into if you really want to attempt this, is it possible. However it has a high probability of not only trashing your network and you having to HARD RESET every device you own, but also bricking your stick as well.

Markus and I both messed around with this during early alpha, we were originally going to provide a tool to basically take over your existing network and import it to CORE.

Its far quicker, easier, safer, and more reliable to just re-build a network through manual pairing.

I can reliably do the process without fear of a brick etc, but even when everything goes perfectly and its the exact same make and model stick, it still results in a ton of issues with the resulting network that never fully resolve without a total rebuild of everything including Z2M.

Doing it the manual way isn’t that bad if you ever do have a stick die, as your automations will resume as soon as the device is repaired to Z2M.

1 Like

Well… resuming Is not really that simple. At least you have to select devices in all z2m nodes in the flows. More over you have before to access all devices even those in the ceiling one by One, renane any of them in the Z2M interface and… I’M INCURABLY LAZY :slight_smile:
No places for people like me…