addons icon indicating copy to clipboard operation
addons copied to clipboard

Timeout error on startup after latest release (OpenThread Border Router)

Open taoofstefan opened this issue 2 months ago • 74 comments

After the latest release I am not able to start OpenThread Border Router again. During startup I get this TimeOut Error:

`-----------------------------------------------------------
 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)
s6-rc: info: service socat-otbr-tcp successfully started
 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 otbr-agent: starting
[13:54:14] INFO: Migrating OTBR settings if needed...
2025-10-29 13:54:14 homeassistant asyncio[241] DEBUG Using selector: EpollSelector
2025-10-29 13:54:14 homeassistant zigpy.serial[241] DEBUG Opening a serial connection to '/tmp/ttyOTBR' (baudrate=460800, xonxoff=False, rtscts=False)
2025-10-29 13:54:14 homeassistant zigpy.serial[241] DEBUG Connection made: SerialTransport(<_UnixSelectorEventLoop running=True closed=False debug=False>, <universal_silabs_flasher.spinel.SpinelProtocol object at 0x7fa18ad00310>, Serial<id=0x7fa18ab20a60, open=True>(port='/tmp/ttyOTBR', baudrate=460800, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False))
2025-10-29 13:54:14 homeassistant universal_silabs_flasher.spinel[241] 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-10-29 13:54:14 homeassistant universal_silabs_flasher.spinel[241] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-10-29 13:54:15 homeassistant universal_silabs_flasher.spinel[241] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 1 of 4)
2025-10-29 13:54:15 homeassistant universal_silabs_flasher.spinel[241] 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-10-29 13:54:15 homeassistant universal_silabs_flasher.spinel[241] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-10-29 13:54:16 homeassistant universal_silabs_flasher.spinel[241] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 2 of 4)
2025-10-29 13:54:17 homeassistant universal_silabs_flasher.spinel[241] 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-10-29 13:54:17 homeassistant universal_silabs_flasher.spinel[241] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-10-29 13:54:18 homeassistant universal_silabs_flasher.spinel[241] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 3 of 4)
2025-10-29 13:54:18 homeassistant universal_silabs_flasher.spinel[241] 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-10-29 13:54:18 homeassistant universal_silabs_flasher.spinel[241] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-10-29 13:54:19 homeassistant universal_silabs_flasher.spinel[241] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 4 of 4)
2025-10-29 13:54:19 homeassistant zigpy.serial[241] DEBUG Waiting for serial port to close
2025-10-29 13:54:19 homeassistant zigpy.serial[241] DEBUG Connection lost: None
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 213, in send_frame
    return await asyncio.shield(future)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/bin/migrate_otbr_settings.py", line 189, in <module>
    asyncio.run(main())
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/usr/local/bin/migrate_otbr_settings.py", line 126, in main
    hwaddr = await get_adapter_hardware_addr(args.adapter, args.baudrate)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/migrate_otbr_settings.py", line 84, in get_adapter_hardware_addr
    rsp = await protocol.send_command(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 245, in send_command
    return await self.send_frame(frame, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 212, in send_frame
    async with asyncio_timeout(timeout):
  File "/usr/lib/python3.11/asyncio/timeouts.py", line 98, in __aexit__
    raise TimeoutError
TimeoutError
[13:54:19] WARNING: otbr-agent exited with code 1 (by signal 0).
otbr-ingress-deny-src
otbr-ingress-deny-src-swap
otbr-ingress-allow-dst
otbr-ingress-allow-dst-swap
[13:54:19] 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
/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.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service banner: stopping
s6-rc: info: service socat-otbr-tcp: stopping
s6-rc: info: service mdns: stopping
s6-rc: info: service banner successfully stopped
2025/10/29 13:54:19 socat[78] W exiting on signal 15
Default: mDNSResponder (Engineering Build) (Oct 28 2025 07:36:47) stopping
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
[13:54:19] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service mdns successfully stopped`

I am using an SLZB-MR2 with the latest updates. The zigbee part of the coordinator is working without issues.

What type of installation are you running?

Home Assistant OS

Which operating system are you running on?

Home Assistant Operating System

Which add-on are you reporting an issue with?

OpenThread Border Router

What is the version of the add-on?

2.15.0

Steps to reproduce the issue

  1. Installed the latest OpenThreadRouter
  2. Start Process/Addon
  3. raises error

