SONOFF zbdongle-e, silicone labs multiprotocol + zigbee2mqtt help

Hi everyone,

I’m fairly new to HA and currently having trouble setting up my ZBDongle-E to work with Matter and Zigbee devices and could use some assistance. Here’s what I’ve done and the issues I’m encountering:

Setup Details:

  • Hardware: ZBDongle-E
  • Purpose: Use with Matter and Zigbee devices
  • Multi-PAN Version: 4.3.1 on the Sonoff dongle
  • Home Assistant: Running on a Proxmox VM
    • Core: 2024.5.5
    • Supervisor: 2024.05.1
    • OS: 12.3
    • Frontend: 20240501.1
  • Proxmox VM: Correctly passing through the Sonoff USB device to the machine

Steps Followed:

  • Bought a ZBDongle-E to use with Matter and Zigbee devices and used “darkxst” to change firmware to Multi-PAN.
  • Followed some YouTube guides on installing Silicon Labs Multiprotocol and Zigbee2MQTT
  • Checked configuration and all seems okay

Logs from Silicon Labs Multiprotocol:

Zigbee and OpenThread multiprotocol add-on
-----------------------------------------------------------
 Add-on version: 2.4.5
 You are running the latest version of this add-on.
 System: Home Assistant OS 12.3  (amd64 / qemux86-64)
 Home Assistant Core: 2024.5.5
 Home Assistant Supervisor: 2024.05.1
-----------------------------------------------------------
 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
