"thread border router required" error when setting up matter device on iOS app

Hi,
I am trying to set up my first matter device but continue getting the error “thread border router required” on my iOS app.

My setup is as follows:
Home Assistant on Raspberry 4
Home Assistant Connect ZBT-1 (only for thread)
OpenThread Border Router add-on
Matter Server add-on
Open Thread Border Router integration (as Service: Home Assistant Connect ZBT-1 (OpenThread Border Router)
Thread integration (as preferred network defined ha-thread-c2d7, 1 border router OpenThread Border Router)
Matter (Beta) integration

In the iOS companion App, I clicked on Thread integration selected the network, and clicked on ‘send credentials to phone’.

I went through all the installation guides and followed the steps. As such it should work. But I am still getting the error.
I also checked some discussions here in the community. I am aware that there were issues in the past, where a matter device could not be added via an iOS device, and would require a different thread border router, ie HomePod etc. However, my understanding is that after an update on the iOS companion app, it should work to share the network credentials.

Any ideas on how to solve this error?

Thanks for the help in advance.

Here is the log of the OpenThread Border Router add-on:

 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.10.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.8.3
 Home Assistant Supervisor: 2024.08.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 universal-silabs-flasher: starting
[20:43:00] INFO: Checking /dev/ttyUSB0 identifying Home Assistant Connect ZBT-1 from Nabu Casa.
[20:43:00] INFO: Starting universal-silabs-flasher with /dev/ttyUSB0
2024-08-29 20:43:01.856 homeassistant universal_silabs_flasher.flash INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.4.3', ezsp_version=None, ot_rcp_version='SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0), cpc_version=None, fw_type=<FirmwareImageType.OT_RCP: 'ot-rcp'>, baudrate=460800)
2024-08-29 20:43:01.857 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2024-08-29 20:43:03.877 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud
2024-08-29 20:43:05.010 homeassistant universal_silabs_flasher.flasher INFO Detected ApplicationType.SPINEL, version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) at 460800 baudrate (bootloader baudrate None)
2024-08-29 20:43:05.011 homeassistant universal_silabs_flasher.flash INFO Firmware version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) is flashed, not re-installing
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[20:43:06] INFO: Setup OTBR firewall...
[20:43:07] INFO: Starting otbr-agent...
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
s6-rc: info: service otbr-agent-configure: starting
Done
s6-rc: info: service otbr-agent-configure successfully started
[20:43:08] 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
s6-rc: info: service legacy-services successfully started
[NOTE]-AGENT---: Running 0.3.0-b66cabf-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
[NOTE]-AGENT---: Thread interface: wpan0
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyUSB0?uart-baudrate=460800&uart-flow-control
[NOTE]-AGENT---: Radio URL: trel://end0
[NOTE]-ILS-----: Infra link selected: end0
50d.15:55:38.015 [C] P-SpinelDrive-: Software reset co-processor successfully
00:00:00.054 [N] RoutingManager: BR ULA prefix: fd45:1561:4e50::/48 (loaded)
00:00:00.054 [N] RoutingManager: Local on-link prefix: fd38:a7e2:d196:ff94::/64
00:00:00.093 [N] Mle-----------: Role disabled -> detached
00:00:00.164 [N] P-Netif-------: Changing interface state to up.
00:00:00.208 [W] P-Netif-------: Failed to process request#2: No such process
00:00:00.209 [W] P-Netif-------: Failed to process request#6: No such process
00:00:00.453 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:00.686 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:00.944 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:01.161 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:01.397 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:01.634 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:01.868 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:02.113 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:02.352 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:02.610 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:02.831 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:03.058 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:03.264 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:03.480 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:03.731 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:03.955 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:04.158 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:04.401 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:04.638 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:04.850 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:05.106 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:05.689 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:10.834 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:16.023 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:16.559 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:17.548 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:18.849 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:21.280 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:26.718 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:27.820 [N] Mle-----------: RLOC16 bc00 -> fffe
00:00:27.926 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
00:00:28.172 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:28.898 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:29.660 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:30.908 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:32.185 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:33.429 [W] P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure
00:00:34.426 [N] RouterTable---: Allocate router id 47
00:00:34.426 [N] Mle-----------: RLOC16 fffe -> bc00
00:00:34.429 [N] Mle-----------: Role detached -> leader

I am not sure what is causing ‘P-RadioSpinel-: Handle transmit done failed: ChannelAccessFailure’.

Any idea anyone?

Here is also the log of the Matter Server add-on:

-----------------------------------------------------------
 Add-on: Matter Server
 Matter WebSocket Server for Home Assistant Matter support.
-----------------------------------------------------------
 Add-on version: 6.4.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.8.3
 Home Assistant Supervisor: 2024.08.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 matter-server: starting
