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.

Problem with router. How to increase distance between end-device and coordinator?

Other Parts Discussed in Thread: CC2530, Z-STACK, CC2591, CC2530-CC2591EM, TIMAC

I am using cc2530 with zstack.

I have coordinator and 2 end-devices. When all end-devices are located not far from coordinator everything works OK. However when I bring one of my end-devices rather far from coordinator (about 12-15 meters), it cannot communicate with coordinator.

I would like to increase the coordinator influence zone by placing a router between end-device and coordinator.

Unfortunately I was unable to make binding between coordinator and the end-device.

Please advice!

I URGENTLY need to solve this problem. And I cannot find neither in docummentation (which comes with z-stack installation) nor in TI-forums even a single word about how to do this.

Thanks

 

  • Run GenericApp on all of your devices; when network is setup and running, press key2 on ZED and press key2 on ZC; the two will bind and exchange "the message".

  • You did not answered my question.

    My question was: "how to increase distance", not "how to establish link".

     

    At the moment I see that mazimu, distance betwee coordinator ane end-device is about 10 meters.

    I wish to increase it up to 200~250 meters.

    Please explaine: how to make so?

     

    Thanks

     

     

     

  • Dears,

    If you do not want use router for hop to increase the transmitting distance, you may need to use PA CC2591. Please refer to http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=swra308a .

  • Good suggestion, YiKai.

    Also, the guy might already have the CC2591 and not realize it! A maximum distance of ~10m is abnormally low for the development kits h/w, but sounds like the problem of having the CC2530-CC2591EM but not adding the special compile flag to the build:

    MAC_RUNTIME_CC2591

     

  • I use ZDK (cc2530 without cc2591).

    In my network there are following possible device kinds:
    1. Central device
    2. Battery-powered device
    3. Devices with stationary power-supply

    The central device (coordinator) are compiled with the following compile flags:
    HOLD_AUTO_START
    BUILD_ALL_DEVICES
    REFLECTOR
    NV_INIT
    NV_RESTORE
    DEVICE_LOGICAL_TYPE=ZG_DEVICETYPE_COORDINATOR
    ZIGBEEPRO

    Linker oprions:
    -C $PROJ_DIR$\..\Libraries\TI2530DB\bin\Router-Pro.lib
    -C $PROJ_DIR$\..\Libraries\TI2530DB\bin\Security.lib
    -C $PROJ_DIR$\..\Libraries\TIMAC\bin\TIMAC-CC2530.lib

    ............

    The battery-powered devices (end-devices) are compiled with the following compile flags:
    NWK_AUTO_POLL
    HOLD_AUTO_START
    REFLECTOR
    POWER_SAVING
    NV_INIT
    NV_RESTORE
    DEVICE_LOGICAL_TYPE=ZG_DEVICETYPE_ENDDEVICE
    ZIGBEEPRO

    Linker oprions:
    -C $PROJ_DIR$\..\Libraries\TI2530DB\bin\EndDevice-Pro.lib
    -C $PROJ_DIR$\..\Libraries\TI2530DB\bin\Security.lib
    -C $PROJ_DIR$\..\Libraries\TIMAC\bin\TIMAC-CC2530.lib
    ............

    The devices with stationary power-supply (routers) are compiled with the following compile flags:

    BUILD_ALL_DEVICES
    NWK_AUTO_POLL
    HOLD_AUTO_START
    REFLECTOR
    NV_INIT
    NV_RESTORE
    DEVICE_LOGICAL_TYPE=ZG_DEVICETYPE_ROUTER
    ZIGBEEPRO

    Linker oprions:
    -C $PROJ_DIR$\..\Libraries\TI2530DB\bin\Router-Pro.lib
    -C $PROJ_DIR$\..\Libraries\TI2530DB\bin\Security.lib
    -C $PROJ_DIR$\..\Libraries\TIMAC\bin\TIMAC-CC2530.lib

    ............

    Now I see that my end-devices are unable to contact coordinator through router.

    If end-device is not far from coordinator -- they work properly.

    But if end-device is far from coordinator, I put router between end device and coordinator.
    The problem is that my end-device is unable to make binding with coordinator through router.

    zb_BindConfirm shows status 0x21

    void zb_BindConfirm( uint16 commandId, uint8 status )
    {
       // Here the status = 0x21

      if( status == ZB_SUCCESS )
      {   
      ...
      }
    }  

    However my routers are still able to contact coordinator through other routers.

    End-device can contact coordinator only when it (end-device) is located not far from coordinator.

    However if there are working routers not far from coordinator -- end devices (also not far from coordinator) become unable to contact coordinator.

    It looks like routers kill end-devices.


    I still cannot understand what is going on. Why my applications is not working?



     

     





  •  

    The full code of the project is here:

     

    http://www.sakatukki.ru/cc2530.zip

     

    Could someone of TI technical support view it and tell me what am I doing wrong?

     

    The project inherits SensorDemo application.

     

    Thanks

     

     

     

  • Does anyone read this forum?

    Can someone of TI technical support team review my code and help me?

    Waiting for responce (already long time)

  • It seems like either nobody reads this topic or nobody wishes to help me.

    However, the source code, which I have published here, proves that the _basic_functionality_ of TI-product does not work properly.

    This _basic_functionality_ was promoted in different journals, datasheets, promotional letters, commercial proposals etc...

    And suddently it comes out that it does not work.

    All my questions about this "feature" stayed unanswered.

    It's very pitty, that I spent too much time for exploring and trying to develop TI-based applications!

    It's also very pitty that I understood it exactly at the end of development proccess, exactly at the moment when | pas planning to purchase a lot of  cc2530 and start production.

    Bye

  • Hi Tamachi,

    as i mentioned in our offline conversation, i am going to try assisting you here so that the answer can be shared to others.

    Tamachi Lee said:

    I have coordinator and 2 end-devices. When all end-devices are located not far from coordinator everything works OK. However when I bring one of my end-devices rather far from coordinator (about 12-15 meters), it cannot communicate with coordinator.

    have you tried to use a packet sniffer to see whether the end device even could take the router as its parent?

    Tamachi Lee said:

    My question was: "how to increase distance", not "how to establish link".

    Looking to the Z-Stack API documentation, the ZMacSetTransmitPower() function should be able to be used to set transmit power level. Have you tried to change the transmit power level using this function?

  • The main problem is that end-devices are unable to establish binding with coordinator through router.

    I have put all my source code on web to show you that I do everything according to guidelines.

    However the problem still persists: routers are talking with coordinator but end devices do not.

    And I have no idea why.

  • Hi Tamachi,

    yes, i understand your problem. But could you please answer my question:

    - have you tried to see what happening using packet sniffer or other sniffing software (e.g. Ubiqua)? Could you see that the end device joins the network and take the router as its parents? when you tried to do the binding, could you see the binding request messages sent out from the end device?

    - have you tried to increase the transmit power of the end device by using the ZMacSetTransmitPower()  function i mentioned above?

  • I have burned the sensor software into SmartRF05 board.  This board is supplied with LCD. So I wrote some debug points which told me that the binding process starts but fails.

    The failure code is 0x21  (TIMEOUT).

    My sniffer, which stands near coordinator does not shows any activity from end-device.

  • Hi Tamachi,

    Tamachi Lee said:

    My sniffer, which stands near coordinator does not shows any activity from end-device.

    How if you put your sniffer on the router which is the parent of the end device? could you see that the end device joining the network and also sending the binding request?

  • I have saved sniffer loggs here:

    http://sakatukki.ru/sniff2.zip

     

    file 1_SingleRouterFarFromCoordinato.psd    ---- only router and coordinator are working. Router is far from coordinator.

    file 2a_AddingSensor.psd  -- when router and coordinator working togeter (coordinator can see router)  I place end-device not far from router and switch it on.

        I see that end-device is _unaccessible_ for coordinator. Coordinator is able to see router, but unable to see end-device.

    file 3_ReplacingSensorWithSecondRouter.psd  -- I replace end-device with my 2nd router.  Coordinator can see both routers.