ITead’s “Sonoff Zigbee 3.0 USB Dongle Plus V2” (model "ZBDongle-E") based on Silicon Labs EFR32MG21 radio SoC/MCU

I’m looking to update the firmware on my EFR32MG21 Sonoff dongle. Do you know if the original EFR32MG21 dongle (i.e. Sonoff Zigbee 3.0 USB Dongle, model 9888010100045) can be updated to the new EmberZNet 7.4.x.x firmware. Or is it only compatible with the ZBDongle-E model?

EDIT: I did manage to upgrade the firmware successfully. I used Darkxst’s firmware for the DongleE and flashed it using the manual process - for some reason Darkxst’s web flasher didn’t pick up my device (maybe because the CH340 uart, while the ZB-DongleE is different, or maybe for some other reason). Either way my Z2M is all working nicely on Ember now.

1 Like

What are the differences between the official Sonoff firmware and Darkxst’s firmware?
Thanks

1 Like

In practice they only differ in the version of the Silicon Labs EmberZNet SDK that the firmware image been build from.

There might also be some small configuration difference but both are built from the official SDK from Silicon Labs.

Sonoff has just not made any update images since initial release, however if they did it would basically be the same.

I’m currently running zigbee2mqtt version 1. 37.1-1 with the

ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20221029145113-if00

adapter: ezsp

My logs have regular

warning: 	zh:ezsp: Deprecated driver 'ezsp' currently in use, 'ember' 
will become the officially supported EmberZNet driver in next release. 
If using Zigbee2MQTT see https://github.com/Koenkk/zigbee2mqtt/discussions/21462

as well as errors such as

error: 	zh:ezsp:ezsp: Frame changeSourceRouteHandler parsing error: RangeError: Attempt to access memory outside buffer bounds
    at new NodeError (node:internal/errors:405:5)
    at boundsError (node:internal/buffer:86:11)
    at Buffer.readUInt16LE (node:internal/buffer:245:5)
    at Buffer.readUIntLE (node:internal/buffer:182:17)
    at Function.deserialize (/app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/types/basic.ts:19:67)
    at new EZSPFrameData (/app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/ezsp.ts:180:54)
    at /app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/ezsp.ts:154:23
    at Array.every (<anonymous>)
    at Function.createFrame (/app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/ezsp.ts:148:15)
    at Ezsp.onFrameReceived (/app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/ezsp.ts:439:35)

I’ve read through the discussion #21462 and am really none the wiser, apart from acknowledging that the ezsp adapter will no longer be supported. Do I need to change the adapter firmware to the Ember version and if so does anyone have a step by step guide they could point me towards?

Thanks.

This thread is specifically only about hardware and firmware, for Zigbee2MQTT configuration discussion/questions or issues and other application related things you need to post to their project and own community on GitHub:

https://github.com/Koenkk/zigbee2mqtt/discussions

https://github.com/Koenkk/zigbee2mqtt/issues

https://github.com/Koenkk/zigbee2mqtt

Here you click on raw to download the firmware

Then you open this page with chrome or edge

and flash the downloaded firmware.

1 Like

If that comment is in reply to my post, it is actually a firmware question.

If not, sorry if I missread it.

That first part of that question does not really belong here, which versions that is required and recommend really belongs in the Z2M community. As for updating the firmware there are links above and in the original post, including links to step by step guides.

1 Like

Sorry, but if I had simply asked

I’d have probably got an “it depends” type answer. So I was just trying to add context and additional information to inform the reader prior to eliciting a response.

Yes it depends.

FYI, Zigbee2MQTT lists EmberZNet with firmware 7.4.x as supported (using their new adapter: ember), and they also updated that page to list adapter: ezsp as deprecated (i.e. not recommended):

Recommend read and ask any specific questions in Zigbee2MQTT’s own community discussions/forum on GitHub (or post issues there) instead of posting about it here in Home Assistant’s community forum:

Anyway, as I understand, in summery:

You need to have upgraded to at least EmberZNet 7.4.x firmware version or later to use the new ”ember” driver/adapter in Zigbee2MQTT, but from what I read it is suggested that existing Zigbee2MQTT users first upgrade to EmberZNet 7.3.x firmware version while still using the old ”ezsp” driver/adapter as it sounds like a migration to the new ”ember” driver will go smoother if already have had the old ”ezsp” driver/adapter working EmberZNet 7.3.x firmware version while still using the old ”ezsp” driver/adapter in Zigbee2MQTT. If you do that first before upgrading to EmberZNet 7.4.x.x firmware then you should not need to re-pair any devices.

