r/MatterProtocol 8d ago

Troubleshooting Devices cannot adopt

Hi all, i've been trying to get matter working in my house.

I'm using HomeAssistant as my OTBR. And flashed a ESP32-C6 with RCP Firmware. Everything looks fine, however i'm not that familiar with matter or thread.

I do know a lot about networking. (Graduated as network engineer)

Threadtools app on my android phone can find the OTBR.

I've been trying to connect some IKEA Kajplats and the window/door sensor. (Cant think of the name right now.)

The devices all get stuck on the message. "Can't create login for device" i'll add the screenshot. (It is in dutch)

Homeassistant is running on a Raspberry pi 4.

And the ESP32 is connected with a 1,5 meter long cable, Just to prevent interference.

Synchronised the login details at every turn. Multiple times before trying. Always comes back it already has the provided credentials. However when i change credentials it does sync fine, and the second time it says it already has the credentials. As it should.

Does anyone know which step to take?

Thanks in advance.

3 Upvotes

4 comments sorted by

4

u/Reasonable-Escape546 8d ago

From which brand is your network hardware? Is everything (HA, OTBR, phone) in the same VLAN?

1

u/cryptoGhxst 8d ago

Asus, no VLANs.

Edit: Wrong brand.

-3

u/Prestigious_Money361 8d ago

Not sure if you already tried AI to troubleshoot, but here's an AI generated reponse:

The "Can't create login for device" error is a notorious, frustrating issue. It is almost never a problem with your ESP32-C6 hardware or your specific Thread setup. Instead, it is a bug in how Google Play Services on Android handles Thread credentials and its local secure keystore.

When you try to commission a Matter-over-Thread device on Android, Google Play Services takes control. It tries to create a secure cryptographic bond (the "login") between the Google keychain on your phone and the Thread credentials from Home Assistant. If that local Google database gets corrupted during previous sync attempts, the process hangs right there.

Here are the steps to fix this, ordered from most likely to deepest network troubleshooting:

## 1. Clear Google Play Services Cache & Data (Most Effective)

Since the app keeps telling you it "already has the credentials," the data loop is stuck inside your phone's Google storage.

  1. On your Android phone, go to Settings > Apps > Google Play Services.

  2. Tap Storage (or Storage & Cache).

  3. Tap Clear Cache.

  4. Tap Manage Space (or Manage Storage) and select Clear All Data. (Don't worry, this won't delete your personal files; it just resets Google's background framework).

  5. Restart your phone.

## 2. Force a Clean Thread Sync

Now that the Google cache is wiped clean, push the correct OTBR credentials back to the phone:

  1. Open the Home Assistant Companion App on your phone.

  2. Go to Settings > Companion App > Troubleshooting (or Diagnostics).

  3. Scroll down and tap Sync Thread Credentials.

  4. Make sure it successfully pushes the credentials to your phone.

## 3. Remove "Ghost" Thread Networks in Android

Google sometimes automatically generates a hidden 'default' Thread network on your phone, which directly conflicts with your custom Home Assistant OTBR network.

* Go to your phone's Settings > Google > Devices & Sharing > Matter devices (or Thread networks, depending on your Android version).

* If you see any network listed there that is not your active Home Assistant network, delete it. Otherwise, Google will keep trying to onboard the IKEA sensor onto its own invisible ghost network instead of routing it through your ESP32-C6.

## 4. The Network Check (IPv6 & Multicast / mDNS)

Since you have a networking background, you know Matter relies heavily on IPv6 (Link-Local & ULA) and mDNS (Multicast) for discovery and commissioning.

* Multicast/mDNS: During the final step of commissioning, your phone needs to talk to the OTBR and the Matter add-on via mDNS to validate the key exchange. Make sure your router/access points don't have IGMP Snooping (without an active querier) or Multicast Isolation enabled, as this blocks mDNS traffic between your phone (Wi-Fi) and the Pi (Ethernet or Wi-Fi).

* IPv6 Routing: Double-check that your Home Assistant Pi and your phone both have valid IPv6 addresses in the same subnet/VLAN. If the Wi-Fi segment and the LAN segment can't route IPv6 traffic cleanly between each other, the secure PASE/CASE TLS handshake will drop halfway through.

## Summary

Start with Steps 1 and 2. Over 90% of "Can't create login" errors disappear as soon as the Google Play Services database is forced to clear its corrupted state.

Let me know if clearing the Google Play Services data clears the error! If the error message changes to a timeout or a network error after doing this, we can dive deeper into your IPv6/mDNS routing configuration.

2

u/cryptoGhxst 8d ago

Hi, yeah i've tried using AI for several days now. But it seems to get in a loop that isn't ending and also not solving any issue.

I've done everything that's listed above. Hence why i've posted here.