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.

TI-15.4-STACK-GATEWAY-LINUX-SDK: dual device short addresses after disassociate and joining new device.

Part Number: TI-15.4-STACK-GATEWAY-LINUX-SDK

Hi,

Currently we have an issue with dissasociate.

When we remove a device from the collector with the disassociate command, a new device that joins can have an overlapping short address.

Example, when you have two devices and remove the first one. Then join a new device, we end up with 2 devices with 0x2 as short address.

This messes up the device actuations.

  • Version we are running is TI-15-4-STACK-GATEWAY-LINUX-SDK_4.10.00.06

  • Hi Jorick,

    Are you using beacon enabled mode?

  • Hi Marie,

    No using non-beacon mode.

    Regards, Jorick

  • Hi Jorick,

    Sorry for the late answer.

    When you disassociate a device it should be completely removed from the NV memory of the collector device. If you re-associate the same device it should receive a new short address. 

    1. Can you explain exactly how you disassociate the node?

    2. Where are you seeing the duplicate short addresses? E.g. the browser window frontend

  • Marie H said:

    Hi Jorick,

    Sorry for the late answer.

    When you disassociate a device it should be completely removed from the NV memory of the collector device. If you re-associate the same device it should receive a new short address. 

    1. Can you explain exactly how you disassociate the node?

    2. Where are you seeing the duplicate short addresses? E.g. the browser window frontend

    NP

    That's what I think should happen, for the NV entry to be cleared I have to restart the collector process by the way (linux).

    1. We send a mqtt message where we send the device mac address, it then looks it up in the device index and gets the shortaddress. It then uses that to send a "cmdIds.RMV_DEVICE_REQ" with the proper id to the appserver. The collector then processes that to disassociate the device with appsrv_processRemoveDeviceReq, that part we didn't change.

    It removes it correctly and the device goes into disassociated mode like intended. We can then pair it again after restarting the collector, if I don't restart the collector it is still in the devices list and gets reassociated after a device restet. When I restart the collector I have to enable Join and it pairs again. But with an duplicated short id.

    2. No, I get these from the gateway when I toggle permitJoin. We don't use a browser frontend, only mqtt. Also when I toggle the led on the second device through mqtt, the first one toggles.

  • Hi Jorick,

    As far as I understand the appsrv_processRemoveDeviceReq() is used when a sensor wishes to disassociate. Can you try calling Cllc_removeDevice() instead?