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 Zstack End Device Association, doesn't see broadcast beacon

Other Parts Discussed in Thread: CC2538, Z-STACK

Hello,

I'm hoping someone can point me in the right direction to debug an issue I'm having with a CC2538 trying to join a zigbee network. I am using Z-Stack 1.2.0 Home Automation. I am building off the Sample Light demo with my own application task. I have NV_INIT, NV_RESTORE , and xHOLD_AUTO_START in my preprocessor defines. As I understand it, this will set the ZDApp task to manage the network, and to restore the network from NV memory on boot if their are valid settings stored. This way I do not have to use ZDOInitDevice in my application. I am trying to start the network with ZDApp_NetworkInit().

What I am seeing on the sniffer/network capture after I call ZDApp_NetworkInit(0) is a Beacon Request go out from the CC2538, and a beacon response come back from the co-ordinator. In ZDO_NetworkDiscoveryConfirmCB however, the returned status is 0xEA or MAC_NO_BEACON. Permit join is enabled on the co-ordinator. I have tried adjusting the scan duration.

I'm trying to find some ways to debug this further. The really odd thing is that I have a capture of the CC2538 successfully joining using this code base, but have not been able to do it again. Other devices are able to join the co-ordinator and I have tested with another known working co-ordinator.

Can someone suggest where I can look to figure this out?

 

  • magyarm said:
    I am trying to start the network with ZDApp_NetworkInit().

    Are you making an call to this in your application? With these you should not need to do anything in the application, it should all be handled by the ZDO.

    What is the distance between the devices? If the Coord is using a PA/LNA and there is not one on the router then it is possible that the Coord hears the Beacon Request and sends the Beacon. This may also be the case over a short distance if you have a bad antenna. What HW are you using?

    Also if you can attach a packet trace that would be useful.

    Regards, TC.

  • I am making a call to ZDApp_NetworkInit(0) in my join function. I send a serial command to start the join process.

    The devices are within a few inches of each other. I am using an Ember EM357 dev board as the co-ordinator and the CC2538EM attached to a smartRF06 evaluation board. I tried the reverse configuration yesterday, EM357 as end device and CC2538 as co-ordinator, and was able to form and join the network.  So it must be come end device configuration that I have done wrong. The weird part is that I have a few captures (with the ember desktop) showing the CC2538 end device successfully join. Reverting the code to that point I haven't been able to reproduce it. I still can't see a beacon during network discovery on the CC2538.

    7245.CC2538 try to join send out beacon request.psd

  • magyarm said:
    Reverting the code to that point I haven't been able to reproduce it. I still can't see a beacon during network discovery on the CC2538.

    This would suggest that your channel mask is not set correctly. Check DEFAULT_CHANLIST in f8wconfig.h, in below example I only use channel 23, maybe your channel mask is set such that it does not send a beacon on the channel you expect.

    /* Default channel is Channel 11 - 0x0B */
    // Channels are defined in the following:
    //         0      : 868 MHz     0x00000001
    //         1 - 10 : 915 MHz     0x000007FE
    //        11 - 26 : 2.4 GHz     0x07FFF800
    //
    //-DMAX_CHANNELS_868MHZ     0x00000001
    //-DMAX_CHANNELS_915MHZ     0x000007FE
    //-DMAX_CHANNELS_24GHZ      0x07FFF800
    //-DDEFAULT_CHANLIST=0x04000000  // 26 - 0x1A
    //-DDEFAULT_CHANLIST=0x02000000  // 25 - 0x19
    //-DDEFAULT_CHANLIST=0x01000000  // 24 - 0x18
    -DDEFAULT_CHANLIST=0x00800000  // 23 - 0x17
    //-DDEFAULT_CHANLIST=0x00400000  // 22 - 0x16
    //-DDEFAULT_CHANLIST=0x00200000  // 21 - 0x15
    //-DDEFAULT_CHANLIST=0x00100000  // 20 - 0x14
    //-DDEFAULT_CHANLIST=0x00080000  // 19 - 0x13
    //-DDEFAULT_CHANLIST=0x00040000  // 18 - 0x12
    //-DDEFAULT_CHANLIST=0x00020000  // 17 - 0x11
    //-DDEFAULT_CHANLIST=0x00010000  // 16 - 0x10
    //-DDEFAULT_CHANLIST=0x00008000  // 15 - 0x0F
    //-DDEFAULT_CHANLIST=0x00004000  // 14 - 0x0E
    //-DDEFAULT_CHANLIST=0x00002000  // 13 - 0x0D
    //-DDEFAULT_CHANLIST=0x00001000  // 12 - 0x0C
    //-DDEFAULT_CHANLIST=0x00000800  // 11 - 0x0B
    //-DDEFAULT_CHANLIST=0x07FFF800  // All

    I would also recommend that you revert beck to using one of the TI Sample Applications you can then at least have a working TI based to help figure out the issue in your application.

    Regards, TC.