Unable to bind Zigbee end devices when using softdevice

Hello Nordic team,

I have a Nordic Zigbee application that uses libzboss.a and nrf_radio_driver_softdevice.a , with Nordic working as a coordinator. With this application, I was able to bind Zigbee end devices such as motion sensor, window sensor etc and able to receive data from them.

Later, I added softdevice s140 to my application as I wanted my application to be able to operate in either BLE mode or Zigbee mode. After adding softdevice, I had to change the radio driver to nrf_radio_driver_softdevice.a. In this new application, there is no change in code with respect to Zigbee functionality. However, I am no longer able to bind Zigbee end devices. Could you please let me know if there are any changes to be done when using Softdevice and Nordic is operating as a Zigbee coordinator?

Regards,

Anusha

Parents
  • Hi,

    Judging from the topic of your case it looks like you're trying to create an application in nRF5 SDK for Thread and Zigbee that has multiprotocol with Zigbee and Bluetooth Low Energy. Can you confirm if this is the case?

    Could you also state which SDK you're working with?

    If you're creating a multiprotocol application, I would recommend you to have a look at the following documentation for Multiprotocol support with BLE and at the dynamic multiprotocol sample for Zigbee and BLE. Do note that these links are for nRF5 SDK for Thread and Zigbee v4.2, and there might be some changes if you're working with older SDK versions.

    Kind regards,
    Andreas

  • Hi A Haug,

    Thanks for your response.

    Yes, my application is based on nRF5 SDK for Thread and Zigbee v4.1.0.

    I went through the link: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.2.0%2Fble_154_multiprotocol.html

    and my case is slightly different as it is not switched or dynamic mode. In my application, Nordic can either start in BLE mode or Zigbee mode and once it starts running, it will stay in that protocol mode only. To switch protocols, I perform a restart of Nordic. 

    In BLE mode, the functionality works fine as I can see that bonding to a device works fine, able to perform GATT read and write, perform scanning and advertising. But in Zigbee mode, the functionality seems to have changed as I can no longer bind a Zigbee end device.

    I noticed that both links provided in the above response point to the same page. Could you please provide the second link again?

    Please let me know if you need more details to help in figuring out the possible cause of this behaviour.

    Regards,

    Anusha

  • anusha_14 said:
    I noticed that both links provided in the above response point to the same page. Could you please provide the second link again?

    You're right, I pasted the same link twice. Here is a direct link to the sample for v4.2.0 https://infocenter.nordicsemi.com/topic/sdk_tz_v4.2.0/zigbee_multi_examples.html and for v4.1.0 https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/zigbee_multi_examples.html 

    I will have to spend some more time on looking into the behavior you're describing, but in the meanwhile have a look at the sample and let me know if you're able to extract any information from the sample to fix the issue on your end

    We're currently a bit short staffed on the Zigbee support side, so I'll get back to you with an answer or with a time horizon for when I expect to be able to give you an answer as soon as I have some more information for you (within this working week),

    Kind regards,
    Andreas

  • Hi Andreas,

    Thanks for your response and providing the missed link.

    I went through this link and I don't think all the points mentioned in this page are applicable in my case because there is no switching between protocols and from what I understand from an earlier question posted to Nordic support is that, full radio control is available to whichever protocol is running (in the case where only protocol is active).

    Ref:  Is multiprotocol_802154_config.c required for Zigbee + BLE applications? 

    I will try to figure out the issue while I am waiting for your response.

    Regards,

    Anusha

  • Hi,

    An update from me

    anusha_14 said:
    I went through this link and I don't think all the points mentioned in this page are applicable in my case because there is no switching between protocols and from what I understand from an earlier question posted to Nordic support is that, full radio control is available to whichever protocol is running (in the case where only protocol is active).

    Thank you for reminding me about the previous case for more background information and that we've discussed your project previously. 

    If it is possible it might be easier to redesign parts of your application to be able to use the multiprotocol, but lets investigate this issue first! 

    anusha_14 said:
    In BLE mode, the functionality works fine as I can see that bonding to a device works fine, able to perform GATT read and write, perform scanning and advertising. But in Zigbee mode, the functionality seems to have changed as I can no longer bind a Zigbee end device.

    How far have you gotten in the development? Are you able to for instance do:

    1. Boot up as Zigbee device -> bind ZED -> Everything works as expected -> power cycle
    2. Boot up as BLE device -> perform GATT read and write, scan and andvertise -> everything works as expected -> power cycle
    3. Boot up as Zigbee device -> Binding does not work

    If this is the case, there might be some renmants of the Zigbee device stored in the network that leads for the network to believe that the device is still in the network, and you might have to remove the ZED from the Zigbee network when you power cycle to become a BLE device, so that the network are able to identify the same ZED and reprovision it whenever you power cycle back to a Zigbee device.

    Let me know if this points you in the correct direction and if you have any runtime logs and or Zigbee sniffer traces that you could post here that could indicate what is going on! 

    Kind regards,
    Andreas

Reply
  • Hi,

    An update from me

    anusha_14 said:
    I went through this link and I don't think all the points mentioned in this page are applicable in my case because there is no switching between protocols and from what I understand from an earlier question posted to Nordic support is that, full radio control is available to whichever protocol is running (in the case where only protocol is active).

    Thank you for reminding me about the previous case for more background information and that we've discussed your project previously. 

    If it is possible it might be easier to redesign parts of your application to be able to use the multiprotocol, but lets investigate this issue first! 

    anusha_14 said:
    In BLE mode, the functionality works fine as I can see that bonding to a device works fine, able to perform GATT read and write, perform scanning and advertising. But in Zigbee mode, the functionality seems to have changed as I can no longer bind a Zigbee end device.

    How far have you gotten in the development? Are you able to for instance do:

    1. Boot up as Zigbee device -> bind ZED -> Everything works as expected -> power cycle
    2. Boot up as BLE device -> perform GATT read and write, scan and andvertise -> everything works as expected -> power cycle
    3. Boot up as Zigbee device -> Binding does not work

    If this is the case, there might be some renmants of the Zigbee device stored in the network that leads for the network to believe that the device is still in the network, and you might have to remove the ZED from the Zigbee network when you power cycle to become a BLE device, so that the network are able to identify the same ZED and reprovision it whenever you power cycle back to a Zigbee device.

    Let me know if this points you in the correct direction and if you have any runtime logs and or Zigbee sniffer traces that you could post here that could indicate what is going on! 

    Kind regards,
    Andreas

Children
Related