This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to reconnect the zigbee coordinator next time?

HI,all

I have tested ZC and ZED to establish network,I found a method zigbee_erase_persistent_storage(bool),when i put true on ZC and put false on ZED, first time they can connect, when restart the ZED cannot connect the ZC,another side ZC put false and ZED put true they can connect successfully.

I want to know:

1,what is the key data to decide there connection?

2,how to get the key data?

3,if i got this key data, can some ZCs and ZEDs establish there own networks as pre configured?

wish your help,thanks!

Parents
  • Hi.

    The feature zigbee_erase_persistent_storage(bool) clears all the NVRAM used by the Zigbee stack, including the NWK frame counter. This has severe consequences in the production. For clearing all the network information data except the frame counter, use the zb_nvram_clear function.

    What do you mean by key data?

    If you use zigbee_erase_persistent_storage(bool), you will have problem with communication due to the counter being reset to zero, as described above. It will then just looks like a "reply attack" (you send packets with the frame-counter from the past).

    3,if i got this key data, can some ZCs and ZEDs establish there own networks as pre configured?

    We don't have the tools to precommission networks at the moment, but you could try to flash the device with --sectorerase, it will not remove network data.

    Best regards,

    Andreas

  • Thanks for your reply!

    The "Key Data" that I mean is the most important data in nvram,which decide the network connection.

    when I use zigbee_erase_persistent_storage(bool) with FALSE on ZED, the ZED can not connect another ZC,so I want to know what data in nvram lead the ZED can not join another ZC's network.

    3,if i got this key data, can some ZCs and ZEDs establish there own networks as pre configured?

    the issue I mean ZED1 join a ZC1's network first when i use zigbee_erase_persistent_storage(bool) with FALSE,and another ZED2 join another ZC2's network, so and more.when they restart,they can join their pre-entered network.So I want find out the "Key Data" to make a new ZC can replace someone ZC and their ZEDs can join this new ZC.

    I don't know what I mentioned are clear?

  • Hi.

    Sorry for the late reply. I need some more time to look into this issue, please be patient :)

    Best regards,

    Andreas

  • Hi again.

    Are you talking about cloning a device?

    Best regards,

    Andreas

  • yes, I want clone a coordinator to replace the old one

  • Hi.

    I'm not sure if it is possible to clone a node in a commissioned Zigbee network, but you can try this:

    1) Download all persistent storage from old coordinator
    2) Upload persistent storage to new coordinator
    3) Make sure the new coordinator has exactly the same long address (function zb_set_long_address )
    4) Make sure the old coordinator is turned off


    But this is a hack and it might not work.

    The normal way of creating a new coordinator would be to create a new network from scratch. If you create a network from scratch you have to decommission all the devices that are previously connected to the network and re-commission them again. You can do this by calling zdo_mgmt_leave_req  (remotetly, or destined to the current 'self' node).

    Best regards,

    Andreas

Reply
  • Hi.

    I'm not sure if it is possible to clone a node in a commissioned Zigbee network, but you can try this:

    1) Download all persistent storage from old coordinator
    2) Upload persistent storage to new coordinator
    3) Make sure the new coordinator has exactly the same long address (function zb_set_long_address )
    4) Make sure the old coordinator is turned off


    But this is a hack and it might not work.

    The normal way of creating a new coordinator would be to create a new network from scratch. If you create a network from scratch you have to decommission all the devices that are previously connected to the network and re-commission them again. You can do this by calling zdo_mgmt_leave_req  (remotetly, or destined to the current 'self' node).

    Best regards,

    Andreas

Children
No Data
Related