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.
I have our own ZED and our own ZR. And I have TI ZR (CC2652 LaunchPad) and TI ZC which is TI Z-Stack Linux Gateway run on x86 PC using CC2652 LaunchPad as znp.
To test our own ZED join via TI ZR to ZC is successfully. To permit join, I can use either by pressing ZR BTN-1 to start commissioning (Case 1) or start permit join from ZC.
To test our own ZED via our own ZR to ZC is failed when I start permit join from our own ZR. (Case 2)
But, to test out own ZED via our own ZR to ZC becomes OK when I start permit join from ZC. (Case 3)
I found Association Permit bit is true for both ZR and ZC in Case 1 & Case 3. But only ZR's Association Permit bit is true for Case 2.
Attachment 20220527_417_ZED_ZR_passed.zip is for Case 1, and 20220527_337_ZED_ZR_failed.zip is for Case 2.
My questions are:
1. To start commissioning step in TI ZR seems set permit join not for itself but for all devices. Where is the source code in SDK example and related spec?
2. For ZED to join, does it need to set the permit join to on for all devices on the path (> ZR > ZR > ... > ZC)? Where is the related spec?
20220527_417_ZED_ZR_passed.zip20220527_337_ZED_ZR_failed.zip
Regards,
Peter.
1.I suppose you should use Zstackapi_ZdoMgmtPermitJoinReq on ZR to broadcast permit join enable to all of ZRs and ZC to make them enable permit join too.
2. I am not sure if this is specifically described in Zigbee specification. However, it's obvious that coordinator (acts as trust center) should enable permit join at the same time otherwise you won't be able to get device authenticated .
Hi YiKai,
1. I use TI simplelink_cc13x2_26x2_sdk_5_20_00_52 example (zr_temperaturesensor) code and built it for TI ZR to test. I found the example code use API Zstackapi_bdbStartCommissioningReq API only. That is why I am asking. I cannot find Zstackapi_ZdoMgmtPermitJoinReq API in example source code and TI ZR seems did somewhere (so ZC Association Permit bit is true at the same time) but I don't know.
2. Can you comment more on "TC should enable permit join at the same time otherwise you won't be able to get device authenticated"? Thanks.
Regards,
Peter.
1. I don't remember TI provides example code for Zstackapi_ZdoMgmtPermitJoinReq but you can refer to https://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/3.10.01.11/exports/docs/zigbee/doxygen/zigbee/html/zstackapi_8c.html#a44bf2b3c73f68a0045616b7b7c8388ed to get some details to use it.
2. Try to refer to https://research.kudelskisecurity.com/2017/11/08/zigbee-security-basics-part-2/
Hi Peter,
Inside the Z-Stack API Guide you will find a detailed description for Zstackapi_ZdoMgmtPermitJoinReq. The Z-Stack Monitor and Test API also covers the ZDO_MGMT_PERMIT_JOIN_REQ command. Starting BDB commissioning with the BDB_COMMISSIONING_NWK_STEERING parameter will enable permit join on the local device.
You can get a copy of the Zigbee PRO R22 2017 Specification (R21 2015 here) from the CSA or review the Z-Stack Overview section of the Z-Stack User's Guide.
Regards,
Ryan
Hi Ryan,
You mentioned: " Starting BDB commissioning with the BDB_COMMISSIONING_NWK_STEERING parameter will enable permit join on the local device." As my observation is not only ZR (the local device) is permit join enabled, but also ZC is permit join enabled. My question is: Is BDB_COMMISSIONING_NWK_STEERING just like NWK_PERMIT_JOIN_TYPE_T__PERMIT_NETWORK used in Z-Stack Linux Gateway that not only for local device but also for all devices?
Regards,
Peter,
Hi Ryan,
If my understanding is correct, question 1 is clarified from the Figure 61. Network Steering Procedure for a Node On a Network of the Z-Stack Overview section of the Z-Stack User's Guide,
As for question 2, I take it as fact now. And will investigate later when I have time. Thanks.
Regards,
Peter.