Sonoff Dongle-M/Dongle Max port 6683 does not connect

  1. If there is a network problem and zigbee2mqtt gets disconnected from the dongle, am I correct to say that I would be able to connect to the dongle’s port 6638 from any other IP address?

Yes, that’s correct.

Thanks, let me independently test the device’s coordinator mode stablity my own way.

Is there the docker image hosted anywhere? I’m not fond of add-ons

Please let me check with my colleague to see if we could provide a standalone docker image.

Thanks!

I’m not sure what the docker image actually does, but I think a true MultiPAN solution is one that is implemented in the dongle itself.

I think a true MultiPAN solution is one that is implemented in the dongle itself.

Oh, there is a misunderstanding here. Dongle can’t run all the Zigbee Hub/OpenThread Border Router/Multiprotocol function itself. For example:

  • You need Home Assistant Zigbee Home Automation (ZHA) or Zigbee2MQTT (Z2M) and Zigbee RCP firmware on Dongle (Zigbee Adapter) to form a complete Zigbee Hub.
  • You need OpenThread Border Router App and Thread RCP firmware on Dongle to form a complete OTBR.

For MultiPAN, you need Silicon Labs Multiprotocol App and MultiPAN firmware on Dongle to simulate the Zigbee Adapter (Zigbee Coordinator firmware on chip) and OTBR. Then you can configure ZHA or Z2M to connect to the simulated Zigbee Adapter.

Ok, my understanding is:

Zigbee

  • Dongle TCP ↔ Z2M/ZHA ↔ HA

Thread

  • Dongle TCP ↔ OBTR ↔ HA

MultiPAN

  • Dongle TCP ↔ Silabs App TCP ↔ Z2M/HA ↔ HA
  • Dongle TCP ↔ Silabs App TCP ↔ OBTR ↔ HA
  1. Is above correct?
  2. If yes, then my question is, is Silabs App so complicated that the dongle cannot handle it?
  3. If no, maybe can use my arrows and re-diagram who Silabs App talk to

Are you able to help with silab’s app?

Silicon Labs Multiprotocol app keeps stopping

config

device: /dev/ttyS3
baudrate: "115200"
flow_control: false
cpcd_trace: false
otbr_enable: true
otbr_log_level: notice
otbr_firewall: true
network_device: x.x.x.x:6638

Logs

[19:03:24] 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
[2026-03-13T11:03:24.276013Z] Info : New client connection using library v4.6.1.0
[2026-03-13T11:03:24.283947Z] Info : Endpoint socket #12: Client connected. 2 connection(s)
s6-rc: info: service legacy-services successfully started
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service otbr-agent-rest-discovery: stopping
s6-rc: info: service zigbeed-tcp: stopping
s6-rc: info: service mdns: stopping
Default: mDNSResponder (Engineering Build) (Jun 24 2025 07:30:36) stopping
s6-rc: info: service otbr-agent-rest-discovery successfully stopped
s6-rc: info: service otbr-agent: stopping
s6-rc: info: service zigbeed-tcp successfully stopped
s6-rc: info: service zigbeed: stopping
[19:03:24] INFO: zigbeed ended with exit code 256 (signal 15)...
s6-rc: info: service zigbeed successfully stopped
s6-rc: info: service zigbeed-socket: stopping
[19:03:25] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service zigbeed-socket successfully stopped
s6-rc: info: service mdns successfully stopped
[19:03:25] INFO: otbr-agent ended with exit code 256 (signal 15)...
OTBR_FORWARD_INGRESS  all opt    in * out wpan0  ::/0  -> ::/0  
Chain OTBR_FORWARD_INGRESS (0 references)
target     prot opt source               destination         
DROP       all      anywhere             anywhere             PKTTYPE = unicast
DROP       all      anywhere             anywhere             match-set otbr-ingress-deny-src src
ACCEPT     all      anywhere             anywhere             match-set otbr-ingress-allow-dst dst
DROP       all      anywhere             anywhere             PKTTYPE = unicast
ACCEPT     all      anywhere             anywhere            
otbr-ingress-deny-src
otbr-ingress-deny-src-swap
otbr-ingress-allow-dst
otbr-ingress-allow-dst-swap
OTBR_FORWARD_EGRESS  all opt    in wpan0 out *  ::/0  -> ::/0  
Chain OTBR_FORWARD_EGRESS (0 references)
target     prot opt source               destination         
ACCEPT     all      anywhere             anywhere            
[19:03:25] INFO: OTBR firewall teardown completed.
[19:03:25] WARNING: otbr-agent exited with code 143 (by signal 15).
s6-rc: info: service otbr-agent successfully stopped
s6-rc: info: service cpcd: stopping
[2026-03-13T11:03:24.967081Z] Info : Endpoint socket #12: Client disconnected. 1 connections
[2026-03-13T11:03:24.967112Z] Info : Client disconnected
[2026-03-13T11:03:24.967125Z] Info : Endpoint socket #12: Client disconnected. 0 connections
[2026-03-13T11:03:24.967565Z] Info : Client disconnected
[2026-03-13T11:03:25.098605Z] Info : Server core cleanup
[2026-03-13T11:03:25.098823Z] Info : Daemon exiting with status EXIT_SUCCESS
Logger buffer size = 28672, highwater mark = 2868 : 10.00%. Lost logs : 0
[19:03:25] INFO: CPC ended with exit code 0 (signal 0)...
s6-rc: info: service cpcd successfully stopped
s6-rc: info: service cpcd-config: stopping
s6-rc: info: service socat-cpcd-tcp: stopping
s6-rc: info: service cpcd-config successfully stopped
2026/03/13 19:03:25 socat[93] W exiting on signal 15
s6-rc: info: service banner: stopping
s6-rc: info: service socat-cpcd-tcp successfully stopped
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
  1. Yes, exactly.
  2. Yes, and No. Yes, it’s a bit complicated than just Zigbee or Thread. No, the core reason that the Multiprotocol App needs to sit in the middle is that two processes can NOT access the same UART at the same time. Here is Silicon Labs’ official Multiprotocol system architecture.

The config is 100% correct.

Please confirm the following things:

I’ll have my colleague deal with this issue on Monday.

  • I’m on the latest greatest HAOS
Installation method
Home Assistant OS
Core
2026.3.1
Supervisor
2026.03.0
Operating System
17.1
Frontend
20260304.0
  • I’m now using ZHA, but it is not relevant yet

Why? Because I’m using Silicon Labs’ Multiprotocol add-on to connect via TCP and it cannot boot properly, the dongle’s web page also does not show its TCP being connected to. And my PC cannot connect to add-on’s port 9999

device: /dev/ttyS0
baudrate: "115200"
flow_control: false
cpcd_trace: false
otbr_enable: true
otbr_log_level: notice
otbr_firewall: true
network_device: 192.168.1.3:6638

Hi, my colleague has checked the log but it’s too vague. Would you please set the OpenThread Border Router agent log level to debug through HA -> Settings -> Apps -> Silicon Labs Multiprotocol -> Configuration page?

Ok, I can try, but I have no thread devices at all.