Matter app development

Hello,

i;m developing a matter over thread application on a Seeed board XIAO nRF54L15.

Currently the border router is set up on a Nrf52840 Dongle connected to a Rapberry Pi5 running Home Assistant.

The thread network is working fine and has some sensor based on NRf52840 (built without factory data support and they get commissioned into matter fabric without any issues.)

When I build and run the matter thermostat in the sample folder it get's commissioned onto thread but NOT on matter fabric.

..........................................................

(SecureChannel:StandaloneAck) (B:34)
D: 143742 [IN]UDP Message Received packet nb : 30 SrcAddr : fd3d:989b:60ee:1:eaa0:2cf7:ceca:1913[36303] DestAddr : fd3d:989b:60ee:1:131:f0ef:d087:38cc[5540] Payload Length 65
D: 143759 [IN]UDP Message Received packet nb : 31 SrcAddr : fd3d:989b:60ee:1:eaa0:2cf7:ceca:1913[36303] DestAddr : fd3d:989b:60ee:1:131:f0ef:d087:38cc[5540] Payload Length 34
I: 143775 [EM]>>> [E:27312r S:17799 M:64468312] (S) Msg RX from 0:FFFFFFFB00000000 [0000] to 0000000000000000 --- Type 0001:08 (IM:InvokeCommandRequest) (B:65)
I: 143789 [FS]GeneralCommissioning: Received ArmFailSafe (0s)
I: 143795 [FS]Fail-safe timer expired
I: 143799 [EM]<<< [E:27312r S:17799 M:238238144 (Ack:64468312)] (S) Msg TX from 0000000000000000 to 0:FFFFFFFB00000000 [0000] [UDP:[fd3d:989b:60ee:1:eaa0:2cf7:ceca:1913]:36303] --- Type 0001:09 (IM:InvokeCommandResponse) (B:70)
I: 143819 [EM]??1 [E:27312r S:17799 M:238238144] (S) Msg Retransmission to 0:FFFFFFFB00000000 scheduled for 2340ms from now [State:Active II:500 AI:300 AT:4000]
I: 143834 [EM]>>> [E:27311r S:17799 M:64468313 (Ack:238238143)] (S) Msg RX from 0:FFFFFFFB00000000 [0000] to 0000000000000000 --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
E: 143849 [SVR]Failsafe timer expired
D: 143853 [IN]SecureSession[0x2000ec88]: MarkForEviction Type:1 LSID:17799
I: 143859 [SC]SecureSession[0x2000ec88, LSID:17799]: State change 'kActive' --> 'kPendingEviction'
D: 143868 [IN]SecureSession[0x2000ec88]: Released - Type:1 LSID:17799
E: 143875 [SVR]Commissioning failed (attempt 1): 32
D: 143879 [IN]SecureSession[0x2000ec88]: Allocated Type:1 LSID:17800
I: 143887 [DIS]Updating services using commissioning mode 2
D: 143893 [DL]Using Thread extended MAC for hostname.
I: 143897 [DIS]Advertise operational node F26E0A7B3A2D658C-231C1B02605E41C4
D: 143904 [DL]Using Thread extended MAC for hostname.
I: 143909 [DIS]Advertise commission parameter vendorID=65521 productID=32781 discriminator=1361/05 cm=2 cp=0
I: 143919 [DL]advertising srp service: 3DF2A666EA541FCD._matterc._udp
E: 143925 [ZCL]OpCreds: Got FailSafeTimerExpired
E: 143929 [ZCL]OpCreds: Proceeding to FailSafeCleanup on fail-safe expiry!
I: 143936 [TS]Pending Last Known Good Time: 2025-11-14T00:00:00
I: 143941 [TS]Previous Last Known Good Time: 2025-11-14T00:00:00
I: 143947 [TS]Reverted Last Known Good Time to previous value
E: 143953 [DL]Long dispatch time: 104 ms, for event type 32784
I: 143958 [FS]Fail-safe cleanly disarmed
D: 145331 [DL]SRP update succeeded

If i build the same sample for nRF52840DK it get comissioned onto thread and matter fabric.

What is causing this behavior ?

Is this because of the certificate ?

Is there a special way to include test certificates into the build ?

Please point me in the right direction,

  • Hello Marte and thank you for your support.

    I was having multiple issues at the same time and I will leave this here for the people running into same issues. So after 2 weeks and about 300+ builds / flash of different configurations I have managed to solve them.

    1. First error - the matter commissioning error [FS]GeneralCommissioning: Received ArmFailSafe (0s) was because of ZAP tool. On editing the *.zap file the tool initialized some fields to null values and the one that was causing that error was Breadcrumb set to null in General Commissionig.  Conclusion: don't trust the tools  - check the files before and after editing for unwanted changes

    2. There was some "stange values" internal capacitors for lfxo and hfxo on the board files

    3. This is the one made the mcu fail on boot with E: 1056 [DL]Failed to parse factory data and is the strangest one. 

    For all the "newcomers" they should know about multimple comfigurations spread across multiple file types. This will cause a lot of confusion.

    I' m talking here about, for example, SB_CONFIG_MATTER_FACTORY_DATA_GENERATE , config , MATTER_FACTORY_DATA_GENERATE, DSB_CONFIG_MATTER_FACTORY_DATA_GENERATE - they all do the same thing but are located in different files / commands:  (DSB_CONFIG_MATTER_FACTORY_DATA_GENERATE  - argument to west, SB_CONFIG_MATTER_FACTORY_DATA_GENERATE in sysbuild.conf, MATTER_FACTORY_DATA_GENERATE in Kconfig.sysbuild for matter samples).

    The strangest thing was for me that all started to work after i removed CONFIG_CHIP_FACTORY_DATA=y . I can't say I understand why !

  • Hi,

    Great to hear that you solved it, and thank you for sharing the problems you encountered and how you resolved them!

    Best regards,
    Marte

Related