"Thread border router required" with Eve and Matter

Maybe to recap (sorry I often run out of time to go back through the Thread to figure out what the state of things are), is that

  • You have a device on an Apple Home Thread network and you are trying to use HA Matter to add this device.
  • The Matter log says during commissioning it is trying to reach a device for commissioning that has ip6 address fd9c:b44b:422f:0:8f13:c397:d8b:78a5 but the Matter server can’t reach it, so the commissioning fails.
  • OTBR logs says it is getting routes advertisements from 3 routers
    • Received Router Advertisement from fe80:0:0:0:3e7c:3fff:fee4:9e80 on infra netif 2
    • Received Router Advertisement from fe80:0:0:0:14e4:bea2:c94e:8fdf on infra netif 2
    • The 3rd router’s Router Advertisement does not contain routes (only PIO), so we can ignore it
  • Looking at various places in the log, it is the second router that is advertising the route of interest
    • Processing RIO (fd9c:b44b:422f:0::/64, 1800 seconds)
  • Sometime later the OTBR is sending Neighbor Solicitations to these two routers, and neither are responding and it removes the route of interest:
    • No response to all Neighbor Solicitations attempts from router fe80:0:0:0:14e4:bea2:c94e:8fdf.
      ExternalRoute fd9c:b44b:422f:0::/64 - State: Added -> NoEntry
    • No response to all Neighbor Solicitations attempts from router fe80:0:0:0:d9f1:8d3a:a4e1:628a

So the question (I think) is why is the router (most likely the Apple TBR) whose LLA is fe80:0:0:0:14e4:bea2:c94e:8fdf dropping out and reappearing?

My first thought would be to go to a different linux machine on the same LAN and ping that address to see if there are any drop outs. For Ubuntu:
$ ping -6 -D -i 10 fe80:0:0:0:14e4:bea2:c94e:8fdf -I <Interface-name>
Since this is a link local address, the ping command requires you specify which interface to send the ping out over, for example eth0.
This should ping the offending router every 10 secs and provide a timestamp. I would say check it after several minutes to see if intervals were skipped.

If this looks ok, then I would go into your HA probably any shell will do and try pinging that same link local address periodically. My HAOS’s ping command doesn’t appear to have a lot of bells and whistles, the -D -i flags don’t seem to be supported and using then provides no output (even for failed pings)…which can be confusing because a positive ping also has no output, whereas a failed ping does.