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.

Zigbee IEEE MAC unique 64 bit extended address

Other Parts Discussed in Thread: CC2538, CC2531

Hi all,

I am using Device_annce cluster to get from coordinator to get end device 64bit unique IEEE extended address.But for all the devices i am getting same IEEE 64bit unique address.

typedef struct
{
uint16 nwkAddr;
uint8 extAddr[Z_EXTADDR_LEN];
uint8 capabilities;
} ZDO_DeviceAnnce_t;

this structure gets the details of end device joined to coordinator.

please explain that the above "extaddr" is unique 64 bit IEEE address or 64 bit address used for PAN ID conflict.

Also i m getting different values for network address(nwkaddr) and pan id.So are they different.

Thanks in advance

Amit Kumar

  • Every device has an unique IEEE address. How do you get end node announcement in your application?
  • /*Coordinator program(cc2538)*/


    ZDO_DeviceAnnce_t *device_annce_data;
    uint8 *extaddr_device;


    if ( events & SYS_EVENT_MSG )
    {
    while ( (MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( zb_coordinator_task_id )) )
    {
    switch ( MSGpkt->hdr.event )
    {
    #ifdef ZCL_EZMODE
    case ZDO_CB_MSG:
    {

    zdoIncomingMsg_t *pMsg =(zdoIncomingMsg_t *) MSGpkt;
    if ( pMsg->clusterID == Device_annce )
    {
    ZDO_ParseDeviceAnnce( pMsg,device_annce_data);
    extaddr_device= device_annce_data->extaddr; //from here we are getting end device extaddr to our coordinator
    }

    But the address we are getting is not the IEEE MAC address of the end device.All the devices are showing same address in coordinator.This address is used during pan id conflict.
  • You should register Device_annce by using "ZDO_RegisterForZDOMsg(task_id, Device_annce);" in your init function and process "case Device_annce:", in XXX_ProcessZDOMsgs().
  • Hi Y.Chen,

    I did the same way you suggested. I am getting a 64 bit address but it is not the mac address of the end device and the 64 bit address i am getting is same for all the end devices in the network. So i am confused that whether it is mac address or the some other 64 bit address used for pan id conflict.

    Thanks
    Amit Kumar
  • There must be something wrong. I suggest you using Ubiqua Packet Analyzer to check over the air end node announcement message.
  • Hi Y.Chen,

    Ubiqua packet sniffer is not working on my cc2538(it is not detecting the mcu devices).So is there any other test tool for packet analysis.

    Thanks
    Amit Kumar
  • As I know, there is no sniffer tool uses CC2538. You have to buy a CC2531 USB dongle.