s6-rc: info: service matter-server successfully started
s6-rc: info: service legacy-services: starting
[20:50:45] INFO: Starting Matter Server...
s6-rc: info: service legacy-services successfully started
[20:50:47] INFO: Using 'end0' as primary network interface.
[20:50:47] INFO: Successfully send discovery information to Home Assistant.
2024-08-29 20:50:54.140 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Logging...
2024-08-29 20:50:54.141 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Controller Stack...
[1724979054.463016][126:126] CHIP:CTL: Setting attestation nonce to random value
[1724979054.465834][126:126] CHIP:CTL: Setting CSR nonce to random value
[1724979054.483765][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs
[1724979054.485153][126:126] CHIP:DL: writing settings to file (/tmp/chip_kvs-SVCKBI)
[1724979054.485493][126:126] CHIP:DL: renamed tmp file to file (/tmp/chip_kvs)
[1724979054.486318][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_factory.ini
[1724979054.495894][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_config.ini
[1724979054.496960][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_counters.ini
[1724979054.497714][126:126] CHIP:DL: writing settings to file (/data/chip_counters.ini-ppvrmH)
[1724979054.498493][126:126] CHIP:DL: renamed tmp file to file (/data/chip_counters.ini)
[1724979054.498567][126:126] CHIP:DL: NVS set: chip-counters/reboot-count = 9 (0x9)
[1724979054.499991][126:126] CHIP:DL: Got Ethernet interface: end0
[1724979054.500948][126:126] CHIP:DL: Found the primary Ethernet interface:end0
[1724979054.501930][126:126] CHIP:DL: Got WiFi interface: wlan0
[1724979054.502018][126:126] CHIP:DL: Failed to reset WiFi statistic counts
2024-08-29 20:50:54.503 (MainThread) INFO [chip.storage] Initializing persistent storage from file: /data/chip.json
2024-08-29 20:50:54.504 (MainThread) INFO [chip.storage] Loading configuration from /data/chip.json...
2024-08-29 20:50:54.768 (MainThread) INFO [chip.CertificateAuthority] Loading certificate authorities from storage...
2024-08-29 20:50:54.768 (MainThread) INFO [chip.CertificateAuthority] New CertificateAuthority at index 1
2024-08-29 20:50:54.774 (MainThread) INFO [chip.CertificateAuthority] Loading fabric admins from storage...
2024-08-29 20:50:54.774 (MainThread) INFO [chip.FabricAdmin] New FabricAdmin: FabricId: 0x0000000000000002, VendorId = 0x134B
2024-08-29 20:50:54.775 (MainThread) INFO [matter_server.server.stack] CHIP Controller Stack initialized.
2024-08-29 20:50:54.777 (MainThread) INFO [matter_server.server.server] Starting the Matter Server...
2024-08-29 20:50:54.789 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Skip fetching certificates (already fetched within the last 24h).
2024-08-29 20:50:54.789 (MainThread) INFO [chip.FabricAdmin] Allocating new controller with CaIndex: 1, FabricId: 0x0000000000000002, NodeId: 0x000000000001B669, CatTags: []
2024-08-29 20:50:55.143 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to advertise records: src/inet/UDPEndPointImplSockets.cpp:416: OS Error 0x02000065: Network is unreachable
2024-08-29 20:50:55.173 (Dummy-2) CHIP_ERROR [chip.native.DL] Long dispatch time: 381 ms, for event type 2
2024-08-29 20:50:55.194 (MainThread) INFO [matter_server.server.vendor_info] Loading vendor info from storage.
2024-08-29 20:50:55.211 (MainThread) INFO [matter_server.server.vendor_info] Loaded 240 vendors from storage.
2024-08-29 20:50:55.211 (MainThread) INFO [matter_server.server.vendor_info] Fetching the latest vendor info from DCL.
2024-08-29 20:50:55.778 (MainThread) INFO [matter_server.server.vendor_info] Fetched 238 vendors from DCL.
2024-08-29 20:50:55.778 (MainThread) INFO [matter_server.server.vendor_info] Saving vendor info to storage.
2024-08-29 20:50:55.801 (MainThread) INFO [matter_server.server.device_controller] Loaded 0 nodes from stored configuration
2024-08-29 20:50:55.833 (MainThread) INFO [matter_server.server.server] Matter Server successfully initialized.

I assume the key issue is this:
2024-08-29 20:50:55.143 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to advertise records: src/inet/UDPEndPointImplSockets.cpp:416: OS Error 0x02000065: Network is unreachable

Any idea to fix that?

Difficult to say, but for the Thread log, it maybe that it is using a channel that WiFi is also using, or there is a problem with the SkyConnect USB Stick (make sure you are using the extension cable) getting too much RF interference because there are way to many ChannelAccess Failure logs.

Once the Companion App gives the Thread dataset to the device via BLE, the device should be trying to join the Thread network, and the OTBR should see this and start sending mDNS advertisements for this device to the LAN from which the Companion App should be waiting to see, but likely is not getting them.
Matter Server - don’t really know, but it sees two network interfaces end0 and wlan0 which may make things harder to debug networking issues. Suggest turning off wlan0 to see if it helps.

Thanks for your response. It helped to try to stick the Connect ZBT-1 into a different USB Port.
This seemed to help as both, the OTBR as well as the Matter add-on are now showing less issues.
I am adding both logs below for reference.

However, I am still getting the “thread border router required” error when I try to connect a Matter device to HA.

In another post, I read some posts that the iOS companion APP add some issues to commission the permissions. Is this issue solved in the meantime?

Any ideas to get this to work?

Thanks a lot for the efforts in advance.

-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.10.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.8.3
 Home Assistant Supervisor: 2024.08.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 universal-silabs-flasher: starting
[20:53:53] INFO: Checking /dev/ttyUSB0 identifying Home Assistant Connect ZBT-1 from Nabu Casa.
[20:53:53] INFO: Starting universal-silabs-flasher with /dev/ttyUSB0
2024-09-01 20:54:01.848 homeassistant universal_silabs_flasher.flash INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.4.3', ezsp_version=None, ot_rcp_version='SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0), cpc_version=None, fw_type=<FirmwareImageType.OT_RCP: 'ot-rcp'>, baudrate=460800)
2024-09-01 20:54:01.850 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2024-09-01 20:54:03.883 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud
2024-09-01 20:54:05.038 homeassistant universal_silabs_flasher.flasher INFO Detected ApplicationType.SPINEL, version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) at 460800 baudrate (bootloader baudrate None)
2024-09-01 20:54:05.041 homeassistant universal_silabs_flasher.flash INFO Firmware version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) is flashed, not re-installing
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[20:54:09] INFO: Setup OTBR firewall...
[20:54:11] INFO: Starting otbr-agent...
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
s6-rc: info: service otbr-agent-configure: starting
Done
s6-rc: info: service otbr-agent-configure successfully started
[20:54:15] 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
s6-rc: info: service legacy-services successfully started
-----------------------------------------------------------
 Add-on: Matter Server
 Matter WebSocket Server for Home Assistant Matter support.
-----------------------------------------------------------
 Add-on version: 6.4.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.8.3
 Home Assistant Supervisor: 2024.08.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 matter-server: starting
