After several days of head scratching and looking at countless forum topics, I come here in search of wise ideas or a miracle.
A bit of context:
HAOS runs on a VM on my truenas system. I moved the exisiting disks to a new computer to enlarge my NAS capacity. The SSD/volume on which the HAOS VM is running is the exact same as before, settings are untouched apart of the new NIC obviously.
Since this migration, I’ve lost all ability to communicate or re-pair any of my thread/matter devices.
OTBR is running from a ZBT-2 with USB pass-through.
What I’ve tried includes:
reset thread boarder router
deleting the devices and try to pair them again
clear all matter devices from my Iphone settings
unplug/plug back the ZBT-2 including at different USB ports
Looking at the logs, the only bit of info I get is from the OTBR app:
Default: mDNSPlatformSendUDP got error 99 (Cannot assign requested address) sending packet to ff02::fb on interface fe80::2d:82ff:fe69:ad88/vethcac457a/14
This makes me think of some king of IPv6 conflict happening due to the change of motherboard, and thus network card. However I cannot make sense of where to look and what to modify.
My ISP router allows IPv6 by default, there are no VLANs.
In HA, IPv6 is indeed already set on automatic and on the VM, the network interface is set as virtual Io linked to the LAN port used by Truenas. Truenas also has automatic as IPv6 setting. Same as on the previous machine…
Hmmm… not really enough description to say where/what the problem is. BTW the mDNSPlatformSendUDP error is not likely an issue.
is OTBR running or did it fail and stop completely?
Does HAOS have an IPv6 address/prefix other than fe80::? If yes, then does your phone also have the same IPv6 prefix.
Does the Thread Integration see the OTBR? and have it set as preferred?, and set to use the credentials for iOS/Android? If yes, then the problem now is likely that the phone you used for commissioning has stale credentials, because when you reset the OTBR, it changes the credentials that it needs.
in HAOS I see 2 IPv6 addresses, one in fe80 and the other in 2a02. My phone has both IPs in 2a02
Yes thread integrations sees OTBR, it is set as preferred router and the credentials are used by the phone. Every time I reset it I made sure to transfer the credentials again to the phone.
Also maybe handy to know, the gateway and VM host are both on a fe80 prefix.
I am using iOS, also tried it from the iPas but same result.
Since the update of today, I get a new message in the logs of OTB while starting the app:
WARNING: IPv6 routing/forwarding is not enabled! Make sure the Home Assistant host has IPv6 forwarding enabled.
I guess I have a new thing to look for in the truenas settings
Yeah the new update was for this particular warning, but you are running HAOS in a VM, right? I would have thought IPv6 forwarding would have already been enabled…
[UPDATE] Hmmm… something is weird. I just upgraded by OTBR and I get the same warning, yet my Thread devices are still reachable…hmmm…
[UPDATE2] Seems the Thread devices are only reachable from HAOS directly as well as the Matter Server Docker container when forwarding=0 as HAOS has a route to tell it to goto wpan0 directly (which I think doesn’t actually go through the forwarding logic) , but outside HAOS, Thread devices are NOT reachable which would mean a phone trying commission a device would fail. After the fix, I am now able to reach these devices from outside HAOS.
I got some ikea timmerflotte the other day and couldn’t add them was getting error about failed to save thread network credential even after updating HAOS same thing I was thinking it had something to do with new router and network setup but just seen this and run this and now it’s working so thank you for posting that link.
Yeah I got 2 of 3 added then on the 3rd it got the error but redid the cmd and rebooted and had to save credentials to phone to get third one added but all previous devices still worked.
Excuse me for hijacking the conversation, but are having the exact issue you mentioned in your second update - able to controll but not commission new devices since a few days back(prob due to updating). Getting stuck at the “Checking connection to Thread Network” step.
I’m running HA on HA green with ztb-2 and have ipv6 enabled in HA and my router. When pressing “Sync” on my phone I get the green checkmark. But I’m getting the warning in OTBR “WARNING: IPv6 routing/forwarding is not enabled! Make sure the Home Assistant host has IPv6 forwarding enabled”. sysctl net.ipv6.conf.all.forwarding gives zero.
@a_lunatic mentioned the solution if running a docker container, but what is the fix for us running HAOS on HA hardware?
Thanks for this - I spent literally hours wondering why I couldn’t add Thread devices. Running this command and then completing restarting HA did the trick.
used my girlfriend iPhone to commission devices (this phone was never used in the past to pair devices)
first try failed
reset device again
second try worked
Since then, I am able to pair devices normally and with my own phone and tablet as well.
I can’t really explain what exactly was the culprit but I am very happy to be able to enjoy the devices again.
I guess there were some remaining of matter credentials somewhere that was trying to reach the previous NIC and this was reseted doing the procedure above.