Matter-over-Thread commissioning fails (NoAck / SrpServer DNS Drop) — HA Green, Sonoff ZBDongle-E as OTBR, IKEA GRILLPLATS

Title: Matter-over-Thread commissioning fails (NoAck / SrpServer DNS Drop) — HA Green, Sonoff ZBDongle-E as OTBR, IKEA GRILLPLATS

Setup:

  • Home Assistant Green, HAOS 18.1 (started on 17.3, upgraded partway through troubleshooting)
  • Sonoff ZBDongle-E flashed to OpenThread RCP 2.4.4 (via Sonoff dongle flasher add-on), baudrate 460800, hardware flow control off
  • OpenThread Border Router add-on (latest), Beta mode on for Thread 1.4
  • Matter Server add-on (latest)
  • Device: IKEA GRILLPLATS smart plug (Matter over Thread only, no Wi-Fi fallback)
  • Client: iPhone, HA Companion app

Issue: Not able to connect IKEA GRILLPLATS device

Symptom: Commissioning consistently fails. The GRILLPLATS successfully joins the Thread mesh (OTBR log shows RouterTable: Allocate router id), but ~2–3 minutes later the border router can't reach it:

00:05:44.820 [N] MeshForwarder-: Failed to send IPv6 UDP msg, len:96, chksum:bf1d, ecn:no, to:167c16dabc444537, sec:no, error:NoAck, prio:net, radio:15.4
00:05:44.820 [N] MeshForwarder-: src:[fe80:0:0:0:c0a3:6726:1020:ab72]:19788
00:05:44.820 [N] MeshForwarder-: dst:[fe80:0:0:0:147c:16da:bc44:4537]:19788

...followed by RouterTable: Release router id as it drops off. Also seeing:

[W] SrpServer-----: Failed to handle DNS message: Drop

Matter Server log shows either nothing at all (when commissioning via iPhone/Bluetooth) or, when commissioning with a manual code via HA, Discovery timed out / Secure Pairing Failed.

What I've ruled out / tried:

I've worked for hours with Claude to try to figure out how to solve this, but no luck so far. This is what I've tried:

  • Confirmed correct OTBR serial config (device path, 460800 baud, flow control off) — this fixed an earlier separate issue (add-on crashing outright)
  • Confirmed IPv6 is assigned on the HA host (ULA fd... prefix present)
  • Tried Thread channel 15 and 25 (Apple-preferred)
  • Tried with Beta mode on/off (Thread 1.4 / native mDNS)
  • Toggled OTBR firewall on/off
  • Tried 2 different GRILLPLATS units — same behavior on both
  • Successfully paired an unrelated Wi-Fi Matter device (Dreame X50 vacuum) without issue, so Matter Server + iOS commissioning flow works fine for non-Thread devices
  • Suspected the known HAOS 17.2+ "dropped explicit IPv6 forwarding sysctl" regression (#4589) — cat /proc/sys/net/ipv6/conf/all/forwarding returns 0, and OTBR startup log shows Failed to process request#2/#6: No such process, which we believe are its own attempts to set forwarding failing silently
  • Upgraded HAOS 17.3 → 18.0 hoping the "Enable IPv6 on Docker default bridge" changelog item would fix it — forwarding is still 0, same NoAck failures persist
  • Tried setting forwarding manually via sysctl, nsenter (multiple namespace combinations), direct /proc writes, and a shell_command from HA core — all blocked by read-only filesystem or "Operation not permitted"

Question: Any clues on how to solve this? Claude suggests that it's related to IPv6 forwarding on HA Green/HAOS for OTBR, which is apparently a known issue. Is anyone successfully running Matter-over-Thread on HA Green post-17.2 without an external Thread border router? Happy to share full logs if useful.

Try the command:

ha docker options --enable-ipv6=true

in the Terminal

Restart afterwards

Thanks for your reply

I have tried to use the command, but it still doesn't work.

When checking with

ha docker info --raw-json

It says

{"result":"ok","data":"version":"29.5.3","enable_ipv6":true,"mtu":null,"storage":"overlay2","logging":"journald","registries":{}}}

But when checking with

cat /proc/sys/net/ipv6/conf/all/forwarding

it just gives me

0

no matter what I do. It looks like it's not being saved or something?

My understanding is that this means that kernel-wide IPv6 forwarding is still disabled. According to Claude, this is what is causing the issue. I'm not sure.