s6-rc: info: service matter-server successfully started
s6-rc: info: service legacy-services: starting
[14:36:35] INFO: Starting Matter Server...
s6-rc: info: service legacy-services successfully started
[14:36:36] INFO: Using 'end0' as primary network interface.
[14:36:37] INFO: Successfully send discovery information to Home Assistant.
2024-08-31 14:36:43.620 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Logging...
2024-08-31 14:36:43.622 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Controller Stack...
2024-08-31 14:36:43.622 (MainThread) DEBUG [matter_server.server.stack] Using storage file: /data/chip.json - Bluetooth commissioning enabled: NO
[1725129403.708758][126:126] CHIP:CTL: Setting attestation nonce to random value
[1725129403.709590][126:126] CHIP:CTL: Setting CSR nonce to random value
[1725129403.711773][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs
[1725129403.712943][126:126] CHIP:DL: writing settings to file (/tmp/chip_kvs-78PKKI)
[1725129403.713130][126:126] CHIP:DL: renamed tmp file to file (/tmp/chip_kvs)
[1725129403.713551][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_factory.ini
[1725129403.714617][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_config.ini
[1725129403.715493][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_counters.ini
[1725129403.716410][126:126] CHIP:DL: writing settings to file (/data/chip_counters.ini-gO7BRK)
[1725129403.716913][126:126] CHIP:DL: renamed tmp file to file (/data/chip_counters.ini)
[1725129403.716959][126:126] CHIP:DL: NVS set: chip-counters/reboot-count = 10 (0xA)
[1725129403.718075][126:126] CHIP:DL: Got Ethernet interface: end0
[1725129403.718815][126:126] CHIP:DL: Found the primary Ethernet interface:end0
[1725129403.719511][126:126] CHIP:DL: Got WiFi interface: wlan0
[1725129403.719605][126:126] CHIP:DL: Failed to reset WiFi statistic counts
2024-08-31 14:36:43.720 (MainThread) INFO [chip.storage] Initializing persistent storage from file: /data/chip.json
2024-08-31 14:36:43.721 (MainThread) INFO [chip.storage] Loading configuration from /data/chip.json...
2024-08-31 14:36:43.724 (MainThread) DEBUG [chip.storage] SetSdkKey: g/gcc = b'\xfbF\xa1\t'
2024-08-31 14:36:43.726 (MainThread) DEBUG [chip.storage] SetSdkKey: g/gdc = b'\x9f\x7f\x81\x00'
2024-08-31 14:36:43.989 (MainThread) INFO [chip.CertificateAuthority] Loading certificate authorities from storage...
2024-08-31 14:36:43.990 (MainThread) INFO [chip.CertificateAuthority] New CertificateAuthority at index 1
2024-08-31 14:36:43.992 (MainThread) INFO [chip.CertificateAuthority] Loading fabric admins from storage...
2024-08-31 14:36:43.992 (MainThread) INFO [chip.FabricAdmin] New FabricAdmin: FabricId: 0x0000000000000002, VendorId = 0x134B
2024-08-31 14:36:43.993 (MainThread) DEBUG [chip.storage] SetReplKey: caList = {'1': [{'fabricId': 2, 'vendorId': 4939}]}
2024-08-31 14:36:43.993 (MainThread) INFO [matter_server.server.stack] CHIP Controller Stack initialized.
2024-08-31 14:36:43.994 (MainThread) DEBUG [aiorun] Entering run()
2024-08-31 14:36:43.995 (MainThread) DEBUG [asyncio] Using selector: EpollSelector
2024-08-31 14:36:43.996 (MainThread) DEBUG [aiorun] Creating default executor
2024-08-31 14:36:43.996 (MainThread) INFO [matter_server.server.server] Starting the Matter Server...
2024-08-31 14:36:44.008 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Skip fetching certificates (already fetched within the last 24h).
2024-08-31 14:36:44.008 (MainThread) INFO [chip.FabricAdmin] Allocating new controller with CaIndex: 1, FabricId: 0x0000000000000002, NodeId: 0x000000000001B669, CatTags: []
2024-08-31 14:36:44.319 (Dummy-2) DEBUG [chip.storage] SetSdkKey: g/fs/c = b'\x15$\x00\x01(\x01\x18'
2024-08-31 14:36:44.320 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/m = b'\x15%\x00K\x13,\x01\x00\x18'
2024-08-31 14:36:44.321 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/n = b'\x150\x01\x01\x01$\x02\x017\x03$\x13\x02\x18&\x04\x80"\x81\'&\x05\x80%M:7\x06$\x15\x02&\x11i\xb6\x01\x00\x18$\x07\x01$\x08\x010\tA\x04\xbc\xe7\xeb\xb3M\x80\xa8\xa4J\xbb\xb5\x0e\x80\xc6Tn%\x1da\xab7k\x10\x0c\x83x\xd6\x94\x03\xf6<\x0b\xe5.\x97\xd9\x97\x01l\xc4\x12<\xd02[\x96\x86\xb3\x8c\xca\x08\xee\xc4j\xbbq!\xb0\x17\x93>\xf1\xe1\xdc7\n5\x01(\x01\x18$\x02\x016\x03\x04\x02\x04\x01\x180\x04\x14A\xd3\x9f\xa7\xe5m\xd5c\x0f\xf2\xf4\xdb\xa1\xe3\x81\x00\xb2\xf2\xb2\xd40\x05\x14\x91\x8a\xe9*9t\xd4?\xd0v\xa8\xb1-\xafo0\xb2V(\xf2\x180\x0b@\x98\x9evT\x18\xda\xf8)\x8f\x19u\xb4P\x91\xb81;\x1e\xe2\x01\xc1\x86\xaa\xcag\xd6O\xb5\xde\xb46F\x85;\xaei\x01"\x96\x01\xd3\x8aU\x8cl\x95\xcdKX$r\xfdrl\x80\xbc\xe4\x9e\r,\xff0\x18\x9b\x18'
2024-08-31 14:36:44.322 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/i = b'\x150\x01\x01\x01$\x02\x017\x03$\x14\x01\x18&\x04\x80"\x81\'&\x05\x80%M:7\x06$\x13\x02\x18$\x07\x01$\x08\x010\tA\x04\xf0\xa5{2\x00\xa2\xb3\x1c\xd9#\xcf\x9f\xee;\xdeA\xe35\xa5\xf1\xa3$\xbaE\xbc\t\xff\xdd\x0e3\xcd\xfa\x12u5\x94\xd8\x96sA\xf6/\x1eX\xd7^N\x88AvR$E\xbeR\xc7,\xf3\xcd\nE\x9c\xd8`7\n5\x01)\x01\x18$\x02`0\x04\x14\x91\x8a\xe9*9t\xd4?\xd0v\xa8\xb1-\xafo0\xb2V(\xf20\x05\x14\xad.\xf8c\x8d\xb4\xe93i\x97\r\xca\x02\xcbi\xbdU\xe5\xfc\xa3\x180\x0b@s\xf1-\x7fr\xe6\x10\x16\x88\xc0\x86K>sZr\xee\x9a\xc6`sLc\xbc\x96`Cz/\xce\xc7\xd4:\x87t*\x97\x0b\x97\x13\x83L\x11\xaa\x8d\xb0\r\xc8\xe4\x1e\x1b\xa8\x82]Cp\x0b \xc1\x99\xfbj\xc6\xde\x18'
2024-08-31 14:36:44.323 (Dummy-2) DEBUG [chip.storage] SetSdkKey: g/lkgt = b'\x15&\x00\x80\xa8\xbc,\x18'
2024-08-31 14:36:44.323 (Dummy-2) DEBUG [chip.storage] DeleteSdkKey: g/fs/c
2024-08-31 14:36:44.338 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to advertise records: src/inet/UDPEndPointImplSockets.cpp:416: OS Error 0x02000065: Network is unreachable
2024-08-31 14:36:44.363 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/k/0 = b"\x15$\x01\x00$\x02\x016\x03\x15$\x04\x00%\x05\xb1\x9d0\x06\x10'\x10\xa4\xc5ysS\n\x06/\x86\xdb\x13\xb61)\x18\x15$\x04\x00$\x05\x000\x06\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x15$\x04\x00$\x05\x000\x06\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18%\x07\xff\xff\x18"
2024-08-31 14:36:44.365 (Dummy-2) CHIP_ERROR [chip.native.DL] Long dispatch time: 354 ms, for event type 2
2024-08-31 14:36:44.368 (MainThread) DEBUG [matter_server.server.sdk] CHIP Device Controller Initialized
2024-08-31 14:36:44.382 (ThreadPoolExecutor-0_0) DEBUG [matter_server.server.storage] Loading persistent settings from /data/2217201609714646232.json
2024-08-31 14:36:44.387 (MainThread) DEBUG [matter_server.server.storage] Started.
2024-08-31 14:36:44.388 (MainThread) INFO [matter_server.server.vendor_info] Loading vendor info from storage.
2024-08-31 14:36:44.408 (MainThread) INFO [matter_server.server.vendor_info] Loaded 241 vendors from storage.
2024-08-31 14:36:44.410 (MainThread) INFO [matter_server.server.vendor_info] Fetching the latest vendor info from DCL.
2024-08-31 14:36:44.916 (MainThread) INFO [matter_server.server.vendor_info] Fetched 239 vendors from DCL.
2024-08-31 14:36:44.916 (MainThread) INFO [matter_server.server.vendor_info] Saving vendor info to storage.
2024-08-31 14:36:44.942 (MainThread) INFO [matter_server.server.device_controller] Loaded 0 nodes from stored configuration
2024-08-31 14:36:44.973 (MainThread) DEBUG [matter_server.server.server] Detected dashboard files on /usr/local/lib/python3.11/site-packages/matter_server/dashboard
2024-08-31 14:36:44.977 (MainThread) INFO [matter_server.server.server] Matter Server successfully initialized.
2024-08-31 14:37:02.754 (MainThread) DEBUG [matter_server.server.client_handler] [547731822096] Connected from 192.168.5.149
2024-08-31 14:38:44.948 (ThreadPoolExecutor-0_0) DEBUG [matter_server.server.storage] Saved data to persistent storage

Since 2024.7 with the ability to send credentials to the phone, the iOS HA Companion App should be working.

Make sure your iOS device is on the same LAN as the OTBR in order to handle mDNS properly.
Other things like make sure HA has a IPv6 address other than FE80:blah:blah and that it too is also on the same LAN.

Thanks for the information. I am glad that the iOS HA Companion App supports sending the credentials.

The iPhone with the companion app is in the same LAN.

You are pointing that the IPv6 address of HA should be other than FE80:xxxxxx.
I believe this is the case. I am adding a screenshot below to verify.

It seems that HA has two IPv6 addresses. fd23:xxxx and fe80:xxxx.

Is this normal? Further, if I am not supposed to have the fe80:xxxx address, how/where can I change it?

Thanks for the help in advance.

The fd23:blah:blah is a IPv6 ULA which is good. The fe80: is fine as an IP address (so you should leave it as is), it’s just fe80: is insufficient for Thread, as you need the ULA.

If your iPhone is on the same LAN, it should also have an address starting fd23:blah with last few bytes being different. If this is the case, then it gets harder to figure out what else might be wrong, but my guess is that the device was unsuccessful trying to join the Thread network, but I don’t have any more knowledge to say how to prove this or debug it.

Thank you for clarifying.
My iPhone is in the same LAN and has an address starting fd23:xxxx (see screenshot below). So I guess, we can rule out the IP address as a reason for the error.

What I noticed a new behavior is the following:

When I reboot HA, the logs of OpenThread Border Router add-on shows the following error.
“mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2”
(see complete logs below).
When I manually restart just the OpenThread Border Router add-on, the error does not show up.
(see complete logs below).

The Matter add-on continues to show one error ‘2024-09-02 16:15:33.191 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to reply to query: src/inet/UDPEndPointImplSockets.cpp:416: OS Error 0x02000063: Cannot assign requested address’

Any idea what the issue could be, or to further narrow down the possible root cause?
Any help is welcome. Thanks!

-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.10.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.8.3
 Home Assistant Supervisor: 2024.08.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 universal-silabs-flasher: starting
[10:08:10] INFO: Checking /dev/ttyUSB0 identifying Home Assistant Connect ZBT-1 from Nabu Casa.
[10:08:10] INFO: Starting universal-silabs-flasher with /dev/ttyUSB0
2024-09-02 10:08:15.700 homeassistant universal_silabs_flasher.flash INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.4.3', ezsp_version=None, ot_rcp_version='SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0), cpc_version=None, fw_type=<FirmwareImageType.OT_RCP: 'ot-rcp'>, baudrate=460800)
2024-09-02 10:08:15.701 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2024-09-02 10:08:17.733 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud
2024-09-02 10:08:18.867 homeassistant universal_silabs_flasher.flasher INFO Detected ApplicationType.SPINEL, version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) at 460800 baudrate (bootloader baudrate None)
2024-09-02 10:08:18.867 homeassistant universal_silabs_flasher.flash INFO Firmware version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) is flashed, not re-installing
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[10:08:24] INFO: Setup OTBR firewall...
[10:08:25] INFO: Starting otbr-agent...
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
s6-rc: info: service otbr-agent-configure: starting
Done
s6-rc: info: service otbr-agent-configure successfully started
[10:08:27] 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
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::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::d149:1811:c053:9672/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface 192.168.5.149/end0/2
-----------------------------------------------------------
 Add-on: OpenThread Border Router
 OpenThread Border Router add-on
