OTBR add-on fails to start with “Wait for response timeout” on SLBZ MR2 over network

Hi all,

I’m trying to use the OpenThread Border Router (OTBR) add-on in Home Assistant 2025.8.1 on Home Assistant OS 16.0 (amd64). I have a Silicon Labs Border Router 2 (SLBZ MR2) running on my network, and I configured the OTBR add-on with the MR2’s IP and port.

However, the OTBR add-on fails to start with the following log messages:

 System: Home Assistant OS 16.0  (amd64 / qemux86-64)
 Home Assistant Core: 2025.8.1
 Home Assistant Supervisor: 2025.08.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
[19:07:27] INFO: Flashing firmware is disabled
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[19:07:27] INFO: Setup OTBR firewall...
[19:07:28] INFO: Starting otbr-agent...
[NOTE]-AGENT---: Running 0.3.0-b067e5ac-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
[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://enp0s18
tiocmbic: Inappropriate ioctl for device
[NOTE]-ILS-----: Infra link selected: enp0s18
67d.23:39:21.679 [W] P-SpinelDrive-: Wait for response timeout
67d.23:39:23.681 [W] P-SpinelDrive-: Wait for response timeout
67d.23:39:25.683 [W] P-SpinelDrive-: Wait for response timeout
67d.23:39:25.683 [C] Platform------: Init() at spinel_driver.cpp:83: Failure
67d.23:39:27.685 [W] P-SpinelDrive-: Wait for response timeout
[19:07:36] WARNING: otbr-agent exited with code 1 (by signal 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
Chain OTBR_FORWARD_EGRESS (0 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
[19:07:36] INFO: OTBR firewall teardown completed.
s6-svlisten1: fatal: /run/s6-rc/servicedirs/otbr-agent failed permanently or its supervisor died
s6-rc: warning: unable to start service otbr-agent: command exited 1
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service universal-silabs-flasher: stopping
s6-rc: info: service socat-otbr-tcp: 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.
s6-rc: info: service mdns: stopping
s6-rc: info: service universal-silabs-flasher successfully stopped
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
2025/08/12 19:07:36 socat[78] W exiting on signal 15
s6-rc: info: service banner: stopping
Default: mDNSResponder (Engineering Build) (Jan 14 2025 21:04:03) stopping
s6-rc: info: service banner successfully stopped
s6-rc: info: service socat-otbr-tcp successfully stopped
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
[19:07:36] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service mdns successfully stopped

it seems the add-on is trying to access a local serial interface /tmp/ttyOTBR instead of the IP address of my MR2. Am I misunderstanding how the OTBR add-on works? Is it designed to connect to an external Thread Border Router over the network, or does it only work with locally attached radios?

Thanks for your help!

Same issue here… I just updated to 2025.8.1 and also the firmware on my SLZB-MR1. Downgrading the SLZB did not fix the problem. Therefore I’m assuming this is a problem with 2025.8.1.
I just setup my SLZB two days ago, but so far it was running fine.

Reflashing my thread chip (EFR32MG21) with the already used firmware solved the problem for me. Yesterday I flashed the core firmware of the MR1 - not the EFR32MG21 firmware, but obviously there was a side effect affecting the thread firmware.

3 Likes

yes you are right. i just reflashed the matter EFR32MG21 chip firmware. and rebootet openthread border router and it works.

thanks for the hint.

1 Like

I had the same problem with an SMLight SLZB-MR1 on Home Assistant OS 16.2, HA Core 2025.9.4, and OTBR add-on 2.13.0.

After some fiddling, I found that changing it to another serial (in my case from /dev/ttyS0 to /dev/ttyS3) let the add-on start, create its bridge, and the OTBR addon came up fine.

I’m not 100% certain what the cause might’ve been, but I don’t think this is a regression as I’ve not had any software/firmware upgrades on either my SMLight adapter or HA (core, addons, etc) recently.

Also shared on OTBR: SMLight SLZB-MR3 not working with Homeassistant Addon in ethernet mode · Issue #4160 · home-assistant/addons · GitHub