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

[nrf52840 + zigbee] If zigbee_erase_persistent_storage is ZB_FALSE , network is always open ?

Hi,

If zigbee_erase_persistent_storage is ZB_TRUE at coordinator, only commission within 3 minutes is accepted.

If zigbee_erase_persistent_storage is ZB_FALSE, any ZED can join to the network all the time.

Is Network  always open when zigbee_erase_persistent_storage is ZB_FALSE?

Thanks.

Parents
  • Hello,

    zigbee_erase_persistent_storage is used to decide whether to use the old network keys or to start up as a new device. I don't think it matters for the coordinator whether it is starting with new or old network keys on how long the network is open. Have you tested it with an unmodified coordinator example and found that they behave differently?

    Either way, it should be possible to overrule the behavior using zb_zdo_mgmt_permit_joining_req(), which has an input variable permit_duration. You can set it to however long you want to allow new devices to join. I believe you can set it to 0 to close the joining window, or you can call it whenever to start a new period. 

    I believe that bdb_start_top_level_commissioning() also starts the network steering, with a default value of 3 minutes, which is probably what you are seeing. 

  • Hi.

    The problem that i have is from zigbee_erase_persistent_storage usage.

    I flashed program one time and change the zigbee_erase_persistent_storage flag(ZB_TRUE and ZB_FALSE) by

    cli from uart.

    First call with ZB_TRUE and next with ZB_FALSE makes the coordinator network always open.

    (This is verified by msromero).

    Now i want to make coordinator initial state by erase some area of flash.

    zigbee_erase_persistent_storage can not do.

    Do you know what API can make coordinator as fresh state (First time programed and first boot time) ?

Reply
  • Hi.

    The problem that i have is from zigbee_erase_persistent_storage usage.

    I flashed program one time and change the zigbee_erase_persistent_storage flag(ZB_TRUE and ZB_FALSE) by

    cli from uart.

    First call with ZB_TRUE and next with ZB_FALSE makes the coordinator network always open.

    (This is verified by msromero).

    Now i want to make coordinator initial state by erase some area of flash.

    zigbee_erase_persistent_storage can not do.

    Do you know what API can make coordinator as fresh state (First time programed and first boot time) ?

Children
Related