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

[nRF52840] zigbee ZR does not request beacon when startup

Hi

ZED requests beacon every time when it restarts both case ERASE_PERSISTENT_CONFIG is true or false.

But 

ZR does not request beacon when ERASE_PERSISTENT_CONFIG is false.

It requests beacon when ERASE_PERSISTENT_CONFIG is true.

That means that ZR does static connection configuration when ERASE_PERSISTENT_CONFIG is false ?

(ZR and ZED behaves differently with joining process)

Thanks in advance.

Parents
  • Hi,

    When ERASE_PERSISTENT_CONFIG is set to true, the network data will get erased for each power cycle/reboot. By default is set to ZB_FALSE, so a router can rejoin silently to the network after reset, since it will remember its network information (PAN ID, Extended PAN ID, network address, security key). If set to ZB_TRUE, after reboot the router will forget about the network and starts to join a new one by sending beacon request.

    For ZED the behaviour is a bit different. They have to be 100% sure that they have a parent node, since all traffic from ZED is relayed by its parent, so the rejoining process for ZED will start with a beacon request.

    Best Regards,

    Marjeris

  • Thanks a lot msromero.

    I have another question.

    ZR rejoining silently means that it rejoins to previously joined parent?

    If so, with ZR and ZC (not using ZED), i can make static network (persistent network topology) ?

    1. first ZR(1) join with ZC (with ERASE_PERSISTENT_CONFIG is true)

    ZC ---- ZR(1)

    2. change ZR(1)'s ERASE_PERSISTENT_CONFIG false

    3.  Let another ZR(2) join to ZR(1) wit ERASE_PERSISTENT_CONFIG is true.

    ZR(1) ----- ZR(2)

    4. change ZR(2)'s ERASE_PERSISTENT_CONFIG false

    5. Now 

    ZC --- ZR(1)-----ZR(2)  topology is not changing forever .

    Is it correct ?

  • Hi!

    You don't need to set ERASE_PERSISTENT_CONFIG to true to form a new network. Set ERASE_PERSISTENT_CONFIG set to false (which is the default in the examples) and do a nrfjprog --eraseall to all the nodes before forming the network to erase old network information.  You can do this with both ZR and ZEDs. What I meant with "silent" rejoining was just that the node will rejoin with very little air traffic between the rejoining node and the rest of the network, compare to ZED which will send beacon request as you pointed out. But both ZR and ZEDs will remember their old network information when ERASE_PERSISTENT_CONFIG is set to false.

    For testing this you can just test the light control example out of the box (which has ERASE_PERSISTENT_CONFIG set to ZB_FALSE as default in SDK 3.1) and see in the Wireshark log that when rejoining both the light bulb (ZR) and light switch (ZED) will remember the same network address when rejoining.

    Best Regards,

    Marjeris

Reply
  • Hi!

    You don't need to set ERASE_PERSISTENT_CONFIG to true to form a new network. Set ERASE_PERSISTENT_CONFIG set to false (which is the default in the examples) and do a nrfjprog --eraseall to all the nodes before forming the network to erase old network information.  You can do this with both ZR and ZEDs. What I meant with "silent" rejoining was just that the node will rejoin with very little air traffic between the rejoining node and the rest of the network, compare to ZED which will send beacon request as you pointed out. But both ZR and ZEDs will remember their old network information when ERASE_PERSISTENT_CONFIG is set to false.

    For testing this you can just test the light control example out of the box (which has ERASE_PERSISTENT_CONFIG set to ZB_FALSE as default in SDK 3.1) and see in the Wireshark log that when rejoining both the light bulb (ZR) and light switch (ZED) will remember the same network address when rejoining.

    Best Regards,

    Marjeris

Children
No Data
Related