Flash Silicon Labs radio firmware manually - NabuCasa/silabs-firmware GitHub Wiki
This page describes how-to manually flash the firmware's provided by this repository on Home Assistant Yellow or Home Assistant SkyConnect.
Prerequisite
- SSH & Web Terminal (from the Community Add-ons section, make sure to disable "Protection mode" to get direct hardware access)
Preparation
Install the universal-silabs-flasher available on the PyPI:
$ pip install universal-silabs-flasher
Download the firmware files, e.g. by downloading this repository:
git clone https://github.com/NabuCasa/silabs-firmware.git
Important: Disable any integration or add-on which might access the hardware, in particular:
- Disable the Zigbee Home Automation integration
- Stop the Silicon Labs Multiprotocol or Silicon Labs Concurrent Multiprotocol add-on
Find the serial path
If you are using Home Assistant SkyConnect, run the following command to find the path of the Home Assistant SkyConnect serial port:
ls /dev/serial/by-id/usb-Nabu_Casa_SkyConnect*
Note the full path shown by this command.
If you are using Home Assistant Yellow, use /dev/ttyAMA1 as the serial path.
Run firmware update
$ cd silabs-firmware
$ universal-silabs-flasher --device <serial-path> \
flash --allow-cross-flashing --firmware <firmware-file>
E.g. to flash the EmberZNet firmware on a SkyConnect, use:
$ universal-silabs-flasher --device /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_d84340ed5e83eb11b65865deb6d59897-if00-port0 \
flash --allow-cross-flashing --firmware EmberZNet/beta/NabuCasa_SkyConnect_EZSP_v7.1.3.0_ncp-uart-hw_115200.gbl