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.

CC2538 Coordinator with OTA firmware update support and preconfigured security keys

Other Parts Discussed in Thread: CC2538, CC2530

I would like to set a network with the following features:

* Routers and end-devices using the Zigbee Beestack from Freescale (MC1322x) (R19 Zigbee specification). These devices have a preconfigured network key and use a  proprietary profile. 

* A coordinator mounted on a CC2538 device.

Furthermore, all the devices in the network should be able to be reprogrammed over the air.

For the moment I have succeed in enabling a secure communication using the Zigbee Mesh stack and the GenericApp project by setting  zgPreConfigKeys = TRUE and zgApsAllowR19Sec = TRUE in the ZGlobals.c file.

However, I have realized that only the HA and the SE stack provide OTA programming support. Thus, I have tried to create a Sample Switch Coordinator project which could be programmable by OTA. In this project I have enabled the above mentioned security options. Regretfully, my freescale devices are not able to associate.  I have done some tests enabling and disabling the TC_LINKKEY_JOIN feature without success.

I have seen some posts discussing about HA security with CC2530 devices and products from other manufacturers; but I could not find a solution that might work for me.

I am quite new working with Texas devices; thus, I would appreciate if someone can provide me a hint on how to support OTA programming features and the security requirements I need for being backwards compatible with the rest of devices. 

Regards

 

  • ZStack uses the ZigBee OTA Update protocol to do over the air update. And you are correct, this is defined in the ZigBee HA and SE profiles. There is no "manufacturer specific profile OTA" mechanism defined.

    The best approach would be to use the HA SampleSwitch application, as you have, but set the security settings the same as you have previously. So you are running the HA profile with pre-configured keys. You are probably best to have just OTA on a HA endpoint (but with the stack configured not to use HA security), and you manufacturer specific commands on another endpoint. The OTA end point should be registered with ZCL (as in the SampleSwitch application), so incoming packages for this endpoint will be forwarded to the ZCL layer and processed before passing to the application. The Sample Switch application registers callbacks and call functions in from the ZCL to perform the OTA update.

    However please be aware that the TI OTA code can not be re-used/cut and pasted from TI stack to Freescale devices. The code contained in ZStack is covered by the TI EULA and can not be run on a none TI device. So the ZigBee OTA functionality on the Freescale EndDevices/Routers must come from Freescales or implemented from scratch without any TI code by you self or a third party. Alternatively you could use TI devices for EndDevices/Routers and get the OTA functionality on all devices for free.

    If using Freescale EndDevices/Routers is a solid requirement, then it may be easier to come up with your own proprietary OTA, where you can re-use the same code on TI and Freescale devices (as you will own it) and re-use the bootloader and part of HA OTA code that writes to flash for the TI devices.

    Regards,
    TC.
  • Thanks for the reply.

    The point is that I have tried to do what you suggested; i.e. departing  from the Sample Switch application but applying my previous security configuration (preconfigured security keys, R19 support). But I did not succeed.in establishing a communication 

    I am not pretending to reuse the code for Freescale devices; but to verify that I can interoperate between TI and my old Freescale routers/ endevices and that I can build an hybrid and stable network where I can have Routers/Coordinators from both manufacturers working together. I do not need to implement OTA update on Freescale, since I have the functionalitty already; but I would need a way to OTA update the new TI devices (for the moment, with coordinator capabilities) .