How to flash a Zigbee 3.0 USB Dongle Plus + upgrade to ember firmware
This guide will show you how to flash a Sonoff Zigbee 3.0 USB Dongle Plus using the Universal Silicon Labs Flasher.
26 Dec, 2024
Requirements
- A Sonoff Zigbee 3.0 USB Dongle Plus
- A PC (Preferably with Linux)
- Python 3.10 or higher
- Pip 22.0 or higher
Pre-flash Steps
- Install the Universal Silicon Labs Flasher using pip:
pip install universal-silabs-flasher
- Insert the dongle into the computer’s USB port.
- Check what usb device is connected to the computer:
lsusb
Flashing - Coordinator Mode
Recently, Zigbee2MQTT announced that the ezsp driver that powered these coordinators is deprecated and obsolete, being replaced with the new ember version. (Remember to update your Zigbee2MQTT configuration, from adapter: ezsp
to adapter: ember
)
-
Download the latest firmware: https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds/zbdonglee (115200 baud)
-
Use the flasher script to flash the firmware:
universal-silabs-flasher --device /dev/ttyUSB0 --bootloader-reset sonoff flash --firmware ~/Downloads/ncp-uart-hw-v7.4.5.0-zbdonglee-115200.gbl --force
Replace /dev/ttyUSB0
with the correct device name. This might be something like ttyUSB0
or ttyACM0
.
Flashing - Router Mode
-
Download the desired firmware for your device: https://github.com/ha1fdan/Sonoff_Zigbee_Dongle_Firmware/tree/master/Dongle-E
-
Use the flasher script to flash the firmware:
universal-silabs-flasher --device /dev/ttyUSB0 --bootloader-reset sonoff flash --firmware ~/Downloads/Z3RouterUSBDonlge_EZNet6.10.3_V1.0.0.gbl --force
Replace /dev/ttyUSB0
with the correct device name. This might be something like ttyUSB0
or ttyACM0
.
Once the flashing is complete, you should see a output similar to this:
2024-12-26 16:04:54.336 desktop universal_silabs_flasher.flash INFO Failed to read firmware metadata: {exc!r}
2024-12-26 16:04:54.336 desktop universal_silabs_flasher.flasher INFO Triggering sonoff bootloader
2024-12-26 16:04:54.941 desktop universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2024-12-26 16:04:55.055 desktop universal_silabs_flasher.flasher INFO Launched application from bootloader
2024-12-26 16:04:55.057 desktop universal_silabs_flasher.flasher INFO Detected bootloader version '1.12.0'
2024-12-26 16:04:55.057 desktop universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 460800 baud
2024-12-26 16:04:59.376 desktop universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 115200 baud
2024-12-26 16:05:03.702 desktop universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 230400 baud
2024-12-26 16:05:08.026 desktop universal_silabs_flasher.flasher INFO Probing ApplicationType.EZSP at 115200 baud
2024-12-26 16:05:13.036 desktop universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud
2024-12-26 16:05:17.364 desktop universal_silabs_flasher.flasher INFO Probing ApplicationType.ROUTER at 115200 baud
2024-12-26 16:05:19.375 desktop universal_silabs_flasher.flasher INFO Triggering sonoff bootloader
2024-12-26 16:05:19.983 desktop universal_silabs_flasher.flasher WARNING Bootloader did not launch a valid application
2024-12-26 16:05:19.983 desktop universal_silabs_flasher.flasher INFO Detected ApplicationType.GECKO_BOOTLOADER, version '1.12.0' at 115200 baudrate (bootloader baudrate 115200)
ncp-uart-sw_EZNet6.10.3_V1.0.1.gbl [####################################] 100%
Not working?
If the universal-silabs-flasher
script doesn’t work, try using the Silabs Firmware Flasher, this page allows you to flash Silicon Labs EFR32MG21 based Zigbee dongles directly from your Chrome-based browser.