How to Upgrade the Zigbee Coordinator
This update includes the various Ti based coordinators such as the Sonoff Dongle-P, Athom USB/Ethernet, Tubes USB/Ethernet, Zigstar, Electrolama, and others.
For the USB users there are two methods. Using the Ti.com Windows application and the easier Python script method. Easier if you can do a little command line copying and pasting. Would you like a video to help walkthrough both processes? If not, skip the video and use the links and/or the commands below:
Windows App Method
Download FLASH-PROGRAMMER 2(https://www.ti.com/tool/FLASH-PROGRAMMER) (registration required by Ti)
Download the necessary hex file based on your coordinator model from the Z-Stack Github - Refer to the readme
Open the Ti application and plug in your stick while holding down the bootloader button. Select the correct Target Device. With the correct firmware selected, make sure "Erase", "Program" and "Verify" are all checked under "Actions" and press the blue button to start flashing. Once it is successful, remove the USB stick and re-attach to your Zigbee host machine.
Python Script Method
Download the cc2528-bsl Python Script. It currently supports TI CC13xx/CC2538/CC26xx chipsets. Follow the readme to install any necessary dependencies for Linux, Windows, etc.
Download the necessary hex file based on your coordinator model from the Z-Stack Github - Refer to the readme
Some USB Sticks such as the ZigStar and Sonoff Dongle-P can utilize a command line that will force the stick into bootloader mode. If your device does not have this option, please put it into bootloader mode by holding the BSL button during power up of the USB stick. Ethernet based coordinators will need to navigate to the web interface of the device and put it into BSL(bootloader) mode.
To flash the firmware use the command line (use the second one if your model supports auto bootloader mode)
python3 cc2538-bsl.py -p PORT -evw FIRMWARE
python3 cc2538-bsl.py -p PORT --bootloader-sonoff-usb -evw FIRMWARE
- replace the PORT with the USB port name such as COM3, COM5, etc for Windows users. Linux and others such as /dev/ttyUSB0) Windows users can use the
mode
command to see which ports are available. Linux and others usels /dev/ttyUSB*
- ethernet based coordinators should use
socket://IP:6638
as the port or other as indicated by the manufacturer - replace the
FIRMWARE
with the necessary hex file for you model of coordinator
Once it is successful, remove the USB stick and re-attach the device to the Zigbee host machine and restart ZHA/Zigbee2MQTT