cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB55 Zigbee RFD firmware doesn't connect to network

JSpra.2
Associate

I'm trying to use the STM32WB example project Zigbee_OnOff_Client_SED on the P-NUCLEO-WB55.Nucleo. Unfortunately, as soon as I load the Zigbee RFD firmware on the coprocessor of my SED the device isn't able to join the network created by the coordinator. If I use the FFD firmware on the SED instead, the application works as expected. I know from debugging that the device loops on `APP_ZIGBEE_NwkForm()`.

6 REPLIES 6
Remi QUINTIN
ST Employee

This is strange as SED (Sleepy end device) example is meant to work with an RDF (reduced-function device).

This example has been fully tested using the WB FW v1.12.

What WB FW version are you using?

At the opposite, if you are using the SED in dynamic mode, it is possible to get such behavior => OK in FFD (full-function devices) mode but KO in RFD mode.

Remi QUINTIN
ST Employee

A log file may help. The low power mode is activated after the join. So this behavior in RFD mode should not be different from the one expected in FFD mode.

JSpra.2
Associate

I'm using the v1.12.1 FW, and I think I've tested the v1.12.0 FW as well (I'm not 100% sure which of the older versions I've tested).

Not entirely sure how to generate a log file (some pointers for this would be welcomed). All I can say is that the network join doesn't work. In the meantime I also contacted support directly. The response there was more or less "thanks for reporting, use 1.11.1 in the meantime".

TThan
Associate III

Sorry for bringing this old thread back to the live, but I experienced almost the same issue as the thread opener.

Using STM32WBxxx FW 1.18.0 my SED was not able to join the network with neither of the wireless stacks (FFD or RFD).

I found the reason: I forced my network to use channel 11 for some reasons. But the original channel from the example was 13. When switching back to channel 13 everything works fine again.

 

This seems to be a very strange error in the wireless stack and I will examine it in more depth later. But maybe this finiding helps othes?

Sorry again, but after some more experiments my set-up is not working again. Switching channles does not help at all any more. So I think my last finding is wrong and it was just by accident, that it worked. Maybe some uninitialized memory areas?

 

Update:

Looks like it is a matter of signaling strength. When I bring the coordinator and the end device close together (about 10 cm) it works. And as soon as they are further apart (> 20 cm) the end-device reports status 0xca (No Network Found) when trying to join.

Looks like I have to play around with the SMPS and RF power settings of my devices. Both of which are STM32WB5MMG modules.

Regards

  Thomas

Hello @TThan,

It seems that you are facing a signal strength issue that leads to a non-successful join as the end device is supposed to only select parent with a good signal quality ( beacon request cost=3 or lower).

To disable this check you need to activate the flag ZB_BDB_FLAG_IGNORE_COST_DURING_JOIN.

Please find the steps to follow in this post.

Best regards,

Ouadi

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
TThan
Associate III

Hello @Ouadi ,

thank you very much for this helpful insight. I am sure this will help to improve the stability of my application.

 

I also increased the SMPS output voltage of the coordinator module from the default 1.4V to the maximum 1.9V. This helps to strengthen the signal, too.

 

Thank you

  Thomas