System Health information

System Information

version core-2025.10.4
installation_type Home Assistant OS
dev false
hassio true
docker true
container_arch amd64
user root
virtualenv false
python_version 3.13.7
os_name Linux
os_version 6.12.43-haos
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 2344
Downloaded Repositories 2
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 16.2
update_channel stable
supervisor_version supervisor-2025.10.0
agent_version 1.7.2
docker_version 28.3.3
disk_total 30.8 GB
disk_used 6.9 GB
nameservers 2a02:810d:9588:2500:62b5:8dff:fed3:4aa5, 192.168.178.123, fdb4:ffd:fb03:0:62b5:8dff:fed3:4aa5
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization kvm
board ova
supervisor_api ok
version_api ok
installed_addons Advanced SSH & Web Terminal (21.0.4), File editor (5.8.0), Matter Server (8.1.1), OpenThread Border Router (2.15.0), Mosquitto broker (6.5.2), Cloudflared (6.0.3), Get HACS (1.3.1)
Dashboards
dashboards 2
resources 1
views 2
mode storage
Network Configuration
adapters lo (disabled), enp0s18 (enabled, default, auto), hassio (disabled), docker0 (disabled), veth8b355c0 (disabled), veth9bcad78 (disabled), veth783863a (disabled), vethd1816cb (disabled), vethd412a58 (disabled), veth38ea3a6 (disabled), veth9ceb8c2 (disabled), vethf9af8f9 (disabled)
ipv4_addresses lo (127.0.0.1/8), enp0s18 (192.168.178.48/24), hassio (172.30.32.1/23), docker0 (172.30.232.1/23), veth8b355c0 (), veth9bcad78 (), veth783863a (), vethd1816cb (), vethd412a58 (), veth38ea3a6 (), veth9ceb8c2 (), vethf9af8f9 ()
ipv6_addresses lo (::1/128), enp0s18 (2a02:810d:9588:2500:c027:7098:8000:4610/64, fdb4:ffd:fb03:0:d587:8794:2d69:b34/64, fe80::f7c5:8b6a:ed2f:e2a/64), hassio (fe80::a8a2:c5ff:fe44:9eab/64), docker0 (fe80::f832:61ff:fea5:1cd3/64), veth8b355c0 (fe80::6c51:63ff:fe49:f094/64), veth9bcad78 (fe80::b03b:71ff:fe54:76d8/64), veth783863a (fe80::b03b:32ff:febe:81de/64), vethd1816cb (fe80::609d:79ff:fe91:35fc/64), vethd412a58 (fe80::3cff:18ff:fe35:a3a5/64), veth38ea3a6 (fe80::8f0:61ff:fe0e:5784/64), veth9ceb8c2 (fe80::184f:98ff:fef8:959e/64), vethf9af8f9 (fe80::c478:97ff:fea6:24ec/64)
announce_addresses 192.168.178.48, 2a02:810d:9588:2500:c027:7098:8000:4610, fdb4:ffd:fb03:0:d587:8794:2d69:b34, fe80::f7c5:8b6a:ed2f:e2a
Recorder
oldest_recorder_run 18. Oktober 2025 um 09:00
current_recorder_run 25. Oktober 2025 um 13:43
estimated_db_size 282.52 MiB
database_engine sqlite
database_version 3.49.2

Anything in the Supervisor logs that might be useful for us?


Anything in the add-on logs that might be useful for us?

Logger: homeassistant.components.hassio
Quelle: components/hassio/websocket_api.py:145
Integration: Home Assistant Supervisor (Dokumentation, Probleme)
Erstmals aufgetreten: 14:00:18 (1 Vorkommnis)
Zuletzt protokolliert: 14:00:18

Failed to to call /addons/core_openthread_border_router/stats - Container addon_core_openthread_border_router is not running

Additional information

No response

taoofstefan avatar Oct 29 '25 13:10 taoofstefan

I have exactly the same problem. Everything was working fine on 2.14 and now I get the above mentioned error and the addon doesn't start. Any way to roll back to 2.14? Or any quick fix? Of course the config hasn't changed. I just upgraded to 2.15... Thanks for helping out!

Daniel-S-23 avatar Oct 30 '25 07:10 Daniel-S-23

same problem for me too with 2.15. 2.14 was working without problems :/

fubu2k avatar Oct 30 '25 16:10 fubu2k

