JohnD
December 31, 2025, 8:55am
2
This may be the cause of your problem:
Link-Local vs. GUA vs. ULA
Thread strictly relies on IPv6 , because only the 6LoWPAN standard compresses protocol headers efficiently enough to save bandwidth, and enables robust mesh routing without vulnerable DHCP servers or NAT barriers through serverless autoconfiguration (SLAAC). In other words: Thread only works via IPv6 addresses and not via IPv4.
However, it is crucial to understand that IPv6 uses different address types with different ranges (scopes), which has concrete consequences for data exchange across network boundaries.
Here are the three IPv6 address types that play a role:
Link-Local (fe80::): Every device generates this address itself immediately after powering on. It is strictly limited to the physical network segment and is not forwarded by routers. Purpose: Initialization & emergency communication within the same room.
GUA (2xxx::): The Global Unicast Address is usually assigned dynamically by the provider. It is globally unique, publicly routable, and enables communication across the entire Internet. Purpose: Communication with the Internet.
ULA (fdxx::): The Unique Local Address is the stable, internal counterpart. The router specifies the network prefix, and the devices generate their own addresses (SLAAC). It is routable throughout the entire home network but not accessible from the Internet. Purpose: Stable communication within the home network, independent of the Internet provider.
What does this have to do with Matter-over-Thread and Matter-over-Wi-Fi? A router that sees a packet with a Link-Local address (fe80::) must discard it if it wants to leave the network. A Thread network is physically a separate subnet, distinct from the WLAN. Therefore, only ULA or GUA addresses work for communication between LAN/WAN and the sensor (Thread), as these are routable. Matter-over-Wi-Fi also works with Link-Local, since both devices are located in the same WLAN segment.
This is where the Primary Thread Border Router comes into play: It receives the ULA/GUA network prefix from the main router and distributes it into the Thread network. Only in this way does every Thread device receive an address that is reachable from the LAN.
The Problem: Many providers do not assign fixed IPs; the GUA prefix changes regularly (forced reconnection, restart). This change often leads to device discovery (mDNS/Discovery) breaking off or routes becoming temporarily invalid. The result: devices do not respond (“No Response”).
If possible, configure your internet router to use a self-assigned IPv6 prefix (ULA) rather than the IPv6 prefix used by your internet provider (GUA) in your home network.
1 Like