ZBT-2 migration from Sonoff Dongle-E failing

Attempted to migrate from Sonoff Dongle-E (firmware 7.4.4.0) to new ZBT-2.
Hardware: Raspbery Pi4 8GB
Both USB 2.0 ports are occupied. First attempted to use a USB 2.0 hub along with the ZBT-2 on one of the USB 2.0 ports, but ZBT-2 was not being detected. Then connected the USB 2.0 Hub to a USB 3.0 port. ZBT-2 was detected.
Next went through the step-by-step (recommended installation) outlined in the guide here.
When attempting to install firmware the process aborted and directed to review the log (see below).
ZBT-2 is not showing up anymore under Devices & services to reattempt the migration.

Logger: homeassistant.components.homeassistant_hardware.firmware_config_flow
Source: components/homeassistant_hardware/firmware_config_flow.py:202
integration: Home Assistant Hardware (documentation, issues)
First occurred: 16:53:04 (1 occurrence)
Last logged: 16:53:04

Failed to flash firmware
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py", line 413, in async_flash_silabs_firmware
    await flasher.enter_bootloader()
  File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 358, in enter_bootloader
    await self.probe_app_type()
  File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 329, in probe_app_type
    raise RuntimeError("Failed to probe running application type")
RuntimeError: Failed to probe running application type

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py", line 202, in _install_firmware_step
    await self.firmware_install_task
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py", line 297, in _install_firmware
    self._probed_firmware_info = await async_flash_silabs_firmware(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py", line 420, in async_flash_silabs_firmware
    raise HomeAssistantError("Failed to flash firmware") from err
homeassistant.exceptions.HomeAssistantError: Failed to flash firmware

I have a secondary Pi 4 which I use as a testing environment. It has no pre-existing Zigbee adapter/network. I connected the ZBT-2 there and the setup process including firmware update was successful.
Back to the production environment and the process is still failing. Unclear why a firmware update attempt is being made when it was already updated on the other Pi?

It looks like the first thing it is doing in the production scenario is to “probe” the ZBT-2 to see what firmware it has and can’t probe it (I think the “Failed to flash firmware” log entry is misleading), which means it can’t talk to the device. From your first description of plugging into various ports, hubs, etc. My guess is that the ZBT-2 is not getting a good USB connection. I’m kind of thinking you may want to try a “powered” USB Hub to see if that makes a difference.

1 Like

Thank you for this lead! I do not have a powered one handy. Would it be ok to just straight up utilize a USB 3.0 port for the migration and once complete do a swap with the Dongle-E, currently connected to a USB 2.0 port?

Try it and see. My guess is that the Pi is limited in how much power it can supply to all the USB ports, so it may be out of power with ZBT-2 plugged into USB3 (with or without a USB hub).

1 Like

Connected ZBT-2 directly to USB 3.0 port. Setup process including migration was successful. Unplugged Dongle-E from USB 2.0 port and moved ZBT-2 there. Setup is working fine so far.
Thank you for your help with this!