What adapters are you using?

puddly avatar Oct 31 '25 03:10 puddly

I'm using a SLZB-MR3 connect through LAN. With this adapter I use the radio 1 [EFR32MG24] for thread.

Here is my config:

device: /dev/ttyS3
baudrate: "460800"
flow_control: false
otbr_log_level: notice
firewall: true
nat64: false
network_device: 192.168.1.204:6638

Daniel-S-23 avatar Oct 31 '25 06:10 Daniel-S-23

Encountering the same issue. I'm using a SLZB-MR1 running most recent slzb core framework, and OTBR addon version v2.15. RCP firmware is installed on the EFR32, connected directly over USB to my HAOS instance running as a Proxmox VM.

Re: downgrading, I've forked the addons repo and reverted the version manually. You can add it as an add-on repo: https://github.com/Auroric/addons. It gets me past the errors above, but introduces a new one (see below).

I just got my MR1 though and never had it set up on OTBR addon v2.14, so it might be unrelated. Could someone ( @Daniel-S-23 @fubu2k @taoofstefan ) else try it out and see if it fixes the issues?

-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.14.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 otbr-agent: starting
[00:01:44] INFO: Setup OTBR firewall...
[00:01:45] 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:///dev/ttyS0?uart-baudrate=460800&uart-init-deassert
[NOTE]-AGENT---: Radio URL: trel://enp6s18
[NOTE]-ILS-----: Infra link selected: enp6s18
49d.17:04:32.030 [W] P-SpinelDrive-: Wait for response timeout
49d.17:04:34.032 [W] P-SpinelDrive-: Wait for response timeout
49d.17:04:36.035 [W] P-SpinelDrive-: Wait for response timeout
49d.17:04:36.035 [C] Platform------: Init() at spinel_driver.cpp:83: Failure
49d.17:04:38.037 [W] P-SpinelDrive-: Wait for response timeout
[00:01:54] 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            
[00:01:55] 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 banner: stopping
s6-rc: info: service mdns: stopping
Default: mDNSResponder (Engineering Build) (Oct  7 2025 12:31:51) stopping
s6-rc: info: service banner successfully stopped
/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.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service legacy-cont-init successfully stopped
[00:01:55] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service mdns successfully stopped
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

Auroric avatar Oct 31 '25 07:10 Auroric

Thanks for helping out and setting up a repo with the old version @Auroric. Unfortunately I get the same error with your version:

[09:29:32] INFO: The otbr-web is disabled.
[09:29:32] INFO: Enabled socat-otbr-tcp.
s6-rc: info: service socat-otbr-tcp: starting
s6-rc: info: service mdns: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service mdns successfully started
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service banner: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
[09:29:32] INFO: Starting mDNS Responder...
Default: mDNSResponder (Engineering Build) (Oct  7 2025 12:31:51) starting
[09:29:32] INFO: Starting socat TCP client for OTBR daemon...
-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.14.0
s6-rc: info: service socat-otbr-tcp successfully started
 You are running the latest version of this add-on.
 System: Home Assistant OS 16.2  (amd64 / generic-x86-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 otbr-agent: starting
[09:29:34] INFO: Setup OTBR firewall...
[09:29:34] 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://enp1s0
tiocmbic: Inappropriate ioctl for device
[NOTE]-ILS-----: Infra link selected: enp1s0
51d.11:45:18.527 [W] P-SpinelDrive-: Wait for response timeout
51d.11:45:20.529 [W] P-SpinelDrive-: Wait for response timeout
51d.11:45:22.531 [W] P-SpinelDrive-: Wait for response timeout
51d.11:45:22.531 [C] Platform------: Init() at spinel_driver.cpp:83: Failure
51d.11:45:24.533 [W] P-SpinelDrive-: Wait for response timeout
[09:29:42] 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            
[09:29:42] 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 banner: stopping
s6-rc: info: service socat-otbr-tcp: stopping
s6-rc: info: service mdns: 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.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
Default: mDNSResponder (Engineering Build) (Oct  7 2025 12:31:51) stopping
s6-rc: info: service banner successfully stopped
2025/10/31 09:29:42 socat[79] W exiting on signal 15
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
[09:29:42] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service mdns successfully stopped

For the OpenThread Border Router Team, here is my log file after upgrading to the official 2.15.0 version:

Default: mDNSResponder (Engineering Build) (Oct 28 2025 07:36:47) starting
[09:35:40] 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.
s6-rc: info: service socat-otbr-tcp successfully started
 System: Home Assistant OS 16.2  (amd64 / generic-x86-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 otbr-agent: starting
[09:35:41] INFO: Setup OTBR firewall...
ip6tables: Chain already exists.
[09:35:41] 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            
[09:35:41] 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 banner: 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.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service mdns: stopping
2025/10/31 09:35:41 socat[77] W exiting on signal 15
Default: mDNSResponder (Engineering Build) (Oct 28 2025 07:36:47) 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
[09:35:41] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service mdns successfully stopped

Daniel-S-23 avatar Oct 31 '25 08:10 Daniel-S-23

Nice to know that it's not just me then. Let me revert 1 or 2 more versions to see if that might be the problem. Alternatively there might just be a compatibility issue with mismatched versions of addons and core.

Update: I managed to get it to work through a totally different route. As I said before, I'm running HAOS as a VM in Proxmox. I just went into the Proxmox UI and added the USB port as a passthrough to the HAOS VM, and that made it an option in the OTBR addon config. After selecting it, it passes through that error on v2.13.0 and seems to start up successfully. It's late here so I'll test to see if I can actually commission devices (and if this is replicable on 2.14) tomorrow.

Auroric avatar Oct 31 '25 08:10 Auroric

So all SLZB-MR devices? Does their USB mode actually connect the EFR32 chip to HA or is there some sort of proxying going on?

puddly avatar Oct 31 '25 12:10 puddly

As I wrote, I connect to the device through ethernet as a network device. I worked great before and it also works great with zigbee2mqtt in the same device. Please see my config again:

device: /dev/ttyS3
baudrate: "460800"
flow_control: false
otbr_log_level: notice
firewall: true
nat64: false
network_device: 192.168.1.204:6638

The local "device" has to stay in the config but it is not used, when a "network_device" is present...

Daniel-S-23 avatar Oct 31 '25 12:10 Daniel-S-23

Could everyone else post their config as well?

puddly avatar Oct 31 '25 12:10 puddly

I have my device also connected via ethernet, here is my config:

device: /dev/ttyS0
baudrate: "460800"
flow_control: false
otbr_log_level: info
firewall: false
nat64: true
network_device: 192.168.178.46:6638

It worked with this config before the update.

taoofstefan avatar Oct 31 '25 14:10 taoofstefan

Looks like this is just affecting network-connected devices

puddly avatar Oct 31 '25 14:10 puddly

Environment Details

  • Hardware: SMLIGHT SLZB-07p7 (USB version)
  • Host: Virtual Machine
  • Device path: /dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-07p7_02f8c469e6d6ef119f8043878f302768-if00-port0
  • Baud rate: 460800
  • Flow control: disabled
  • OTBR log level: info
  • Firewall: disabled
  • NAT64: enabled

The SLZB-07p7 is running the Thread firmware version. The adapter is properly detected in the VM and in the HAOS OpenThread Border Router addon. OTBR-Add-on Config to USB device is correct and worked with 2.14.

Message: dd-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 otbr-agent: starting [16:07:29] INFO: Setup OTBR firewall... [16:07:29] INFO: Migrating OTBR settings if needed... 2025-10-31 16:07:36 Zuhause asyncio[225] DEBUG Using selector: EpollSelector 2025-10-31 16:07:36 Zuhause zigpy.serial[225] DEBUG Opening a serial connection to '/dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-07p7_02f8c469e6d6ef119f8043878f302768-if00-port0' (baudrate=460800, xonxoff=False, rtscts=False) 2025-10-31 16:07:36 Zuhause zigpy.serial[225] DEBUG Connection made: SerialTransport(<_UnixSelectorEventLoop running=True closed=False debug=False>, <universal_silabs_flasher.spinel.SpinelProtocol object at 0x7f6dc14b69d0>, Serial<id=0x7f6dc12f8a90, open=True>(port='/dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-07p7_02f8c469e6d6ef119f8043878f302768-if00-port0', baudrate=460800, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False)) 2025-10-31 16:07:36 Zuhause universal_silabs_flasher.spinel[225] 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-10-31 16:07:36 Zuhause universal_silabs_flasher.spinel[225] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~' 2025-10-31 16:07:37 Zuhause universal_silabs_flasher.spinel[225] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 1 of 4) 2025-10-31 16:07:37 Zuhause universal_silabs_flasher.spinel[225] 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-10-31 16:07:37 Zuhause universal_silabs_flasher.spinel[225] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~' 2025-10-31 16:07:38 Zuhause universal_silabs_flasher.spinel[225] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 2 of 4) 2025-10-31 16:07:38 Zuhause universal_silabs_flasher.spinel[225] 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-10-31 16:07:38 Zuhause universal_silabs_flasher.spinel[225] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~' 2025-10-31 16:07:39 Zuhause universal_silabs_flasher.spinel[225] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 3 of 4) 2025-10-31 16:07:40 Zuhause universal_silabs_flasher.spinel[225] 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-10-31 16:07:40 Zuhause universal_silabs_flasher.spinel[225] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~' 2025-10-31 16:07:41 Zuhause universal_silabs_flasher.spinel[225] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 4 of 4) 2025-10-31 16:07:41 Zuhause zigpy.serial[225] DEBUG Waiting for serial port to close 2025-10-31 16:07:41 Zuhause zigpy.serial[225] DEBUG Connection lost: None Traceback (most recent call last): File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 213, in send_frame return await asyncio.shield(future) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ asyncio.exceptions.CancelledError During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/bin/migrate_otbr_settings.py", line 189, in asyncio.run(main()) File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "/usr/local/bin/migrate_otbr_settings.py", line 126, in main hwaddr = await get_adapter_hardware_addr(args.adapter, args.baudrate) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/bin/migrate_otbr_settings.py", line 84, in get_adapter_hardware_addr rsp = await protocol.send_command( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 245, in send_command return await self.send_frame(frame, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 212, in send_frame async with asyncio_timeout(timeout): File "/usr/lib/python3.11/asyncio/timeouts.py", line 98, in aexit raise TimeoutError TimeoutError [16:07:41] 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
[16:07:41] 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 banner: stopping s6-rc: info: service mdns: stopping Default: mDNSResponder (Engineering Build) (Oct 28 2025 07:36:47) stopping s6-rc: info: service banner successfully stopped /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. /run/s6/basedir/scripts/rc.init: fatal: stopping the container. s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping [16:07:41] INFO: mDNS ended with exit code 4 (signal 0)... s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service mdns successfully stopped s6-rc: info: service s6rc-oneshot-runner successfully stopped

fubu2k avatar Oct 31 '25 15:10 fubu2k

Got mine working, even on upstream v2.15.0 (able to start the add-on as well as commission and use devices). Turns out the issue is that even though the serial port is passed through from the hypervisor, it seems to not work. I had to pass the USB port over as well through the Proxmox UI. I guess since everyone else here is connecting over LAN, that my issue is unrelated but just happens to have the same error output.

Auroric avatar Oct 31 '25 17:10 Auroric

[deleted]

joergbattermann avatar Oct 31 '25 17:10 joergbattermann

We use the flasher Python package to communicate with the device (to read the adapter network address) in order to automatically migrate OTBR datasets between adapters when you change the serial port, no firmware is being flashed and that config was removed a few releases back.

puddly avatar Oct 31 '25 17:10 puddly

I think the issue is squarely with the virtual serial port that's created for TCP adapters. I'll see if I can reproduce it, it should be a simple fix.

puddly avatar Oct 31 '25 17:10 puddly

I'm unfortunately not seeing anything out of the ordinary with a SLZB-06 over Ethernet, it starts up as expected:

[14:54:49] INFO: Migrating OTBR settings if needed...
2025-10-31 14:54:50 test-yellow asyncio[247] DEBUG Using selector: EpollSelector
2025-10-31 14:54:50 test-yellow zigpy.serial[247] DEBUG Opening a serial connection to '/tmp/ttyOTBR' (baudrate=460800, xonxoff=False, rtscts=False)
2025-10-31 14:54:50 test-yellow zigpy.serial[247] DEBUG Connection made: SerialTransport(<_UnixSelectorEventLoop running=True closed=False debug=False>, <universal_silabs_flasher.spinel.SpinelProtocol object at 0x7f81882090>, Serial<id=0x7f81890b20, open=True>(port='/tmp/ttyOTBR', baudrate=460800, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False))
2025-10-31 14:54:50 test-yellow universal_silabs_flasher.spinel[247] 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-10-31 14:54:50 test-yellow universal_silabs_flasher.spinel[247] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-10-31 14:54:50 test-yellow universal_silabs_flasher.spinel[247] DEBUG Decoded HDLC frame: HDLCLiteFrame(data=b'\x83\x06\x08\x00\x12K\x001\xd8\x01e')
2025-10-31 14:54:50 test-yellow universal_silabs_flasher.spinel[247] DEBUG Parsed frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_IS: 6>, data=b'\x08\x00\x12K\x001\xd8\x01e')
2025-10-31 14:54:50 test-yellow zigpy.serial[247] DEBUG Waiting for serial port to close
2025-10-31 14:54:50 test-yellow zigpy.serial[247] DEBUG Connection lost: None
Adapter settings file /data/thread/0_124b0031d80165.data is the most recently used, skipping
[14:54:50] 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-flow-control
[NOTE]-AGENT---: Radio URL: trel://end0
[NOTE]-ILS-----: Infra link selected: end0
41d.05:40:33.309 [C] P-SpinelDrive-: Software reset co-processor successfully

puddly avatar Oct 31 '25 18:10 puddly

@tl-sl Any thoughts about this?

puddly avatar Oct 31 '25 19:10 puddly

Maybe only an issue with newer SLZB firmware? Seems like everyone affected has SLZB-MRx or 07X. Would be good to get everyone to describe their entire stack as well; since they're connecting over LAN there might be issues on the networking side right?

Auroric avatar Oct 31 '25 19:10 Auroric

Maybe only an issue with newer SLZB firmware? Seems like everyone affected has SLZB-MRx or 07X. Would be good to get everyone to describe their entire stack as well; since they're connecting over LAN there might be issues on the networking side right?

Image

Using FW 3.0.8 & the SLZB-06 is connected via wired ethernet in my case.

joergbattermann avatar Oct 31 '25 19:10 joergbattermann

@joergbattermann maybe you and @puddly should compare setups since they're the most comparable

For example, where is HAOS running, how are HAOS and the SLZB-06 connected (directly or through a router, etc)

Auroric avatar Oct 31 '25 19:10 Auroric

So I am running the SLZB-MR3 over Ethernet (LAN).

The SLZB-MR3 is on the newest firmware 3.0.8.

I'm using the integrated EFR32MG24 chip for thread running firmware 20250212 (and the other integrated CC2674P10 chip for zigbee).

Daniel-S-23 avatar Oct 31 '25 20:10 Daniel-S-23

I have the same issue with my Sonoff zigbee dongle E flashed with the thread coordinator firmware. Which i have plugged in to my pc with Proxmox VE that is forwarded to my HA OS vm.

Sarnog avatar Nov 01 '25 11:11 Sarnog

@Sarnog Were you able to run earlier versions of the OTBR addon or is this the first time you're using it?

puddly avatar Nov 01 '25 15:11 puddly

@Sarnog Were you able to run earlier versions of the OTBR addon or is this the first time you're using it?

I am able to run it on the previous version, but with the new version not...

Sarnog avatar Nov 01 '25 17:11 Sarnog

It broke for me also. I was not yet using it active because had some issues onboarding the device but planned to troubleshoot this tonight... OTBR was running okay a few weeks ago.

Using the SLZB-MR3.

Tried some things:

  • Reverting the SLZB-MR3 to 3.0.6 (OS firmware), no luck
  • Connecting the SLZB-MR3 via USB and using the /dev/serial/by-id address, no luck
  • Reverting to the OTBR version 2.14.0 @Auroric offered, no luck
Some logging, not sure if relevant
----------------------------------------------------------
 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 otbr-agent: starting
[21:00:37] INFO: Setup OTBR firewall...
[21:00:37] INFO: Migrating OTBR settings if needed...
2025-11-01 21:00:37 homeassistant asyncio[226] DEBUG Using selector: EpollSelector
2025-11-01 21:00:37 homeassistant zigpy.serial[226] DEBUG Opening a serial connection to '/dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-MR3_446940c0029aef11aced017c61ce3355-if00-port0' (baudrate=460800, xonxoff=False, rtscts=False)
2025-11-01 21:00:37 homeassistant zigpy.serial[226] DEBUG Connection made: SerialTransport(<_UnixSelectorEventLoop running=True closed=False debug=False>, <universal_silabs_flasher.spinel.SpinelProtocol object at 0x7f4b66b95850>, Serial<id=0x7f4b66ba4ac0, open=True>(port='/dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-MR3_446940c0029aef11aced017c61ce3355-if00-port0', baudrate=460800, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False))
2025-11-01 21:00:37 homeassistant universal_silabs_flasher.spinel[226] 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-01 21:00:37 homeassistant universal_silabs_flasher.spinel[226] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-11-01 21:00:38 homeassistant universal_silabs_flasher.spinel[226] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 1 of 4)
2025-11-01 21:00:38 homeassistant universal_silabs_flasher.spinel[226] 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-01 21:00:38 homeassistant universal_silabs_flasher.spinel[226] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-11-01 21:00:39 homeassistant universal_silabs_flasher.spinel[226] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 2 of 4)
2025-11-01 21:00:39 homeassistant universal_silabs_flasher.spinel[226] 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-01 21:00:39 homeassistant universal_silabs_flasher.spinel[226] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-11-01 21:00:40 homeassistant universal_silabs_flasher.spinel[226] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 3 of 4)
2025-11-01 21:00:40 homeassistant universal_silabs_flasher.spinel[226] 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-01 21:00:40 homeassistant universal_silabs_flasher.spinel[226] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2025-11-01 21:00:41 homeassistant universal_silabs_flasher.spinel[226] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b'\x08'), trying again in 0.10s (attempt 4 of 4)
2025-11-01 21:00:41 homeassistant zigpy.serial[226] DEBUG Waiting for serial port to close
2025-11-01 21:00:41 homeassistant zigpy.serial[226] DEBUG Connection lost: None
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 213, in send_frame
    return await asyncio.shield(future)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/bin/migrate_otbr_settings.py", line 189, in <module>
    asyncio.run(main())
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/usr/local/bin/migrate_otbr_settings.py", line 126, in main
    hwaddr = await get_adapter_hardware_addr(args.adapter, args.baudrate)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/migrate_otbr_settings.py", line 84, in get_adapter_hardware_addr
    rsp = await protocol.send_command(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 245, in send_command
    return await self.send_frame(frame, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/universal_silabs_flasher/spinel.py", line 212, in send_frame
    async with asyncio_timeout(timeout):
  File "/usr/lib/python3.11/asyncio/timeouts.py", line 98, in __aexit__
    raise TimeoutError
TimeoutError
[21:00:41] WARNING: otbr-agent exited with code 1 (by signal 0).

fbloemhof avatar Nov 01 '25 19:11 fbloemhof

If reverting the addon version to 2.14.0 doesn't fix things, the issue definitely isn't caused by the most recent addition. It almost sounds like the firmware on the device did not like the addon being restarted and is in an inconsistent state.

The serial protocol itself is super robust and should handle interruptions like this without any problems so I'm not too sure what could be causing this issue. Your logging shows that the serial port just isn't responding to any traffic at all. Does the SLZB-MR3 expose a direct serial connection to the chip running OT-RCP firmware? Or is it being proxied through the ESP32? I seem to remember seeing in the SLZB web interface information about the installed firmware, which shouldn't be accessible unless the ESP32 is talking to the device as well.

puddly avatar Nov 01 '25 20:11 puddly

@fbloemhof are you getting the same error I did when reverting to v2.14?

Auroric avatar Nov 01 '25 20:11 Auroric

The serial protocol itself is super robust and should handle interruptions like this without any problems so I'm not too sure what could be causing this issue. Your logging shows that the serial port just isn't responding to any traffic at all. Does the SLZB-MR3 expose a direct serial connection to the chip running OT-RCP firmware? Or is it being proxied through the ESP32? I seem to remember seeing in the SLZB web interface information about the installed firmware, which shouldn't be accessible unless the ESP32 is talking to the device as well.

Yeah, connecting via USB was not my brightest idea, I did not change anything on the MR3 for that so that wasn't working anyway.

@fbloemhof are you getting the same error I did when reverting to v2.14?

Not sure. It started working now with 2.15.0... After switching the MR3 from Ethernet to USB and back, the OTBR is starting and working via TCP.

[edit] Also adding my device worked out after changing the OT channel.

Main thing I think I did was restarting the SLZB MR3.

fbloemhof avatar Nov 01 '25 21:11 fbloemhof