This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530: How can let Coordinator make unwanted end device leave the network?

Part Number: CC2530

Hello, everyone. I have a problem as following. I have several coordinators and want each of them to connect only with specified 4 end devices.

Say, I want  coordinator A to connect only with specified 4 end devices 1,2,3,4 and coordinator B to connect only end devices 5,6,7,8.

the firmware of A and B is the same and the firmware of end deivce1 to 8 is the same.

let's suppose end device 5  try to join coordinator A instead of B.

in case like this, I use function "NLME_LeaveReq" to make end device 5 leave the network created by coordinator A.

Generally, this scheme works well. But the matter is, when I restart coordinator(s) or end devices, some end devices(which is previously connected) doesn't connect with the coordinator which it's supposed to connect.

(for example, after restarting coordinator A, the end device 3 doesn't connect with coordinator A. even if the end device is connected, it takes a lot of time.)

please help me.

Thanks.

  • Hello Piaozhun,

    Contrary to your post title, it seems that you are having trouble with ZED rejoin as compared to ZED leave requests. How do you process a ZED rejoin event in your zcl[project]_event_loop and what is the returned result of bdb_ZedAttemptRecoverNwk or the BDB_COMMISSIONING_PARENT_LOST case of zcl[project]_ProcessCommissioningStatus? Is NV_RESTORE defined? Provide a sniffer log if possible.

    Regards,
    Ryan
  • thanks for your reply!

    I have never thought that further before and now I am considering what you recommended.

    thanks again!!!