OTBR not working with SLZB-MR4u

Hello,

It seems that the new SLZB-MR4u is not working with the OTBR addon in HA via LAN.
If I use my old SLZB-06 everything works, but if I change the IP to my new SLZB-MR4u I get errors.

SMLight support says: “Most likely, the OTBR addon is currently broken, unfortunately this cannot be fixed on our side. Please post a bug report in the addon developer repository”

Log:

[12:26:16] INFO: Starting mDNS Responder...
Default: mDNSResponder (Engineering Build) (Oct 28 2025 07:36:47) starting
s6-rc: info: service legacy-cont-init successfully started
[12:26:16] INFO: Starting socat TCP client for OTBR daemon...
-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.15.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 16.2  (amd64 / qemux86-64)
 Home Assistant Core: 2025.10.4
 Home Assistant Supervisor: 2025.10.0
-----------------------------------------------------------
 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 socat-otbr-tcp successfully started
s6-rc: info: service otbr-agent: starting
[12:26:17] INFO: Setup OTBR firewall...
[12:26:17] INFO: Migrating OTBR settings if needed...
2025-11-03 12:26:17 homeassistant asyncio[246] DEBUG Using selector: EpollSelector
2025-11-03 12:26:17 homeassistant zigpy.serial[246] DEBUG Opening a serial connection to '/tmp/ttyOTBR' (baudrate=460800, xonxoff=False, rtscts=False)
2025-11-03 12:26:17 homeassistant zigpy.serial[246] DEBUG Connection made: SerialTransport(<_UnixSelectorEventLoop running=True closed=False debug=False>, <universal_silabs_flasher.spinel.SpinelProtocol object at 0x7f861e3700d0>, Serial<id=0x7f861e364a30, open=True>(port='/tmp/ttyOTBR', baudrate=460800, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False))
2025-11-03 12:26:17 homeassistant universal_silabs_flasher.spinel[246] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08')
2025-11-03 12:26:17 homeassistant universal_silabs_flasher.spinel[246] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-11-03 12:26:18 homeassistant universal_silabs_flasher.spinel[246] DEBUG Decoded HDLC frame: HDLCLiteFrame(data=b'\x83\x06\x08D\x9f\xda\xff\xfex\xa7\xba')
2025-11-03 12:26:18 homeassistant universal_silabs_flasher.spinel[246] DEBUG Parsed frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_IS: 6>, data=b'\x08D\x9f\xda\xff\xfex\xa7\xba')
2025-11-03 12:26:18 homeassistant zigpy.serial[246] DEBUG Waiting for serial port to close
2025-11-03 12:26:18 homeassistant zigpy.serial[246] DEBUG Connection lost: None
Settings file for adapter 449fdafffe78a7ba already exists at /data/thread/0_449fdafffe78a7ba.data but appears to be old, archiving
Wrote new settings file to /data/thread/0_449fdafffe78a7ba.data
[12:26:18] INFO: Starting otbr-agent...
[NOTE]-AGENT---: Running 0.3.0-b067e5ac-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
tiocmbic: Inappropriate ioctl for device
[NOTE]-AGENT---: Thread interface: wpan0
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///tmp/ttyOTBR?uart-baudrate=460800&uart-init-deassert
[NOTE]-AGENT---: Radio URL: trel://enp0s3
[NOTE]-ILS-----: Infra link selected: enp0s3
[INFO]-RCP_HOS-: OpenThread log level changed to 5
53d.17:37:14.576 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:0, cmd:RESET
53d.17:37:14.576 [D] P-SpinelDrive-: Waiting response: key=0
53d.17:37:14.584 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:0, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:RESET_POWER_ON
53d.17:37:14.584 [I] P-SpinelDrive-: co-processor reset: RESET_POWER_ON
53d.17:37:14.584 [C] P-SpinelDrive-: Software reset co-processor successfully
53d.17:37:14.584 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:PROTOCOL_VERSION
53d.17:37:14.584 [D] P-SpinelDrive-: Waiting response: key=1
53d.17:37:14.595 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_IS, key:PROTOCOL_VERSION, major:4, minor:3
53d.17:37:14.595 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:NCP_VERSION
53d.17:37:14.595 [D] P-SpinelDrive-: Waiting response: key=2
53d.17:37:14.607 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_IS, key:NCP_VERSION, version:SL-OPENTHREAD/2.7.0.0_GitHub-fb0446f53; EFR32; Jul  3 2025 01:25:59
53d.17:37:14.608 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:CAPS
53d.17:37:14.608 [D] P-SpinelDrive-: Waiting response: key=5
53d.17:37:14.618 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_IS, key:CAPS, caps:COUNTERS UNSOL_UPDATE_FILTER 802_15_4_2450MHZ_OQPSK CONFIG_RADIO MAC_RAW RCP_API_VERSION RCP_MIN_HOST_API_VERSION RCP_RESET_TO_BOOTLOADER RCP_LOG_CRASH_DUMP OPENTHREAD_LOG_METADATA 
[INFO]-BA------: Ephemeral Key is: disabled during initialization
53d.17:37:14.619 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:HWADDR
53d.17:37:14.619 [D] P-RadioSpinel-: Wait response: tid=1 key=8
53d.17:37:14.629 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_IS, key:HWADDR, eui64:449fdafffe78a7ba
53d.17:37:14.629 [D] P-RadioSpinel-: RCP supports crash dump logging. Requesting crash dump.
53d.17:37:14.629 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:2, cmd:PROP_VALUE_SET, key:RCP_LOG_CRASH_DUMP, log-crash-dump
53d.17:37:14.629 [D] P-RadioSpinel-: Wait response: tid=2 key=178
53d.17:37:14.640 [W] P-HdlcIntface-: Error decoding hdlc frame: Parse
53d.17:37:16.631 [W] P-RadioSpinel-: Wait for response timeout
53d.17:37:16.631 [W] P-RadioSpinel-: RCP failure detected
53d.17:37:16.631 [W] P-RadioSpinel-: Trying to recover (1/2)
53d.17:37:16.631 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_SET, key:PHY_ENABLED, enabled:1
53d.17:37:16.631 [D] P-RadioSpinel-: Wait response: tid=1 key=32
53d.17:37:16.639 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_IS, key:PHY_ENABLED, enabled:1
53d.17:37:16.639 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:2, cmd:PROP_VALUE_SET, key:MAC_15_4_PANID, panid:0xffff
53d.17:37:16.639 [D] P-RadioSpinel-: Wait response: tid=2 key=54
53d.17:37:16.650 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:2, cmd:PROP_VALUE_IS, key:MAC_15_4_PANID, panid:0xffff
53d.17:37:16.650 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:3, cmd:PROP_VALUE_SET, key:MAC_15_4_SADDR, saddr:0x0000
53d.17:37:16.650 [D] P-RadioSpinel-: Wait response: tid=3 key=53
53d.17:37:16.661 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:3, cmd:PROP_VALUE_IS, key:MAC_15_4_SADDR, saddr:0x0000
53d.17:37:16.661 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:4, cmd:PROP_VALUE_SET, key:MAC_15_4_LADDR, laddr:0000000000000000
53d.17:37:16.661 [D] P-RadioSpinel-: Wait response: tid=4 key=52
53d.17:37:16.672 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:4, cmd:PROP_VALUE_IS, key:MAC_15_4_LADDR, laddr:0000000000000000
53d.17:37:16.672 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:5, cmd:PROP_VALUE_SET, key:PHY_CHAN, channel:0
53d.17:37:16.672 [D] P-RadioSpinel-: Wait response: tid=5 key=33
53d.17:37:16.683 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:5, cmd:PROP_VALUE_IS, key:PHY_CHAN, channel:0
53d.17:37:16.683 [D] P-RadioSpinel-: RCP supports crash dump logging. Requesting crash dump.
53d.17:37:16.683 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:6, cmd:PROP_VALUE_SET, key:RCP_LOG_CRASH_DUMP, log-crash-dump
53d.17:37:16.683 [D] P-RadioSpinel-: Wait response: tid=6 key=178
53d.17:37:16.694 [W] P-HdlcIntface-: Error decoding hdlc frame: Parse
53d.17:37:18.685 [W] P-RadioSpinel-: Wait for response timeout
53d.17:37:18.685 [W] P-RadioSpinel-: RCP failure detected
53d.17:37:18.685 [W] P-RadioSpinel-: Trying to recover (1/2)
53d.17:37:18.685 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_SET, key:PHY_ENABLED, enabled:1
53d.17:37:18.685 [D] P-RadioSpinel-: Wait response: tid=1 key=32
53d.17:37:18.692 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_IS, key:PHY_ENABLED, enabled:1
53d.17:37:18.692 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:2, cmd:PROP_VALUE_SET, key:MAC_15_4_PANID, panid:0xffff
53d.17:37:18.692 [D] P-RadioSpinel-: Wait response: tid=2 key=54
53d.17:37:18.703 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:2, cmd:PROP_VALUE_IS, key:MAC_15_4_PANID, panid:0xffff
53d.17:37:18.703 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:3, cmd:PROP_VALUE_SET, key:MAC_15_4_SADDR, saddr:0x0000
53d.17:37:18.703 [D] P-RadioSpinel-: Wait response: tid=3 key=53
53d.17:37:18.714 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:3, cmd:PROP_VALUE_IS, key:MAC_15_4_SADDR, saddr:0x0000
53d.17:37:18.714 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:4, cmd:PROP_VALUE_SET, key:MAC_15_4_LADDR, laddr:0000000000000000
53d.17:37:18.714 [D] P-RadioSpinel-: Wait response: tid=4 key=52
53d.17:37:18.725 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:4, cmd:PROP_VALUE_IS, key:MAC_15_4_LADDR, laddr:0000000000000000
53d.17:37:18.725 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:5, cmd:PROP_VALUE_SET, key:PHY_CHAN, channel:0
53d.17:37:18.725 [D] P-RadioSpinel-: Wait response: tid=5 key=33
53d.17:37:18.736 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:5, cmd:PROP_VALUE_IS, key:PHY_CHAN, channel:0
53d.17:37:18.736 [D] P-RadioSpinel-: RCP supports crash dump logging. Requesting crash dump.
53d.17:37:18.736 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:6, cmd:PROP_VALUE_SET, key:RCP_LOG_CRASH_DUMP, log-crash-dump
53d.17:37:18.736 [D] P-RadioSpinel-: Wait response: tid=6 key=178
53d.17:37:18.747 [W] P-HdlcIntface-: Error decoding hdlc frame: Parse
53d.17:37:20.738 [W] P-RadioSpinel-: Wait for response timeout
53d.17:37:20.738 [W] P-RadioSpinel-: RCP failure detected
53d.17:37:20.738 [W] P-RadioSpinel-: Trying to recover (1/2)
53d.17:37:20.738 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_SET, key:PHY_ENABLED, enabled:1
53d.17:37:20.738 [D] P-RadioSpinel-: Wait response: tid=1 key=32

