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.

RTOS: CC2630: could not reconnect through CC2530 router

Other Parts Discussed in Thread: CC2630, CC2530, Z-STACK

Tool/software: TI-RTOS

I have the strange problem.

I have a cc2530 act as coordinator (ZNP firmware), in the middle is cc2530 as a router (sample light) and the end is cc2630 as end device (sample switch), without the router zed could not reach the coordinator.

CC2630 can connect to coordinator through cc2530 router, but it has a problem, when i disconnect/power down the router for 5 minutes and then reconnect, cc2630 could not be control anymore, all the packet could not reach it.

  • I suggest you to use Sniffer to check what happens over the air.
  • I search in the forum, seem my problem exact like this e2e.ti.com/.../2105751 the owner could solve the problem but i don't know how, and seem it is z-stack bug
  • Please provide your sniffer log so we can check it first.
  • Yes, please provide the sniffer log showing this behavior.

    Also, please provide which Z-Stack version you're using.
  • In the network, the are some devices, may be the coordinator flood with beacon request so it could not handle the request.

    I will try to re-produce the issue with less device. As you can see in the sniff, after reconnect the router, some device could not reconnect and continue send beacon request.

    Ztack is 1.2.2a.44539

    not_reconnected.zip

  • Can you elaborate which lines in your sniffer shows your issue?
  • I test with new device, below log in packet id 784, the ED disconnect the network and send beacon request, but could not rejoin to the network.

    It still work and then suddenly loose connection and could not rejoin.

    problem_disconnect.zip

  • What is the short address of your device before it loses connection?
  • It is: 0x51C6
  • I can see 0x51C6 does polling at packet #782 and get mac ack on #783. I see no reason it turns orphan suddently and send beacon request immediately on packet #784. Do you use your custom CC2630 board and do you have any modifications on your Z-Stack?
  • Yes it is my custom board and it is very simple with 1 button and 3 digital output, but i am not modified Z-stack, just change some config in f8wConfig.cfg, and firmware on CC2630 sample switch.

    I change: DPOLL_RATE, DAPSC_MAX_FRAME_RETRIES, DMAX_POLL_FAILURE_RETRIES, DREJOIN_BACKOFF and DREJOIN_SCAN and use channel 26

    0257.f8wConfig.zip

  • I don't see anything wrong with your f8wconfig.cfg. What's your opinion ?

  • I don't see anything wrong with the f8wConfig either.

    It seems like there are two separate issues here:
    1. Your end device cannot rejoin the network. This happens after its router parent is removed from the network for 5 minutes.
    - Can you point out the relevant packets in your first log (not_reconnected)?

    2. Your end device is working but suddenly sends a beacon request.
    - Does this happen for you on a TI CC2630 EVM also? If not, then there could be a hardware issue; in this case, please open a separate thread to request a hardware review.

  • It seem not a hardware bug. I try with CC2630 EVM same problem.
    You can see in the first logs, all beacon request is appear after ZC disconnected.

    In my test network mainly use CC2630 as ZED, CC2530 ZR and CC2530 ZC.
    ZED sometime loose connection with ZR and try to connect to ZC or other ZR, those process make the problem, i am make sure it because when the problem occure, disconnect to ZR and it can work again.

    Now i want to know how to make cc2630 ZED not try connect to new network, just stay with the connected one? Xiaomi ZED devices has this feature.
  • Perhaps you can try increasing REJOIN_BACKOFF/REJOIN_SCAN.
    Since you're taking one of the routers (probably 0x4C3F as indicated by packets 277-281) out of the network, all of that router's children will send rejoin the network (the orphan notifications and beacon requests in the logs).

    Not sure I understand the request. When a ZED detects that it has lost its parent, the expected behavior is that it should try rejoining the network (for example, through another ZR). You can try increasing the time before a ZED detects that it has lost its parent by increasing MAX_POLL_FAILURE_RETRIES.
    It seems that some ZEDs are not using your modified values of MAX_POLL_FAILURE_RETRIES. For example, ZED 0x704D only sends 2 sets of 4 MAC data polls before sending an orphan notification (in your not_connected log, see packets 231-235, 261-265).
    With your modified values of MAX_POLL_FAILURE_RETRIES and APSC_MAX_FRAME_RETRIES, you should be seeing 4 sets of 10 MAC data polls before the orphan notification.

  • Thank you for the support. If i remove the CC2530 router and only ZC and in range, it work fine.
    Since i have invest to CC2630, could you advice me to use what chip to make router? (because i want to extend range).
    If i use CC2652 with router firmware, is it can work fine with CC2630 ZED run zigbee 1.2.2a?
  • Yes, you can use CC2652 with router firmware and it should work fine with CC2630 ZED running zigbee 1.2.2a.
  • I see reply here: e2e.ti.com/.../2426998
    If it true then when I first turn off ZC, or it lost power, ZED connect to ZC, and if ZC lost power ZED don't connect back to ZC (only has 1 ZED)?
    I see it like my problem. So any chip and firmware could not solve the problem.
  • When a ZED loses its parent, the expected behavior is that the ZED will attempt to find another parent within radio range.
  • “if ZC lost power ZED don't connect back to ZC (only has 1 ZED)”-> I see no problem on this since ZED doesn’t have parent node to rejoin.
  • I have add schedule report each minute to the sample, the ZC could receive the on/off report. But when i send on/off command from ZC (CC2530 ZNP firmware) to the ZED (which connected to a ZC), it could not be send. It is a cc2630 running sample switch, but i have config it to receive remote on/off command.
  • Can you show me your code to send on/off command from ZC to ZED?
  • I am wrong, the ZC could receive the packet (it has better antenna) but not the ZED, so the on/off command could not send(very low link quality).

    My problem still not resolve.

    When device first connect to ZR or ZC and they lost power, it will connect to other one and not reconnect back after power restore.
    For example when signal from ZED to ZR has link quality 50, and ZED to ZC is 0, my device some time lost the packet, but it not switch auto from ZC to ZC (this ZED first connected to ZR, when ZR lost power it send orphan and then beacon request to joint the ZC, but ZC is far and signal not stable ).
    What is the problem? I think it must reconnect to stronger signal when it back, or i am not fully understand about zigbee mesh network.
  • If the signal between ZC and ZED is weak, I suppose it’s normal that ZED might not be able to connect to ZC.
  • Once the ZED has joined a new parent, it does not remember its previous parent.
    In your case, ZED joins ZC. Afterwards, even if ZR powers on, the ZED will not automatically join the ZR.

    The ZED will keep to its current parent until either:
    - it detects that it cannot communicate with its parent
    - the parent sends it a leave command