cancel
Showing results for 
Search instead for 
Did you mean: 

stm32wba54 no respond in end device mode with stm32cubeMx

Romaszewski
Associate II

Hello,

I work on a simple config  with stm32CubeMX with 2 endpoints on stm32wba54kgu6,

Endpoint 1 with cluster on/off receiving command client

Endpoint 2 running as cluster temperature server.

I use ZigbeetoMqtt coordinator.

When i use router mode, i can discuss with stm32wba54 and it's run well.

When i use end device mode, no answer. (tried with FFD and RFD)

in 2 case, the join and interview is ok.

Strange ??

It's ok with this

Capture d'écran 2024-06-08 183635.png

And no respond at all with this (include basic cluster)

Capture d'écran 2024-06-08 184848.png

5 REPLIES 5
Ouadi
ST Employee

Hi @Romaszewski,

Is there any filter on the Coordinator side ? Could you please share your Wireshark logs to further analyze this case ?

Regards,

Ouadi

Romaszewski
Associate II

Ok, I continue to try.

I must install Wireshark and i come back to you in few days. 

I try also a module with stm32wb55cgu6, esp32c6 and esp32h2 in same condition with zigbee2mqtt.

It's better to compare with different solutions and with WireShark if needed. 

I come back with results.

Romaszewski
Associate II

Sorry for the delay of my answer

I come back with some informations.

I tested endpoint esp32-c6 with zigbee2mqtt, no problem...

I tested router mode with stm32wba54kgu with zigbee2mqtt, no problem... (shark file joined)

I tested endpoint mode with stm32wba54kgu with zigbee2mqtt,no answer after join. (shark file joined)

in file after join, i try to read attribute in basic cluster on endpoint 1 and read attribute in temperature cluster on endpoint 2.

no filter in coordinator side.

Thanks in advance

Ouadi
ST Employee

Hi,

Thanks for your feedback.

Looking at Wireshark capture for End device configuration, it seems that the device goes to sleep mode after the join and the Timeout negotiation, in this case, the End device will not handle any Read command until it wakes up again and sends the poll data request.

Actually, End devices are intended to be sleepy: RxOnWhenIdle=false, Otherwise it is more practical to make the device a router as the Rx is always ON. 

For Sleepy end devices such a Temperature sensor, the measured values is sent over reporting attribute during the poll timeout, no need to send read request which increases the consumption. 

Best regards,

Ouadi

I understand your answer.
Actually Stm32CubeMx does not configure correctly because when I select "End Device", it automatically configures in sleepy mode with timeout and Reduced Function Device, while these choices do not appear in the configuration menu. This can cause confusion for users.

Can you inform the team of this problem ?

Some EndPoint application need no sleepy mode with use of RFD library for minimize the flash space used. 

If i add this code in app_zigbee_endpoint.c, the component run correctly now :

 

modification endpoint code.png