My config:

device: /dev/ttyS1
baudrate: "460800"
flow_control: false
otbr_log_level: debug
firewall: true
nat64: false
network_device: 192.168.1.163:6638

Same problem here: https://www.reddit.com/r/homeassistant/comments/1oj88mt/smlight_mr4u/

Thanks!

1 Like

I had the same issue, Reflash the EFR32MG26 chip in the SLZB-MR4 and everything will work again.

1 Like

Hi, with the new firmware 3.10 all is working

Were you able to get this working? I also have the SMLIGHT SLZB-MR4U and I am having these issues:

I have unsuccessfully tried to get the SLZB MR4U to work with HomeAssistant/OpenThread Border Router so far.

I am able to connect the device - but the whatever the dongle does - the connection is not stable.

In parallel I tried a Google Nest Hub 2 as Border Router - and it works rock solid.

Whenever I connect the SLZB the connections start to drop and get erratic. Same, when I run it standalone (without the Nest Hub).
Whenever I return to run the Nest Hub alone, everything is fine again.

I have an open ticket with SMLight. But so far I have not received any feedback that solves the issue.

Which radio are you using for Zigbee vs Thread? Their website has a recommended config.

I am indeed using the MG26.
But I also tried the P10 - with the very same results.

I also tried to connect the dongle via USB, to rule out any network related issues - which did not change anything.

So, I’m fairly certain that the issue is somewhere between the dongle itself (including the firmware) and the Open Thread Border router addon in Homeassistant.

For me this setup works. MR4U is connected via LAN. I use HA 2026.1.x
I have 40+ Zigbee devices but only a few IKEA matter devices.

With this MoT Firmware:

OTBR Version 2.15.3

OTBR Config

baudrate: "460800"
flow_control: false
otbr_log_level: notice
firewall: false
nat64: false
network_device: 192.168.1.79:6638

The Thread integration shows this:

Last Important Step → Synchronize Thread Credentials:

In HA Android App: Setup → Companion App → Troubleshooting → Sync Thread Credentials

For me this now works with IKEA Matter devices and is stable. In parallel I run Zigbee on the same MR4U without any issues.

Hope this helps.

About 10 days ago I got an updated firmware from SMLight (which is now the dev version 20251218) - and that one works for me.

I had a single incident 3 days ago where I lost my 2 bilresa buttons and had to newly pair them. But I hope that this was just a temporary glitch.