diff --git a/silabs-multiprotocol/CHANGELOG.md b/silabs-multiprotocol/CHANGELOG.md index e62764a6018..ee99381bc7e 100644 --- a/silabs-multiprotocol/CHANGELOG.md +++ b/silabs-multiprotocol/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2.4.6 +- Formally deprecate the addon. It will continue running as usual but you should find an alternative way to run both Zigbee and Thread if you use both with the same adapter. +- Disable automatic firmware flashing. If you need to re-install the addon, you can still flash multiprotocol firmware manually via the Silicon Labs Flasher addon or the web flasher. + ## 2.4.5 - Support Home Assistant Connect ZBT-1. diff --git a/silabs-multiprotocol/Dockerfile b/silabs-multiprotocol/Dockerfile index 3852a7fa2fa..a9d7c3e5e21 100644 --- a/silabs-multiprotocol/Dockerfile +++ b/silabs-multiprotocol/Dockerfile @@ -107,8 +107,9 @@ ENV PATH="/usr/src/slc_cli/:$PATH" RUN \ set -x \ - && git clone --depth 1 -b ${GECKO_SDK_VERSION} \ - https://github.com/SiliconLabs/gecko_sdk.git + && curl -o gecko_sdk.zip -L https://github.com/SiliconLabs/gecko_sdk/releases/download/${GECKO_SDK_VERSION}/gecko-sdk.zip \ + && unzip -q -d gecko_sdk gecko_sdk.zip \ + && rm gecko_sdk.zip # zigbeed links against libcpc.so COPY --from=cpcd-builder /usr/local/ /usr/${DEBIAN_CROSS_PREFIX}/ @@ -140,8 +141,6 @@ RUN \ FROM $BUILD_FROM -ARG UNIVERSAL_SILABS_FLASHER - RUN \ set -x \ && apt-get update \ @@ -238,7 +237,6 @@ RUN \ && cd build/otbr/ \ && ninja \ && ninja install) \ - && pip install universal-silabs-flasher==${UNIVERSAL_SILABS_FLASHER} \ && apt-get purge -y --auto-remove \ build-essential \ patch \ diff --git a/silabs-multiprotocol/README.md b/silabs-multiprotocol/README.md index ef701bee92a..407d96a398e 100644 --- a/silabs-multiprotocol/README.md +++ b/silabs-multiprotocol/README.md @@ -1,4 +1,8 @@ -# Home Assistant Add-on: SiliconLabs Zigbee/OpenThread Multiprotocol Add-on +> [!CAUTION] +> Multiprotocol is no longer supported and will be removed in the near future! +> [Disable multiprotocol support](https://connectzbt1.home-assistant.io/procedures/disable-multiprotocol/) by migrating your radio back to Zigbee or Thread firmware. + +# \[DEPRECATED\] Home Assistant Add-on: SiliconLabs Zigbee/OpenThread Multiprotocol Add-on Zigbee/OpenThread Multiprotocol container for Silicon Labs based radios such as Home Assistant Yellow, Home Assistant SkyConnect, and Home Assistant Connect ZBT-1. diff --git a/silabs-multiprotocol/build.yaml b/silabs-multiprotocol/build.yaml index b6983d81fbd..7b14a64abb6 100644 --- a/silabs-multiprotocol/build.yaml +++ b/silabs-multiprotocol/build.yaml @@ -6,4 +6,3 @@ build_from: args: CPCD_VERSION: v4.3.1 GECKO_SDK_VERSION: v4.3.1 - UNIVERSAL_SILABS_FLASHER: 0.0.17 diff --git a/silabs-multiprotocol/config.yaml b/silabs-multiprotocol/config.yaml index 6d5b2b11f6a..91c8d1e9056 100644 --- a/silabs-multiprotocol/config.yaml +++ b/silabs-multiprotocol/config.yaml @@ -1,7 +1,7 @@ --- -version: 2.4.5 +version: 2.4.6 slug: silabs_multiprotocol -name: Silicon Labs Multiprotocol +name: "[Deprecated] Silicon Labs Multiprotocol" description: Zigbee and OpenThread multiprotocol add-on url: > https://github.com/home-assistant/addons/tree/master/silabs-multiprotocol @@ -50,5 +50,5 @@ schema: otbr_enable: bool otbr_log_level: list(debug|info|notice|warning|error|critical|alert|emergency) otbr_firewall: bool -stage: experimental +stage: deprecated startup: services diff --git a/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/cpcd-config/dependencies.d/universal-silabs-flasher b/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/cpcd-config/dependencies.d/universal-silabs-flasher deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/dependencies.d/banner b/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/dependencies.d/banner deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/type b/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/type deleted file mode 100644 index bdd22a1850a..00000000000 --- a/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/type +++ /dev/null @@ -1 +0,0 @@ -oneshot diff --git a/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/up b/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/up deleted file mode 100644 index 56e09fe7678..00000000000 --- a/silabs-multiprotocol/rootfs/etc/s6-overlay/s6-rc.d/universal-silabs-flasher/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/scripts/universal-silabs-flasher-up diff --git a/silabs-multiprotocol/rootfs/etc/s6-overlay/scripts/universal-silabs-flasher-up b/silabs-multiprotocol/rootfs/etc/s6-overlay/scripts/universal-silabs-flasher-up deleted file mode 100755 index a8410b36f18..00000000000 --- a/silabs-multiprotocol/rootfs/etc/s6-overlay/scripts/universal-silabs-flasher-up +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/with-contenv bashio -# vim: ft=bash -# shellcheck shell=bash -# ============================================================================== -# Start universal-silabs-flasher if requested -# ============================================================================== - -# shellcheck disable=SC2034 -declare autoflash_firmware -declare device -declare firmware -declare usb_device_path -declare usb_manufacturer -declare usb_product -declare gpio_reset_flag - -function exit_no_firmware { - bashio::log.warning "No firmware found for the selected device, assuming firmware is installed." - exit 0 -} - -device=$(bashio::config 'device') - -if bashio::config.false 'autoflash_firmware'; then - bashio::log.info "Flashing firmware is disabled" - exit 0 -fi - -# Assume to run on Yellow if UART4 is mapped to ttyAMA1 -if [ -d /sys/devices/platform/soc/fe201800.serial/tty/ttyAMA1 ] && [ "${device}" == "/dev/ttyAMA1" ]; then - bashio::log.info "Detected Home Assistant Yellow" - firmware="NabuCasa_Yellow_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl" - gpio_reset_flag="--yellow-gpio-reset" -else - # Check device manufacturer/product information - # shellcheck disable=SC2046,SC2086 - usb_device_path=$(realpath /sys/class/tty/$(readlink /sys/class/tty/$(basename ${device}))/../../../../) - if [ ! -f "${usb_device_path}/idProduct" ]; then - bashio::log.info "The selected serial port is not a USB device." - exit_no_firmware - fi - - if [ ! -f "${usb_device_path}/manufacturer" ] || [ ! -f "${usb_device_path}/product" ]; then - bashio::log.info "USB device is missing manufacturer or product name." - exit_no_firmware - fi - - usb_manufacturer=$(cat "${usb_device_path}/manufacturer") - usb_product=$(cat "${usb_device_path}/product") - - bashio::log.info "Checking ${device} identifying ${usb_product} from ${usb_manufacturer}." - if [[ "${usb_manufacturer}" == "Nabu Casa" && "${usb_product}" == "SkyConnect"* ]]; then - firmware="NabuCasa_SkyConnect_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl" - elif [[ "${usb_manufacturer}" == "Nabu Casa" && "${usb_product}" == "Home Assistant Connect ZBT-1"* ]]; then - firmware="NabuCasa_SkyConnect_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl" - else - exit_no_firmware - fi - gpio_reset_flag="" -fi - -# All firmware we flash have a known baudrate of 460800, let cpcd know. -echo 460800 > /tmp/known-baudrate - -bashio::log.info "Starting universal-silabs-flasher with ${device}" -# shellcheck disable=SC2086 -exec universal-silabs-flasher --device ${device} \ - flash ${gpio_reset_flag} --ensure-exact-version --allow-cross-flashing --firmware "/root/${firmware}" diff --git a/silabs-multiprotocol/rootfs/root/NabuCasa_SkyConnect_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl b/silabs-multiprotocol/rootfs/root/NabuCasa_SkyConnect_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl deleted file mode 100644 index 382b594fdc9..00000000000 Binary files a/silabs-multiprotocol/rootfs/root/NabuCasa_SkyConnect_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl and /dev/null differ diff --git a/silabs-multiprotocol/rootfs/root/NabuCasa_Yellow_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl b/silabs-multiprotocol/rootfs/root/NabuCasa_Yellow_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl deleted file mode 100644 index 1ebc94e72d1..00000000000 Binary files a/silabs-multiprotocol/rootfs/root/NabuCasa_Yellow_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl and /dev/null differ