Matter-over-Thread device joins Thread but iOS pairing fails and Matter Server receives no commissioning request

Hi,

I am trying to commission a Matter-over-Thread lamp with Home Assistant, but the process consistently gets stuck at “Setting Up” and eventually fails with:

  • “Pairing accessory failed”

  • “Home couldn’t connect to this accessory”

The latest logs suggest that the accessory successfully joins the Thread network, but the Matter commissioning request never reaches Home Assistant’s Matter Server.

Environment

  • Home Assistant OS 18.3

  • Home Assistant running as a VM on Proxmox

  • Home Assistant SkyConnect v1.0

The SkyConnect is passed through directly to the HAOS VM.

Network topology

Home Assistant and the phone are on the same 192.168.1.0/24 LAN.

The main router does not provide DHCPv6. I am not sure whether that matters here, although my understanding is that Matter-over-Thread should not require DHCPv6.
I also use a reverse proxy for remote Home Assistant access.

OTBR startup

The current SkyConnect initializes successfully:

Radio URL: spinel+hdlc+uart:///dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_9684436a...-if00-port0?uart-baudrate=460800&uart-flow-control

Mle-----------: Role disabled -> detached
Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
RouterTable---: Allocate router id 48
Mle-----------: RLOC16 fffe -> c000
Mle-----------: Role detached -> leader
BackboneAgent: Backbone Router becomes Primary!

OTBR remains running and the SkyConnect does not disconnect during the latest pairing attempt.

Latest commissioning attempt

The phone first connects to the lamp, then remains on “Setting Up” for several minutes. OTBR records:

00:04:58.368 [N] RouterTable---: Allocate router id 31

This appears to indicate that the lamp joined the Thread network and was allocated a router ID.

About 3.5 minutes later, OTBR records three failed transmissions:

00:08:30.032 [N] MeshForwarder-: Failed to send IPv6 UDP msg, len:96, chksum:2ebf, ecn:no, to:4648f38cade3069f, sec:no, error:NoAck, prio:net, radio:15.4
00:08:30.032 [N] MeshForwarder-: src:[fe80:0:0:0:1c55:15e0:ab35:cc4f]:19788
00:08:30.032 [N] MeshForwarder-: dst:[fe80:0:0:0:4448:f38c:ade3:69f]:19788

00:08:31.183 [N] MeshForwarder-: Failed to send IPv6 UDP msg, len:96, chksum:9842, ecn:no, to:4648f38cade3069f, sec:no, error:NoAck, prio:net, radio:15.4

00:08:31.582 [N] MeshForwarder-: Failed to send IPv6 UDP msg, len:96, chksum:ea2d, ecn:no, to:4648f38cade3069f, sec:no, error:NoAck, prio:net, radio:15.4

The iPhone then reports that pairing failed.

Matter Server observations

Matter Server starts normally:

Using 'enp6s18' as primary network interface
Matter Controller started
Found 0 nodes
WebSocket server start_listening. Returned 0 nodes

Any help interpreting this sequence would be appreciated!