Trying to get into and understand the wonderful world of Thread (have had a lot of issues with it so far).
The Open Thread Border router Addon seems to be dropping off the network every ~12 hours or so and not been able to identify why.
When I go into Settings > Thread, it’ll say no Thread Router is present under the Home Assistant Preferred network.
I have two Thread Routers in my setup; 1. using Home Assistant addons (preferred) and 2. Part of my Tado X Wireless Thermostat Bridge. So far have avoided using the latter.
I have a SLZB-MR1 providing my Thread network for Home Assistant. It’s attached via PoE, so that I can use it for both Zigbee and Matter, and easily move my Home Assistant instance to another Proxmox device in my Homelab.
I’ve added 3x network config adapters to Home Assistant to help with Matter across VLANs. 1x for my HomeLab servers (HA sits on this VLAN), 1x for IoT devices (SLZB-MR1 sits on this VLAN), 1x for trusted devices like laptops and phones (where I start the Matter commissioning process from an iOS device).
Here’s my Open Thread Border Router Addon YAML config. And attached are the logs from the last time OTBR crashed. It doesn’t singal a hard crash though from what I can tell.
device: /dev/ttyS3
baudrate: "460800"
flow_control: false
otbr_log_level: notice
firewall: true
nat64: false
network_device: thread.network.tld:6638
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10118
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10118
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10118
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10118
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10118
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10118
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 otbr-web: stopping
s6-rc: info: service otbr-agent-rest-discovery successfully stopped
s6-rc: info: service otbr-agent-configure: stopping
s6-rc: info: service otbr-agent-configure successfully stopped
[CRIT]-WEB-----: Stopping web server
[20:31:30] INFO: e[32motbr-web ended with exit code 0 (signal 0)...e[0m
s6-rc: info: service otbr-web successfully stopped
s6-rc: info: service otbr-agent: stopping
06:52:42.536 [N] Mle-----------: Role leader -> detached
06:52:42.537 [N] Mle-----------: Role detached -> disabled
06:52:42.543 [W] P-RadioSpinel-: Error processing result: NoAddress
06:52:42.543 [W] P-RadioSpinel-: Error waiting response: NoAddress
[20:31:30] INFO: e[32motbr-agent exited with code 0 (by signal 0).e[0m
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
[20:31:30] INFO: e[32mOTBR firewall teardown completed.e[0m
s6-rc: info: service otbr-agent successfully stopped
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
Default: mDNSResponder (Engineering Build) (Dec 15 2025 09:14:53) stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
2026/01/26 20:31:30 socat[80] W exiting on signal 15
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
s6-rc: info: service socat-otbr-tcp successfully stopped
[20:31:30] INFO: e[32mmDNS ended with exit code 4 (signal 0)...e[0m
s6-rc: info: service mdns successfully stopped
[20:31:35] INFO: e[32mWeb UI and REST API port are exposed, starting otbr-web.e[0m
[20:31:35] INFO: e[32mEnabled socat-otbr-tcp.e[0m
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
[20:31:35] INFO: e[32mStarting mDNS Responder...e[0m
Default: mDNSResponder (Engineering Build) (Dec 15 2025 09:14:53) starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service banner: starting
[20:31:35] INFO: e[32mStarting socat TCP client for OTBR daemon...e[0m
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
e[34m-----------------------------------------------------------e[0m
e[34m Add-on: OpenThread Border Routere[0m
e[34m OpenThread Border Router add-one[0m
e[34m-----------------------------------------------------------e[0m
e[34m Add-on version: 2.15.3e[0m
e[32m You are running the latest version of this add-on.e[0m
s6-rc: info: service socat-otbr-tcp successfully started
e[34m System: Home Assistant OS 17.0 (amd64 / qemux86-64)e[0m
e[34m Home Assistant Core: 2026.1.3e[0m
e[34m Home Assistant Supervisor: 2026.01.1e[0m
e[34m-----------------------------------------------------------e[0m
e[34m Please, share the above information when looking for helpe[0m
e[34m or support in, e.g., GitHub, forums or the Discord chat.e[0m
e[34m-----------------------------------------------------------e[0m
s6-rc: info: service banner successfully started
s6-rc: info: service otbr-agent: starting
[20:31:36] INFO: e[32mSetup OTBR firewall...e[0m
[20:31:36] INFO: e[32mMigrating OTBR settings if needed...e[0m
2026-01-26 20:31:36 homeassistant asyncio[242] DEBUG Using selector: EpollSelector
2026-01-26 20:31:36 homeassistant zigpy.serial[242] DEBUG Opening a serial connection to '/tmp/ttyOTBR' (baudrate=460800, xonxoff=False, rtscts=False)
2026-01-26 20:31:36 homeassistant serialx.platforms.serial_posix[242] DEBUG Configuring serial port '/tmp/ttyOTBR'
2026-01-26 20:31:36 homeassistant serialx.platforms.serial_posix[242] DEBUG Configuring serial port: [0, 0, 3248, 0, 4100, 4100, [b'\x03', b'\x1c', b'\x7f', b'\x15', b'\x04', 0, 0, b'\x00', b'\x11', b'\x13', b'\x1a', b'\x00', b'\x12', b'\x0f', b'\x17', b'\x16', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00']]
2026-01-26 20:31:36 homeassistant serialx.platforms.serial_posix[242] DEBUG Setting low latency mode: True
2026-01-26 20:31:36 homeassistant serialx.platforms.serial_posix[242] DEBUG Device is not a serial port, cannot set low latency
2026-01-26 20:31:36 homeassistant serialx.platforms.serial_posix[242] DEBUG Setting modem pins: ModemPins[!dtr !rts]
2026-01-26 20:31:36 homeassistant serialx.platforms.serial_posix[242] DEBUG TIOCMBIC: 0x00000006
2026-01-26 20:31:36 homeassistant serialx.platforms.serial_posix[242] DEBUG Device is not a serial port, cannot set modem pins
2026-01-26 20:31:36 homeassistant zigpy.serial[242] DEBUG Connection made: <serialx.platforms.serial_posix.PosixSerialTransport object at 0x7eff3bf1b950>
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=0, network_link_id=0, flag=2), command_id=<CommandID.RESET: 1>, data=b'\x02')
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] DEBUG Sending data b'~\x80\x01\x02\xea\xf0~'
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Immediately writing b'~\x80\x01\x02\xea\xf0~'
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Sent 7 of 7 bytes
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Event loop woke up reader
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Received b'~\x80\x06\x00p\xeet~'
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] DEBUG Decoded HDLC frame: HDLCLiteFrame(data=b'\x80\x06\x00p')
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] DEBUG Parsed frame SpinelFrame(header=SpinelHeader(transaction_id=0, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_IS: 6>, data=b'\x00p')
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] 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')
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] DEBUG Sending data b'~\x83\x02\x08\xbc\x9a~'
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Immediately writing b'~\x83\x02\x08\xbc\x9a~'
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Sent 7 of 7 bytes
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Event loop woke up reader
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Received b'~\x83\x06\x08|\xc6\xb6\xff\xfe\x9b\x15S\xfa\x83~'
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] DEBUG Decoded HDLC frame: HDLCLiteFrame(data=b'\x83\x06\x08|\xc6\xb6\xff\xfe\x9b\x15S')
2026-01-26 20:31:36 homeassistant universal_silabs_flasher.spinel[242] 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|\xc6\xb6\xff\xfe\x9b\x15S')
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Closing at the request of the application
2026-01-26 20:31:36 homeassistant zigpy.serial[242] DEBUG Waiting for serial port to close
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Closing connection: None
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Closing file descriptor 7
2026-01-26 20:31:36 homeassistant serialx.descriptor_transport[242] DEBUG Calling protocol `connection_lost` with exc=None
2026-01-26 20:31:36 homeassistant zigpy.serial[242] DEBUG Connection lost: None
Adapter settings file /data/thread/0_7cc6b6fffe9b1553.data is the most recently used, skipping
[20:31:36] INFO: e[32mStarting otbr-agent...e[0m
[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
[NOTE]-ILS-----: Infra link selected: enp0s18
tiocmbic: Inappropriate ioctl for device
53d.14:51:36.521 [C] P-SpinelDrive-: Software reset co-processor successfully
00:00:00.069 [N] RoutingManager: BR ULA prefix: fdc5:4370:868a::/48 (loaded)
00:00:00.069 [N] RoutingManager: Local on-link prefix: fd94:15ce:66ae:1fa::/64
00:00:00.090 [N] Mle-----------: Role disabled -> detached
00:00:00.114 [N] P-Netif-------: Changing interface state to up.
00:00:00.128 [W] P-Netif-------: Failed to process request#2: No such process
00:00:00.128 [W] P-Netif-------: Failed to process request#6: No such process
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-configure: starting
s6-rc: info: service otbr-web: starting
s6-rc: info: service otbr-web successfully started
[20:31:37] INFO: e[32mStarting otbr-web...e[0m
[INFO]-WEB-----: Running 0.3.0-b067e5ac-dirty
listenAddr not specified, using default ::
[INFO]-WEB-----: Border router web started on wpan0
Done
s6-rc: info: service otbr-agent-configure successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
[20:31:37] INFO: e[32mSuccessfully sent discovery information to Home Assistant.e[0m
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
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10768
00:00:27.782 [N] Mle-----------: RLOC16 a000 -> fffe
00:00:28.396 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
00:00:34.896 [N] RouterTable---: Allocate router id 40
00:00:34.896 [N] Mle-----------: RLOC16 fffe -> a000
00:00:34.902 [N] Mle-----------: Role detached -> leader
00:00:34.903 [N] Mle-----------: Partition ID 0xbca3afb
[NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!
00:00:35.923 [W] DuaManager----: Failed to perform next registration: NotFound
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10769
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10769
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10769
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10769
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10769
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10769
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10769
00:00:43.137 [W] P-RadioSpinel-: Error processing result: NoAddress
00:00:43.137 [W] P-RadioSpinel-: Error waiting response: NoAddress
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10770
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10770
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10770
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10770
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10770
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10770
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10771
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10772
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10773
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10773
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10773
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10773
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::1b85:506d:f426:aa6c/enp0s18.20/10773
What could be going wrong?