Hence the multi-step process you need to follow do depends on your specific setup and you need to ask in the Zigbee2MQTT community if you need step-by-step that applies to your setup. The process for actually updating firmware version will not be different.

Suggest start by reading and try following this article regarding migrating Zigbee2MQTT from the ezsp adapter to the new ember adapter:

Summery; ezsp adapter is now deprecated in Zigbee2MQTT’s zigbee-herdsman library, which means that the Zigbee2MQTT developers are by doing so strongly recommending users to upgrade and migrate to ember adapter, and that migration might require a multi-step process depending on what EmberZNet firmware version you are using today. Users that continues to use the ezsp adapter will for now simply get a warning in their logs that they are using a deprecated adapter, however it will not stop working.

Note! If you have a EFR32MG12/MGM12 series or EM35x/EM35xx or ETRX35x based adapter then you need to buy a newer adapter. You need at least EFR32MG13/MGM13 series to be able to upgrade to EmberZNet 7.4.x.x firmware. So you preferably want to migrate to newer Silicon Labs based Zigbee Coordinator then you should consider getting an EFR32MG2x based USB radio dongle (EFR32MG21 or EFR32MG24 today, or EFR32MG26 in the future), at least if you plan on continuing to use Silicon Labs based Zigbee adapters, though technically you can even upgrade EFR32MG13 with EmberZNet 7.4.x.x firmware (but probably not to EmberZNet 7.5.x.x firmware when that comes).

For reference see:

PS: Note that “Deprecated” does not mean that the ezsp adapter will be removed yet, instead it means you are discouraged from using it as it is being phased out and replaced by the newer ember adapter (which is not compatible with older firmware or all hardware).

Brilliant, thank you :+1:

FYI, ITead released official Zigbee NCP EmberZNet 7.3.3.0 + 7.4.3.0 firmware for Sonoff ZBDongle-E:

Note that you can report firmware specific issues for Sonoff ZBDongle-E direcly to ITead on GitHub:

Better late than never! :smiley:

Is there a difference / recommendation on using the itead firmware vs. the darkxst firmware that I see throughout many posts / firmware upgrade discussions?

Already asked and answered a few posts above yours,
I posted this reply two months ago:

In practice they only differ in the version of the Silicon Labs EmberZNet SDK that the firmware image been build from.

There might also be some small configuration difference but both are built from the official SDK from Silicon Labs.

Sonoff has just not made any update images since initial release, however if they did it would basically be the same.

Recommendations varies depending on setup and devices used but in general with Zigbee the saying ”do not fix was isn’t broken” goes a long way.

So be sure to follow all the other best practice tips before update the firmware, see:

1 Like

I apologize, I totally missed that post above.

Is Thread’s situation similar to Zigbee’s? I’m trying to find the right Thread adapter for my smart home network. I found SMLIGHT SLZB-07 and ZBDongle-E, the former has hardware flow control and the latter does not. I’m not familiar with Thread network internals, so I don’t know if hardware flow control is an important feature of Thread.

You need to understand and be aware of that the Thread integration (and the Matter integration to support devices that use Matter over Thread especially) is still experimental and in early state of development so my advice would be to just buy a separate dedicated Home Assistant SkyConnect / Connect ZBT-1 for Thread if want to try using it via a USB dongle Thread (and Matter support) as that one has much better support for more developers than any other hardware.

Hardware flow control is not really important with modern hardware and newer firmware, but FYI the Home Assistant SkyConnect / Connect ZBT-1 USB dongle support hardware flow control too.

Thank you! After reading this I noticed I didn’t have the SecureCRT maximized to see the command input window! Also didn’t realize pressing 1 and the CCCC… means ready to upload via Transfer > Send Xmodem

Thread is also 250kbps, but since it is an RCP firmware the full bandwidth can be used between dongle and PC. This is why most thread builds are 460800 buaudrate.

Hardware flow control is not really important, I’ve yet to see any buffer overruns with ZBDongle-E which is with no flow control for thread.

1 Like

FYI, @Nerivec has posted experimental updated (8.0.2) Zigbee Router firmware for the Sonoff ZBDongle-E here:

You can post feedback to him on it there in that repo.