The Elelabs Firmware Update Utility is a basic Python 3 script to flash
the firmware inside a range of Elelabs Zigbee and Thread products to
a newer version.
Currently sold supported products based on Silicon Labs microcontrollers:
Elelabs Zigbee Raspberry Pi Shield ELR023 (EFR32MG13P)
Elelabs Zigbee USB Adapter ELU013 (EFR32MG13P)
Previously sold supported products based on Silicon Labs microcontrollers:
Elelabs Zigbee Raspberry Pi Shield ELR022 (EFR32MG1B)
Elelabs Zigbee USB Adapter ELU012 (EFR32MG1B)
Elelabs Zigbee Raspberry Pi Shield EZBPIS (EM357)
Elelabs Zigbee USB Adapter EZBUSBA (EM357)
Disclaimer: This utility should also work with other generic EZSP
(EmberZNet Serial Protocol) or Spinel (Openthread Serial Protocol) based
adapters and modules from other vendors, however firmwares for products
not from Elelabs are not provided here and there is no guarantees that
it will work with non-Elelabs products. Be wanted that you may void your
warranty and even brick your adapter if the firmware update is not
supported by your mnaufacturer.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py311-elelabs-zigbee-ezsp-utility listed in the above command, you can pick from the names under the Packages section.
!!! ATTENTION !!!
Make sure that you are flashing proper F/W.
There is different pinout in different images and you may loose
connection to EFR32 chip after flashing.
Extra F/W sources:
https://www.zigbee2mqtt.io/guide/adapters/
https://github.com/xsp1989/zigbeeFirmware/
https://github.com/grobasoz/zigbee-firmware
https://github.com/zha-ng/EZSP-Firmware
https://github.com/MattWestb/EFR32-FW
https://github.com/walthowd/husbzb-firmware
Please note if you are using the EZSP v8 firmware you will also have to
add the following to your configuration.yaml for the Home Assistant
ZHA integration to load successfully.
zha:
zigpy_config:
ezsp_config:
CONFIG_PACKET_BUFFER_COUNT: 64
CONFIG_MAX_END_DEVICE_CHILDREN: 32
CONFIG_SOURCE_ROUTE_TABLE_SIZE: 200
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>