[11:22:17] INFO: Flashing firmware is disabled
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service cpcd-config: starting
[11:22:17] INFO: Generating cpcd configuration.
s6-rc: info: service cpcd-config successfully started
s6-rc: info: service cpcd: starting
[11:22:17] INFO: Starting cpcd...
WARNING in function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
s6-rc: info: service cpcd successfully started
s6-rc: info: service zigbeed: starting
s6-rc: info: service otbr-agent: starting
s6-rc: info: service zigbeed successfully started
[11:22:18] INFO: Starting zigbeed...
[11:22:18] INFO: Setup OTBR firewall...
[11:22:18] INFO: Starting otbr-agent...
otbr-agent[303]: [NOTE]-AGENT---: Running 0.3.0
otbr-agent[303]: [NOTE]-AGENT---: Thread version: 1.3.0
otbr-agent[303]: [NOTE]-AGENT---: Thread interface: wpan0
otbr-agent[303]: [NOTE]-AGENT---: Radio URL: spinel+cpc://cpcd_0?iid=2&iid-list=0
otbr-agent[303]: [NOTE]-ILS-----: Infra link selected: enp6s18
otbr-agent[303]: 49d.17:43:53.067 [C] Platform------: mCpcBusSpeed = 115200
[11:22:17:774812] Info : [CPCd v4.3.1.0] [Library API v3] [RCP Protocol v4]
[11:22:17:774857] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch: 
[11:22:17:774859] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[11:22:17:774865] WARNING : In function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
[11:22:17:774883] Info : Reading cli arguments
[11:22:17:774888] Info : /usr/local/bin/cpcd 
[11:22:17:776049] Info : Reading configuration
[11:22:17:776053] Info :   file_path = /usr/local/etc/cpcd.conf
[11:22:17:776054] Info :   instance_name = cpcd_0
[11:22:17:776055] Info :   socket_folder = /dev/shm
[11:22:17:776055] Info :   operation_mode = MODE_NORMAL
[11:22:17:776056] Info :   use_encryption = false
[11:22:17:776057] Info :   binding_key_file = /etc/binding-key.key
[11:22:17:776057] Info :   stdout_tracing = false
[11:22:17:776058] Info :   file_tracing = false
[11:22:17:776058] Info :   lttng_tracing = false
[11:22:17:776059] Info :   enable_frame_trace = false
[11:22:17:776059] Info :   traces_folder = /dev/shm/cpcd-traces
[11:22:17:776060] Info :   bus = UART
[11:22:17:776061] Info :   uart_baudrate = 460800
[11:22:17:776061] Info :   uart_hardflow = false
[11:22:17:776062] Info :   uart_file = /dev/ttyACM0
[11:22:17:776062] Info :   fu_recovery_pins_enabled = false
[11:22:17:776063] Info :   fu_connect_to_bootloader = false
[11:22:17:776063] Info :   fu_enter_bootloader = false
[11:22:17:776064] Info :   restart_cpcd = false
[11:22:17:776065] Info :   application_version_validation = false
[11:22:17:776065] Info :   print_secondary_versions_and_exit = false
[11:22:17:776066] Info :   use_noop_keep_alive = false
[11:22:17:776067] Info :   reset_sequence = true
[11:22:17:776067] Info :   stats_interval = 0
[11:22:17:776068] Info :   rlimit_nofile = 2000
[11:22:17:776068] Info : ENCRYPTION IS DISABLED 
[11:22:17:776069] Info : Starting daemon in normal mode
[11:22:17:787402] Info : Connecting to Secondary...
[11:22:17:861406] Info : RX capability is 256 bytes
[11:22:17:861412] Info : Connected to Secondary
[11:22:17:863181] Info : Secondary Protocol v4
[11:22:17:866823] Info : Secondary CPC v4.3.1
[11:22:17:868572] Info : Secondary bus bitrate is 460800
[11:22:17:872439] Info : Secondary APP vUNDEFINED
[11:22:17:872499] Info : Daemon startup was successful. Waiting for client connections
[11:22:18:434030] Info : New client connection using library v4.3.1.0
[11:22:18:436503] Info : Opened connection socket for ep#12
[11:22:18:436589] Info : Endpoint socket #12: Client connected. 1 connections
[11:22:19:214554] Info : New client connection using library v4.3.1.0
[11:22:19:216986] Info : Endpoint socket #12: Client connected. 2 connections
otbr-agent[303]: 00:00:00.025 [N] RoutingManager: No valid /48 BR ULA prefix found in settings, generating new one
otbr-agent[303]: 00:00:00.029 [N] RoutingManager: BR ULA prefix: fdf2:af92:f3b5::/48 (generated)
otbr-agent[303]: 00:00:00.029 [N] RoutingManager: Local on-link prefix: fdde:ad00:beef:cafe::/64
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
otbr-agent[303]: 00:00:00.258 [N] RoutingManager: Local on-link prefix: fdc8:42d4:7ed1:93b7::/64
otbr-agent[303]: 00:00:00.264 [N] Mle-----------: Role disabled -> detached
otbr-agent[303]: 00:00:00.264 [N] Platform------: [netif] Changing interface state to up.
[11:22:20] INFO: Successfully sent discovery information to Home Assistant.
s6-rc: info: service otbr-agent-rest-discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
otbr-agent[303]: 00:00:00.836 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
Listening on port 9999 for connection...
Accepting connection.
otbr-agent[303]: 00:00:07.336 [N] RouterTable---: Allocate router id 61
otbr-agent[303]: 00:00:07.336 [N] Mle-----------: RLOC16 fffe -> f400
otbr-agent[303]: 00:00:07.338 [N] Mle-----------: Role detached -> leader
otbr-agent[303]: 00:00:07.338 [N] Mle-----------: Partition ID 0x41fb1525
otbr-agent[303]: [NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!

After a Few Minutes, If I Check the Log Again, I Get the Following:

Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d486:c2ff:fe7e:4651/veth7617a9f/29

Zigbee2MQTT Logs:

[11:33:07] INFO: Preparing to start...
[11:33:08] INFO: Socat not enabled
[11:33:08] INFO: Starting Zigbee2MQTT...
[2024-05-27 11:33:11] info: 	z2m: Logging to console, file (filename: log.log)
[2024-05-27 11:33:11] info: 	z2m: Starting Zigbee2MQTT version 1.37.1 (commit #unknown)
[2024-05-27 11:33:11] info: 	z2m: Starting zigbee-herdsman (0.46.6)
[2024-05-27 11:33:11] warning: 	zh:ezsp: Deprecated driver 'ezsp' currently in use, 'ember' will become the officially supported EmberZNet driver in next release. If using Zigbee2MQTT see https://github.com/Koenkk/zigbee2mqtt/discussions/21462
[2024-05-27 11:33:11] error: 	zh:ezsp:ezsp: Connection attempt 1 error: Error: Error Resource temporarily unavailable Cannot lock port
[2024-05-27 11:33:16] error: 	zh:ezsp:ezsp: Connection attempt 2 error: Error: Error Resource temporarily unavailable Cannot lock port

If I change the adapter to ‘ember’, I get the following logs:

[11:33:55] INFO: Preparing to start...
[11:33:55] INFO: Socat not enabled
[11:33:56] INFO: Starting Zigbee2MQTT...
[2024-05-27 11:33:58] info: 	z2m: Logging to console, file (filename: log.log)
[2024-05-27 11:33:58] info: 	z2m: Starting Zigbee2MQTT version 1.37.1 (commit #unknown)
[2024-05-27 11:33:58] info: 	z2m: Starting zigbee-herdsman (0.46.6)
[2024-05-27 11:33:59] info: 	zh:ember: ======== Ember Adapter Starting ========
[2024-05-27 11:33:59] info: 	zh:ember:ezsp: ======== EZSP starting ========
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash: ======== ASH NCP reset ========
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash: RTS/CTS config is off, enabling software flow control.
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash: ASH COUNTERS since last clear:
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Total frames: RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Cancelled   : RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   DATA frames : RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   DATA bytes  : RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Retry frames: RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   ACK frames  : RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   NAK frames  : RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   nRdy frames : RX=0, TX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   CRC errors      : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Comm errors     : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Length < minimum: RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Length > maximum: RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Bad controls    : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Bad lengths     : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Bad ACK numbers : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Out of buffers  : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Retry dupes     : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   Out of sequence : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash:   ACK timeouts    : RX=0
[2024-05-27 11:33:59] info: 	zh:ember:uart:ash: ======== ASH stopped ========
[2024-05-27 11:33:59] error: 	zh:ember:uart:ash: Failed to init port with error Error: Error Resource temporarily unavailable Cannot lock port
[2024-05-27 11:33:59] error: 	z2m: Error while starting zigbee-herdsman
[2024-05-27 11:33:59] error: 	z2m: Failed to start zigbee
[2024-05-27 11:33:59] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-05-27 11:33:59] error: 	z2m: Exiting...
[2024-05-27 11:33:59] error: 	z2m: Error: Failed to start EZSP layer with status=HOST_FATAL_ERROR.
    at EmberAdapter.initEzsp (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:780:19)
    at EmberAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:2642:24)
    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:124:29)
    at Zigbee.start (/app/lib/zigbee.ts:62:27)
    at Controller.start (/app/lib/controller.ts:109:27)
    at start (/app/index.js:107:5)

If I change the firmware to use Zigbee (EZSP) 7.3.1.0 then zigbee2mqtt starts as normal. I won’t be able to use silicone labs multiprotocol though and my matter devices won’t work?

Not sure what else I should be trying?
Any help or guidance would be greatly appreciated.

Even Nabu Casa does not promote multipan any more. Best is to buy a second dongle to use Thread.

Does not have to be a Skyconnect or Dongle-E, I use a nrf52840 dongle (€12 on Ali) for Thread and it works really well

Ah gotcha.
You got a link to the one you use?

https://www.aliexpress.com/item/1005004262523219.html

You need the E104-BT5040U

Cool. Thanks for your help :slight_smile:

Is it difficult to compile the firmware for these to use with thread?

it takes some work, but if you follow the instructions on GitHub - openthread/ot-nrf528xx: OpenThread on Nordic nRF528xx examples. it is not difficult.

1 Like