-----------------------------------------------------------
 Add-on version: 2.10.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.8.3
 Home Assistant Supervisor: 2024.08.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 universal-silabs-flasher: starting
[21:19:42] INFO: Checking /dev/ttyUSB0 identifying Home Assistant Connect ZBT-1 from Nabu Casa.
[21:19:42] INFO: Starting universal-silabs-flasher with /dev/ttyUSB0
2024-09-02 21:19:44.963 homeassistant universal_silabs_flasher.flash INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.4.3', ezsp_version=None, ot_rcp_version='SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0), cpc_version=None, fw_type=<FirmwareImageType.OT_RCP: 'ot-rcp'>, baudrate=460800)
2024-09-02 21:19:44.964 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2024-09-02 21:19:46.989 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud
2024-09-02 21:19:48.126 homeassistant universal_silabs_flasher.flasher INFO Detected ApplicationType.SPINEL, version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) at 460800 baudrate (bootloader baudrate None)
2024-09-02 21:19:48.126 homeassistant universal_silabs_flasher.flash INFO Firmware version 'SL-OPENTHREAD/2.4.0.0_GitHub-7074a43e4' (2.4.0.0) is flashed, not re-installing
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
[21:19:49] INFO: Setup OTBR firewall...
[21:19:50] INFO: Starting otbr-agent...
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
s6-rc: info: service otbr-agent-configure: starting
Done
s6-rc: info: service otbr-agent-configure successfully started
[21:19:51] 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
s6-rc: info: service legacy-services successfully started
-----------------------------------------------------------
 Add-on: Matter Server
 Matter WebSocket Server for Home Assistant Matter support.
