Si Labs Flasher addon with Sonoff ZBDongle-E

Hello,

I recently found that in the addon store the Silicon Labs Flasher. I assume this addon allows me to update my Sonoff ZBDongle-E without the need to put the dongle in my laptop to update it through the web flasher (Silabs Firmware Flasher | Web based flasher for ZB-GW04 and ZBDongle-E. MultiPAN RCP firmware enables these devices to be used with Silabs Multiprotocol Addon in Home Assistant. Allow Zigbee and Thread to co-exist on the same dongle. Get ahead of the tech an experiment with Matter!)

I set up the config to pick my dongle, set baudrate to 115200, disabled hardware flow control and start the addon.
It tells me there’s no firmware for my dongle.

I see that I can give it an update URL in the hidden config settings, so I pick the latest firmware from the GitHub repo (GitHub - darkxst/silabs-firmware-builder: Silicon Labs firmware builder)

The current latest firmware is on this URL:
https://github.com/darkxst/silabs-firmware-builder/raw/refs/heads/main/firmware_builds/zbdonglee/ncp-uart-hw-v7.4.5.0-zbdonglee-115200.gbl

Starting up the addon seems to do the job until it throws the following error. Any idea?

-----------------------------------------------------------
 Add-on: Silicon Labs Flasher
 Silicon Labs firmware flasher add-on
-----------------------------------------------------------
 Add-on version: 0.3.2
 You are running the latest version of this add-on.
 System: Debian GNU/Linux 11 (bullseye)  (aarch64 / odroid-n2)
 Home Assistant Core: 2024.12.3
 Home Assistant Supervisor: 2024.11.4
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[15:39:20] INFO: Starting universal-silabs-flasher with /dev/ttyACM0 (bootloader baudrate 115200)
2024-12-14 15:39:22.687 core-silabs-flasher universal_silabs_flasher.flash INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.4.5', ezsp_version='7.4.5.0', ot_rcp_version=None, cpc_version=None, fw_type=<FirmwareImageType.ZIGBEE_NCP: 'zigbee_ncp'>, fw_variant=None, baudrate=115200)
2024-12-14 15:39:22.688 core-silabs-flasher universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2024-12-14 15:39:24.693 core-silabs-flasher universal_silabs_flasher.flasher INFO Probing ApplicationType.EZSP at 115200 baud
2024-12-14 15:39:33.776 core-silabs-flasher bellows.ezsp.protocol WARNING Failed to parse frame version: b'04'
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/bellows/ezsp/protocol.py", line 161, in __call__
    result, data = t.deserialize_dict(data, rx_schema)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bellows/types/__init__.py", line 9, in deserialize_dict
    value, data = type_.deserialize(data)
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/types/basic.py", line 199, in deserialize
    raise ValueError(f"Data is too short to contain {byte_size} bytes")
ValueError: Data is too short to contain 1 bytes
2024-12-14 15:39:33.779 core-silabs-flasher bellows.ezsp WARNING Failed to parse frame, ignoring
2024-12-14 15:39:37.404 core-silabs-flasher universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 460800 baud
2024-12-14 15:39:41.722 core-silabs-flasher universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 115200 baud
2024-12-14 15:39:46.039 core-silabs-flasher universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 230400 baud
2024-12-14 15:39:50.360 core-silabs-flasher universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud
Error: Failed to probe running application type
[15:39:54] INFO: universal-silabs-flasher-up script exited with code 1
s6-rc: warning: unable to start service universal-silabs-flasher: command exited 1
s6-rc: info: service banner: stopping
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Maybe this one:
NOTE: Make sure no other add-on or integration is using the radio. In particular disable the Zigbee Home Automation integration and the Silicon Labs Multiprotocol add-on.

The python trace shows that something in the parser of the firmware is broken. This has nothing to do with the dongle being used by other addons/systems (I of course stopped z2m and mosquitto broker).

Seems like this issue was already posted on GitHub, as not forcing a firmware URL yields the error posted there.