Help with Zigbee dongle

Hi all, I have purchased the following Zigbee dongle on the assumption I could get it working with Home Assistant: ZigBee3.0 USB Dongle Gateway Silicon Labs EFR32MG21 Coordinator|Connectors| - AliExpress

It is listed as having a Silicon Labs EFR32MG21 chip and in the description it says that it supports “burning NCP firmware”. I have connected the dongle to my Home Assistant and can see it in the supervisor listed as: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 connected to ttyUSB0

I have tried adding it using the Zigbee integration, and have tried choosing the EZSP type but I’m unable to get past the next step where it asks for the port speed. I just get an error saying “Failed to connect”

So I’m a bit stuck… I’m unsure if I need to flash some firmware before this will work? Not sure where to get firmware? Or perhaps I’m using the wrong settings in HA?

Any help, please?


Sounds like it does not have firmware.

Ask the vendor.

Or you could always try to make sense of this feedback

If anyone will take as a coordinator keep in mind that on the stick is sewn some butlowder and laid. Jlink and simplicity commander stick do not see or sew. To break simplicity commander’s run (thanks to Vladimir Kozlov): Commander device recover – DEVICE = efr32mg21a020f768im32 Commander device masserase – DEVICE = efr32mg21a020f768im32 After that it will be possible to sew In zigbee2mqtt edge add, without this works Serial: Port: /dev/ttyusb0 Adapter: ezsp

Thanks - I have sent a message to the vendor, but was hoping someone here had experience with this type of dongle.

The vendor replied and pointed me to a 800MB zip download file, full of all sorts of firmware files! So I’m not making much progress here.

LOL, why not post a list of them and someone may be able to help.

Or someone may even bother to download it if you give the url.

I’ll post the link, but download at your own risk. Secure Cloud Storage & File Sharing Service | FEX.NET

Here’s the list of files and folders in the folder:


ESP8266+ZigBee 3.0网关原理图.PDF
ZB-GW03以太网ZigBee 3.0网关说明书中文V01.pdf

What language are the pdfs in?

I wouldn’t use one of thos firmware file without knowing what I was doing. No idea if they are genuine, or brick makers, or how old they are.

I tell you someone who would probably know is @tube0013 - see this thread Tube's ZB Coordinators and Routers (was Zigbee router on steroids?) and there is some info on the zigbee2mqtt docs Supported adapters |

That’s the exact same module used in the sonoff zigbee bridge. You can use any of the sonoff zigbee bridge firmwares on it. It does require the them unles you have a j-link and are able to flash that way a break bootloader.

Thanks for letting me know. Any chance you can point me towards a tutorial about how I would go about flashing this dongle? I keep going around in circles!

After further googling, I’m not making progress. The only instructions I can find for flashing this dongle seem to require me purchasing a Jlink device. But i would rather just buy a different Zigbee dongle than a Jlink.

Unless anyone has a better idea, I’m about ready to throw this dongle in the bin and start again…

I have one but it’s not in a state to confirm this, but I’d try

Ground the pa0 pin that is exposed and then reset it either by unplugging re-plugging or temporarily grounding the rst pin.

This should bring up the gecko bootloader menu in a serial console, then you’d need xmodem to send the ezsp firmware (by default these modules come with a non ezsp fw)

Signed fw his here:

Hi again @tube0013
Thanks for that extra info. I was about to give up but have managed to get the dongle into bootloader mode thanks to your advice about grounding the pa0 pin. However, I don’t know how to use xmodem to send the firmware so tried using the elelabs python scripts that is linked to from the firmware page you provided. I’m not sure if I’m doing this correctly, but when I upload the firmware using the script I get an error message:

python flash -f data/ncp-uart-sw_679_115200.gbl -p /dev/ttyUSB0
2021/06/23 17:42:53 Elelabs_EzspFwUtility:   EZSP adapter in bootloader mode detected:
2021/06/23 17:42:53 Elelabs_EzspFwUtility:   Gecko Bootloader v1.9.1.03
2021/06/23 17:42:53 Elelabs_EzspFwUtility:   Allready in bootloader mode. No need to restart
2021/06/23 17:42:54 Elelabs_EzspFwUtility:   Successfully restarted into X-MODEM mode! Starting upload of the new firmware... DO NOT INTERRUPT(!)
send error: expected ACK; got b'\x18'
send error: expected ACK; got b'\x18'
send error: expected ACK; got b'\x18'
send error: expected ACK; got b'\r'
send error: expected ACK; got b'\n'
send error: expected ACK; got b'S'
send error: expected ACK; got b'e'
send error: expected ACK; got b'r'
send error: expected ACK; got b'i'
send error: expected ACK; got b'a'
send error: expected ACK; got b'l'
send error: expected ACK; got b' '
send error: expected ACK; got b'u'
send error: expected ACK; got b'p'
send error: expected ACK; got b'l'
send error: expected ACK; got b'o'
send error: expected ACK; got b'a'
EOT was not ACKd, aborting transfer

2021/06/23 17:43:25 Elelabs_EzspFwUtility:   Firmware upload failed. Please try a correct firmware image or restart in normal mode.

Any ideas how I can upload the firmware?

Another update, but stil no progress… Found a Russian article which Google Translate helped me with: Google Translate

In that post, they describe the exact same dongle as me and go through the steps required to update the bootloader and then to flash the firmware. Because I can see that my dongle already has the Gecko bootloader, I skipped those steps and went straight to the section where they walk through how to flash the firmware. They use the same method as I have tried, and when I used the same firmware as them, I got the same error message as before, whereas it worked fine for them. So perhaps I have a fault with my dongle or there’s something else going wrong on my side that’s causing issues.

Still stuck. :frowning:

Ah bummer,

So what the Russian site does is replace the bootloader so it can use non signed firmware. This can only be done with the debugger. So if you use the firmware they linked it won’t work with the standard bootloader as it is looking for a signed fw image. The ones from the GitHub repo I linked should work… maybe try the latest one from the bridge?

The sm-011 does not come with an ezsp compatible fw installed so I’m not sure how it interacts with the commands the utility from elelabs works as that sends some user commands for ezsp I believe.

There are some GUI based serial consoles that support xmodem I use one called “Serial” on Mac. But you may have better luck trying to find something like that for your platform.

not sure what else I’d suggest at this point. I have a j-link and access to the sdk from SI Labs so I would just move to flashing with that :man_shrugging:t3:

Thanks for your help. I learned lots, but it looks like I need to update the bootloader as well. I tried all the firmware images from the repo you posted, and these all gave the same result. I have ordered another dongle so will wait for that one to arrive.

Is there any chance you still have these files to reupload? I’m looking for the ZYZBP001模组规格书.pdf in particular.

Did you ever find a copy of the document? I apparently just bought some of those boards.