-----------------------------------------------------------
 Add-on version: 6.4.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 13.1  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.8.3
 Home Assistant Supervisor: 2024.08.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 matter-server: starting
s6-rc: info: service matter-server successfully started
s6-rc: info: service legacy-services: starting
[15:51:43] INFO: Starting Matter Server...
s6-rc: info: service legacy-services successfully started
[15:51:45] INFO: Using 'end0' as primary network interface.
[15:51:46] INFO: Successfully send discovery information to Home Assistant.
2024-09-02 15:51:53.466 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Logging...
2024-09-02 15:51:53.467 (MainThread) INFO [matter_server.server.stack] Initializing CHIP/Matter Controller Stack...
2024-09-02 15:51:53.467 (MainThread) DEBUG [matter_server.server.stack] Using storage file: /data/chip.json - Bluetooth commissioning enabled: NO
[1725306713.929090][126:126] CHIP:CTL: Setting attestation nonce to random value
[1725306713.932932][126:126] CHIP:CTL: Setting CSR nonce to random value
[1725306713.956607][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs
[1725306713.957011][126:126] CHIP:DL: writing settings to file (/tmp/chip_kvs-ybHmDK)
[1725306713.957256][126:126] CHIP:DL: renamed tmp file to file (/tmp/chip_kvs)
[1725306713.958004][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_factory.ini
[1725306713.970734][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_config.ini
[1725306713.970977][126:126] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_counters.ini
[1725306713.971796][126:126] CHIP:DL: writing settings to file (/data/chip_counters.ini-5zINdJ)
[1725306713.972876][126:126] CHIP:DL: renamed tmp file to file (/data/chip_counters.ini)
[1725306713.972948][126:126] CHIP:DL: NVS set: chip-counters/reboot-count = 13 (0xD)
[1725306713.974602][126:126] CHIP:DL: Got Ethernet interface: end0
[1725306713.975795][126:126] CHIP:DL: Found the primary Ethernet interface:end0
[1725306713.976866][126:126] CHIP:DL: Got WiFi interface: wlan0
[1725306713.976942][126:126] CHIP:DL: Failed to reset WiFi statistic counts
2024-09-02 15:51:53.977 (MainThread) INFO [chip.storage] Initializing persistent storage from file: /data/chip.json
2024-09-02 15:51:53.978 (MainThread) INFO [chip.storage] Loading configuration from /data/chip.json...
2024-09-02 15:51:53.983 (MainThread) DEBUG [chip.storage] SetSdkKey: g/gcc = b'\xb3R\xa1\t'
2024-09-02 15:51:53.985 (MainThread) DEBUG [chip.storage] SetSdkKey: g/gdc = b'W\x8b\x81\x00'
2024-09-02 15:51:54.285 (MainThread) INFO [chip.CertificateAuthority] Loading certificate authorities from storage...
2024-09-02 15:51:54.285 (MainThread) INFO [chip.CertificateAuthority] New CertificateAuthority at index 1
2024-09-02 15:51:54.292 (MainThread) INFO [chip.CertificateAuthority] Loading fabric admins from storage...
2024-09-02 15:51:54.293 (MainThread) INFO [chip.FabricAdmin] New FabricAdmin: FabricId: 0x0000000000000002, VendorId = 0x134B
2024-09-02 15:51:54.293 (MainThread) DEBUG [chip.storage] SetReplKey: caList = {'1': [{'fabricId': 2, 'vendorId': 4939}]}
2024-09-02 15:51:54.294 (MainThread) INFO [matter_server.server.stack] CHIP Controller Stack initialized.
2024-09-02 15:51:54.295 (MainThread) DEBUG [aiorun] Entering run()
2024-09-02 15:51:54.296 (MainThread) DEBUG [asyncio] Using selector: EpollSelector
2024-09-02 15:51:54.297 (MainThread) DEBUG [aiorun] Creating default executor
2024-09-02 15:51:54.298 (MainThread) INFO [matter_server.server.server] Starting the Matter Server...
2024-09-02 15:51:54.310 (MainThread) INFO [matter_server.server.helpers.paa_certificates] Skip fetching certificates (already fetched within the last 24h).
2024-09-02 15:51:54.311 (MainThread) INFO [chip.FabricAdmin] Allocating new controller with CaIndex: 1, FabricId: 0x0000000000000002, NodeId: 0x000000000001B669, CatTags: []
2024-09-02 15:51:54.594 (Dummy-2) DEBUG [chip.storage] SetSdkKey: g/fs/c = b'\x15$\x00\x01(\x01\x18'
2024-09-02 15:51:54.599 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/m = b'\x15%\x00K\x13,\x01\x00\x18'
2024-09-02 15:51:54.600 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/n = b'\x150\x01\x01\x01$\x02\x017\x03$\x13\x02\x18&\x04\x80"\x81\'&\x05\x80%M:7\x06$\x15\x02&\x11i\xb6\x01\x00\x18$\x07\x01$\x08\x010\tA\x040\x18QC\xe0J\xd3\xd9`-\xfdw\xf4\xcb\x88\xf8[\x03\xdb\xca\x0c\x1e\x9cw\x82\x85*\x0b\xe5\x87\xe7l\x96\x18_k\xe1j\x93\x9d\xbcd`\xb6\xf0\xabZ\xea*\x98\xa3j\xed/\x00\xf9\x8f\x86\xbe\t\xea\xf8<\xe77\n5\x01(\x01\x18$\x02\x016\x03\x04\x02\x04\x01\x180\x04\x14\xa8\xacO\xfe\xd4\x80@D\xd5\xd7k\xb4C\x9a\xd5\xfai\xf4\xfa\x940\x05\x14\x91\x8a\xe9*9t\xd4?\xd0v\xa8\xb1-\xafo0\xb2V(\xf2\x180\x0b@\xa0QC\xbf\x1d,\xeb`"\xfb\x13\xd6]\x18\xb7X\x88BZ\xf5\x83\xfc\x02\xaf\n\x946\xd2\x8e\xa0B|\xa7\x10r}\x03\x18\xa2\t\x012G\xeaF\x06hu\xf5\xbd\xc5d\xcbF\xb3\x99\xab!\xea\xf1ry&q\x18'
2024-09-02 15:51:54.601 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/i = b'\x150\x01\x01\x01$\x02\x017\x03$\x14\x01\x18&\x04\x80"\x81\'&\x05\x80%M:7\x06$\x13\x02\x18$\x07\x01$\x08\x010\tA\x04\xf0\xa5{2\x00\xa2\xb3\x1c\xd9#\xcf\x9f\xee;\xdeA\xe35\xa5\xf1\xa3$\xbaE\xbc\t\xff\xdd\x0e3\xcd\xfa\x12u5\x94\xd8\x96sA\xf6/\x1eX\xd7^N\x88AvR$E\xbeR\xc7,\xf3\xcd\nE\x9c\xd8`7\n5\x01)\x01\x18$\x02`0\x04\x14\x91\x8a\xe9*9t\xd4?\xd0v\xa8\xb1-\xafo0\xb2V(\xf20\x05\x14\xad.\xf8c\x8d\xb4\xe93i\x97\r\xca\x02\xcbi\xbdU\xe5\xfc\xa3\x180\x0b@s\xf1-\x7fr\xe6\x10\x16\x88\xc0\x86K>sZr\xee\x9a\xc6`sLc\xbc\x96`Cz/\xce\xc7\xd4:\x87t*\x97\x0b\x97\x13\x83L\x11\xaa\x8d\xb0\r\xc8\xe4\x1e\x1b\xa8\x82]Cp\x0b \xc1\x99\xfbj\xc6\xde\x18'
2024-09-02 15:51:54.602 (Dummy-2) DEBUG [chip.storage] SetSdkKey: g/lkgt = b'\x15&\x00\x80\xa8\xbc,\x18'
2024-09-02 15:51:54.603 (Dummy-2) DEBUG [chip.storage] DeleteSdkKey: g/fs/c
2024-09-02 15:51:54.623 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to advertise records: src/inet/UDPEndPointImplSockets.cpp:416: OS Error 0x02000065: Network is unreachable
2024-09-02 15:51:54.656 (Dummy-2) DEBUG [chip.storage] SetSdkKey: f/1/k/0 = b"\x15$\x01\x00$\x02\x016\x03\x15$\x04\x00%\x05\xb1\x9d0\x06\x10'\x10\xa4\xc5ysS\n\x06/\x86\xdb\x13\xb61)\x18\x15$\x04\x00$\x05\x000\x06\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x15$\x04\x00$\x05\x000\x06\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18%\x07\xff\xff\x18"
2024-09-02 15:51:54.658 (Dummy-2) CHIP_ERROR [chip.native.DL] Long dispatch time: 344 ms, for event type 2
2024-09-02 15:51:54.662 (MainThread) DEBUG [matter_server.server.sdk] CHIP Device Controller Initialized
2024-09-02 15:51:54.702 (ThreadPoolExecutor-0_0) DEBUG [matter_server.server.storage] Loading persistent settings from /data/2217201609714646232.json
2024-09-02 15:51:54.709 (MainThread) DEBUG [matter_server.server.storage] Started.
2024-09-02 15:51:54.710 (MainThread) INFO [matter_server.server.vendor_info] Loading vendor info from storage.
2024-09-02 15:51:54.726 (MainThread) INFO [matter_server.server.vendor_info] Loaded 241 vendors from storage.
2024-09-02 15:51:54.727 (MainThread) INFO [matter_server.server.vendor_info] Fetching the latest vendor info from DCL.
2024-09-02 15:52:01.654 (MainThread) INFO [matter_server.server.vendor_info] Fetched 239 vendors from DCL.
2024-09-02 15:52:01.654 (MainThread) INFO [matter_server.server.vendor_info] Saving vendor info to storage.
2024-09-02 15:52:01.684 (MainThread) INFO [matter_server.server.device_controller] Loaded 0 nodes from stored configuration
2024-09-02 15:52:01.721 (MainThread) DEBUG [matter_server.server.server] Detected dashboard files on /usr/local/lib/python3.11/site-packages/matter_server/dashboard
2024-09-02 15:52:01.730 (MainThread) INFO [matter_server.server.server] Matter Server successfully initialized.
2024-09-02 15:52:08.598 (MainThread) DEBUG [matter_server.server.client_handler] [548306098512] Connected from 192.168.5.149
2024-09-02 15:54:01.690 (ThreadPoolExecutor-0_0) DEBUG [matter_server.server.storage] Saved data to persistent storage
2024-09-02 16:15:33.191 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to reply to query: src/inet/UDPEndPointImplSockets.cpp:416: OS Error 0x02000063: Cannot assign requested address
2024-09-02 20:46:07.030 (MainThread) DEBUG [matter_server.server.client_handler] [548306098512] Disconnected
2024-09-02 20:47:11.465 (MainThread) DEBUG [matter_server.server.client_handler] [548306182352] Connected from 192.168.5.149


These are somewhat common errors that occur even on systems that work properly, and I see these as well on my system too, so I doubt they are a problem.

Let’s assume for the moment that the device did not join the Thread network.
Check the Thread Dataset in HA UI->Integrations->Thread->Configure->(i) “Active dataset TLVs”
Check Companion App: UI->Settings->Companion App->Debugging->Thread “Active operational data set”
They should be the same. If they are then great!

Next, maybe factory reset the device and try adding again with the device very close to the ZBT-1.
You may also want to put the OTBR logs in “debug” level to see if it sees the device joining.

Thank you for confirming that those are ‘common errors’.

I followed the steps outlined.
In HA: My preferred is ha-thread-6b3c
However, in the companion App, many more networks show up on the debug screen.
(Before, posting my issue in the community, I tried to reset the border router, which created a new network and deleted the old ones).
The Thread Dataset of the ha-thread-6b3c network is identical in HA as well as in the Companion App.
But, how does the Companion App know to use this one? Is it beneficial to delete the credentials of the other networks? How can I do this, if there are not in HA anymore?

I also attach the logs of the OTBR while trying to connect the matter device. No success, I am still getting the error ‘thread border router required’.

Thanks for any help in advance.


00:02:35.900 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:02:35.901 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:3, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:69, channel:15, maxbackoffs:4, maxretries:15 ...
00:02:35.901 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:02:35.911 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:3, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:02:35.912 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:808e, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:02:35.912 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:19788
00:02:35.912 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:0:1]:19788
00:02:42.376 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:4, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:70, channel:15, maxbackoffs:4, maxretries:15 ...
00:02:42.376 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:02:42.388 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:4, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:02:42.388 [I] MeshForwarder-: Sent IPv6 UDP msg, len:71, chksum:7bae, ecn:no, to:0xffff, sec:yes, prio:low, radio:all
00:02:42.388 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:5355
00:02:42.388 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:1:3]:5355
00:02:43.157 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:02:43.158 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:5, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:69, channel:15, maxbackoffs:4, maxretries:15 ...
00:02:43.158 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:02:43.168 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:5, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:02:43.168 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:55f8, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:02:43.168 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:19788
00:02:43.168 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:0:1]:19788
00:02:43.382 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:6, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:70, channel:15, maxbackoffs:4, maxretries:15 ...
00:02:43.382 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:02:43.392 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:6, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:02:43.392 [I] MeshForwarder-: Sent IPv6 UDP msg, len:71, chksum:7bae, ecn:no, to:0xffff, sec:yes, prio:low, radio:all
00:02:43.392 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:5355
00:02:43.392 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:1:3]:5355
00:02:44.629 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:7, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:70, channel:15, maxbackoffs:4, maxretries:15 ...
00:02:44.630 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:02:44.639 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:7, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:02:44.640 [I] MeshForwarder-: Sent IPv6 UDP msg, len:71, chksum:7bae, ecn:no, to:0xffff, sec:yes, prio:low, radio:all
00:02:44.640 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:5355
00:02:44.640 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:1:3]:5355
00:02:47.916 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:0, cmd:PROP_VALUE_IS, key:STREAM_RAW, len:10, rssi:-37 ...
00:02:47.916 [D] P-SpinelDrive-: ... noise:-128, flags:0x0000, channel:15, lqi:255, timestamp:126757561577, rxerr:0
00:02:47.916 [I] Mac-----------: Received Beacon Request
00:02:47.916 [I] Mac-----------: Sending Beacon
00:02:47.916 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:8, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:15, channel:15, maxbackoffs:4, maxretries:15 ...
00:02:47.916 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:02:47.924 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:8, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:02:54.723 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:02:54.724 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:9, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:69, channel:15, maxbackoffs:4, maxretries:15 ...
00:02:54.724 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:02:54.732 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:9, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:02:54.732 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:3735, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:02:54.732 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:19788
00:02:54.732 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:0:1]:19788
[INFO]-MDNS----: DNSServiceGetAddrInfo reply: flags=1, host=homeassistant.local., sa_family=2, error=0
[INFO]-MDNS----: Service _trel._udp is resolved successfully: add 8a87b5021e25311a host homeassistant.local. addresses 1
[INFO]-MDNS----: addresses: [ fd23:8690:9d46:e4e2:36c6:6d1e:9783:f960 ]
[INFO]-DPROXY--: Service discovered: _trel._udp, instance 8a87b5021e25311a hostname homeassistant.local. addresses 1 port 57640 priority 0 weight 0
[INFO]-MDNS----: DNSServiceGetAddrInfo reply: flags=0, host=homeassistant.local., sa_family=10, error=0
[DEBG]-MDNS----: DNSServiceGetAddrInfo ignores address fe80::42:1eff:feb6:874f
[INFO]-MDNS----: Service _trel._udp is resolved successfully: add 8a87b5021e25311a host homeassistant.local. addresses 1
[INFO]-MDNS----: addresses: [ fd23:8690:9d46:e4e2:36c6:6d1e:9783:f960 ]
[INFO]-DPROXY--: Service discovered: _trel._udp, instance 8a87b5021e25311a hostname homeassistant.local. addresses 1 port 57640 priority 0 weight 0
00:03:00.727 [D] P-RadioSpinel-: Trying to get RCP time offset
00:03:00.727 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:10, cmd:PROP_VALUE_GET, key:TIMESTAMP
00:03:00.727 [D] P-RadioSpinel-: Wait response: tid=10 key=2050
00:03:00.730 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:10, cmd:PROP_VALUE_IS, key:TIMESTAMP, timestamp:2216326788
[INFO]-MDNS----: DNSServiceGetAddrInfo reply: flags=1, host=homeassistant.local., sa_family=2, error=0
[INFO]-MDNS----: Service _trel._udp is resolved successfully: add 8a87b5021e25311a host homeassistant.local. addresses 1
[INFO]-MDNS----: addresses: [ fd23:8690:9d46:e4e2:36c6:6d1e:9783:f960 ]
[INFO]-DPROXY--: Service discovered: _trel._udp, instance 8a87b5021e25311a hostname homeassistant.local. addresses 1 port 57640 priority 0 weight 0
[INFO]-MDNS----: DNSServiceGetAddrInfo reply: flags=1, host=homeassistant.local., sa_family=10, error=0
[INFO]-MDNS----: DNSServiceGetAddrInfo reply: remove address=fd23:8690:9d46:e4e2:36c6:6d1e:9783:f960, ttl=0
[INFO]-MDNS----: DNSServiceGetAddrInfo reply: flags=0, host=homeassistant.local., sa_family=10, error=0
[DEBG]-MDNS----: DNSServiceGetAddrInfo ignores address fe80::d149:1811:c053:9672
00:03:04.816 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:0, cmd:PROP_VALUE_IS, key:STREAM_RAW, len:37, rssi:-75 ...
00:03:04.816 [D] P-SpinelDrive-: ... noise:-128, flags:0x0000, channel:15, lqi:255, timestamp:126774461535, rxerr:0
00:03:04.817 [I] MeshForwarder-: Received IPv6 UDP msg, len:56, chksum:8224, ecn:no, from:a2cc7d4541deac83, sec:no, prio:net, rss:-75.0, radio:15.4
00:03:04.817 [I] MeshForwarder-:     src:[fe80:0:0:0:a0cc:7d45:41de:ac83]:19788
00:03:04.817 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:0:2]:19788
00:03:04.817 [I] Mle-----------: Receive Discovery Request (fe80:0:0:0:a0cc:7d45:41de:ac83)
00:03:04.817 [I] Mle-----------: Delay Discovery Response (fe80:0:0:0:a0cc:7d45:41de:ac83)
00:03:04.991 [I] Mle-----------: Send delayed message (fe80:0:0:0:a0cc:7d45:41de:ac83)
00:03:04.992 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:11, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:76, channel:15, maxbackoffs:4, maxretries:15 ...
00:03:04.992 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:03:04.992 [I] Mac-----------: Frame tx failed, error:Abort, len:74, seqnum:150, type:Data, src:8a87b5021e25311a, dst:a2cc7d4541deac83, sec:no, ackreq:yes, radio:trel
00:03:05.001 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:11, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:03:05.001 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:f1b1, ecn:no, to:a2cc7d4541deac83, sec:no, prio:net, radio:all
00:03:05.001 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:19788
00:03:05.001 [I] MeshForwarder-:     dst:[fe80:0:0:0:a0cc:7d45:41de:ac83]:19788
00:03:07.654 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
00:03:07.654 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:12, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:69, channel:15, maxbackoffs:4, maxretries:15 ...
00:03:07.654 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:03:07.664 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:12, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:03:07.664 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:e312, ecn:no, to:0xffff, sec:no, prio:net, radio:all
00:03:07.664 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:19788
00:03:07.664 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:0:1]:19788
00:03:16.377 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:13, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:70, channel:15, maxbackoffs:4, maxretries:15 ...
00:03:16.377 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:03:16.386 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:13, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:03:16.386 [I] MeshForwarder-: Sent IPv6 UDP msg, len:71, chksum:d254, ecn:no, to:0xffff, sec:yes, prio:low, radio:all
00:03:16.386 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:5355
00:03:16.386 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:1:3]:5355
00:03:17.380 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:14, cmd:PROP_VALUE_SET, key:STREAM_RAW, len:70, channel:15, maxbackoffs:4, maxretries:15 ...
00:03:17.380 [D] P-SpinelDrive-: ... csmaCaEnabled:1, isHeaderUpdated:0, isARetx:0, skipAes:0, txDelay:0, txDelayBase:0
00:03:17.390 [D] P-SpinelDrive-: Received spinel frame, flg:0x2, iid:0, tid:14, cmd:PROP_VALUE_IS, key:LAST_STATUS, status:OK
00:03:17.390 [I] MeshForwarder-: Sent IPv6 UDP msg, len:71, chksum:d254, ecn:no, to:0xffff, sec:yes, prio:low, radio:all
00:03:17.390 [I] MeshForwarder-:     src:[fe80:0:0:0:8887:b502:1e25:311a]:5355
00:03:17.390 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:1:3]:5355

I don’t know, but will ask around on Discord to see if anyone else knows how to delete these unused credentials.

What one of the developers told me is that at the moment there is no way to delete these credentials, but is on his list of things to add. I’m also uncertain as to which one of these that iOS uses, but if I had to guess, I would say the first one.

I used my work iPhone and downloaded HA companion App on it. Here, as it was a fresh installation, I clicked on ‘send credentials to phone’. In the Debugging screen I could see only one thread credentials. With that, I could add the Matter device to HA without issues.

Thus, we can conclude, that the issue is due to the multiple Thread Credentials in the iOS Companion App (on my private iPhone).

Do you know if there is a GitHub issue created, as your contact mentioned it is on a list, for further tracking? Otherwise, I would be happy to create one.

I created the following issue on GitHub for further tracking: Can't add Matter device - iOS - multiple Thread credentials in Companion app. Can't select one to be used or delete obsolate ones · Issue #125444 · home-assistant/core · GitHub

I’m encountering the same problem. The HA iOS app always uses the credentials of the Apple network (which is empty, other than a single Homepod Mini), even though that isn’t set as the preferred network in Home Assistant. I can’t join Matter devices to my preferred OTBR network.

Hi @aleco ,
just to ensure it is the same error, when you check Companion App: UI->Settings->Companion App->Debugging->Thread “Active operational data set”.
Do you see multiple credentials?

@hindseb Yes, my Companion app has the thread credentials of my preferred OTBR Thread network and also my (non-preferred) Apple Thread network. It only joins devices to the (non-preferred) Apple Thread network, even if I unplug the Homepod Mini. It never attempts to use the preferred Thread network. I’ve posted the screenshot in the github issue (I’m the user “maia” there).

ok, yep seems like to have the same issue. Let’s see how/when the issue will be fixed.
BTW: I used a different iPhone, with only one thread credential, to set up the matter device. It is not a fix for the issue but it may help you in the interim.

@aleco how do you see which Thread network a device has joined to? I only started playing with Thread for the first time yesterday