This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Network collapse when Zigbee light bulb example runs

Hello to all,

i've developed some application under 3.2.0 SDK. Now I want to port my application on new 4.1.0 SDK but a I have found a relevant issue.

Before migrating my application (I read migration guide and the modifications are consistent), I decided to try light bulb example.

When the example runs all network activity stops, on the sniffer the last message is identified as "beacon request".

Until the example is still running, I can't see any other message, any command from coordinator and other device (and vice-versa) doesn't work.

I attach sniffer trace sdk_410_starts.pcapng to show you wath happens. In order to view the trace this is the key: 8a:89:a1:cc:a3:66:11:15:05:88:8f:a7:9e:f5:99:67

BR,

Maurizio

Parents
  • Hello,

    Are the other devices in the network also nRF devices running on SDK4.1? It shouldn't really matter, but for debugging purposes.

    Does the coordinator receive any event? Does it say anything after the beacon request from the nRF light bulb? Does this also happen if you try the light_control example (light- bulb, switch, and coordinator) from SDK4.1?

  • Hi,

    Are the other devices in the network also nRF devices running on SDK4.1?

    there's no other nRF devices.

    Does the coordinator receive any event? Does it say anything after the beacon request from the nRF light bulb?

    Coordinator is based on ETRX357 Telegesis with CLI interface, but on CLI I've no event on beacon request. 

    Does this also happen if you try the light_control example (light- bulb, switch, and coordinator) from SDK4.1?

    I've only two Nordic board, and I can't try full example, but if I try the same example based on SDK 3.2.0 this issue doesn't occur.

    BR,

    Maurizio

  • mau said:
    To clarify the device with light bulb example on 4.1.0 is only powered and never associated to my network.

     But you said that the network stops working after you turn it on, is that the case?

     

    mau said:
    I guess not, this is not mentioned in the documentation.

     So it is not something you have made? It is a product that you bought of the shelf?

     

    mau said:
    when I turn on light bulb example the beacon request message appears and then nothing until device is powered. 

     What device? And do you mean power cycled? What happens then?

    I just tested the light bulb with a coordinator running on the CLI example, both running on pca10056 boards. No issues there.

    Can you say something about the coordinator? What is the coordinator looking for? Will it accept any device? Please note that there is a difference in the light bulb example and e.g. a Philips Hue light bulb, 

    Can you test two things for me:

    1: Delete the entire flash of the light bulb before you try to run the light bulb example. Perhaps it has some old network settings in flash from when you were using the older SDK. Use the command "nrfjprog --eraseall" (you must have nrfjprog installed. Let me know if you don't know how to install it).

    2: You said you have two DKs. Can you try to use one with the light bulb example (remember to erase the flash first). Program the other one with the CLI example from SDK\examples\zigbee\experimental\cli. Once you have programmed it and you have a putty terminal with the correct settings, type the commands:

    bdb channel <the channel that you use on your lightbulb>.
    
    bdb role zc
    
    bdb start.

    Does that work?

  • Hi Edvin,

    But you said that the network stops working after you turn it on, is that the case?

    I confirm.

    So it is not something you have made? It is a product that you bought of the shelf?

    Yes, the coordinator is a commercial product.

    What device? And do you mean power cycled? What happens then?

    The device running Light Bulb Example as mentioned above.

    I just tested the light bulb with a coordinator running on the CLI example, both running on pca10056 boards. No issues there.

     I tried this setup before on SDK 3.2.0 and after on SDK 4.1.0. These is the results:

    On SDK 3.2.0 I programmed one board as CLI and the other one with Light Bulb Example. At startup the board with Light Bulb Example has LED 4 switched on and LED3 switched off. On CLI I issue:

    bdb channel 11
    
    bdb role zc
    
    bdb start

    LED3 on the board with Light Bulb Example is switched on to indicate right association.

    Then I issued this command:

    zcl cmd F4CE368732AA67A8 10 0x0008 -p 0x0104  0x00 -l 00ffff

    LED4 on the board with Light Bulb Example is switched off in response of my level control command

    And at the end I issued this command:

    zcl cmd F4CE368732AA67A8 10 0x0008 -p 0x0104  0x00 -l ffffff

    LED4 on board with Light Bulb Example is switched on again.

    At this point I executed "nrfjprog --eraseall" for each board and then I programmed with SDK 4.1.0.

    I ran the same commands but on the board with Light Bulb Example LED4 is alway on and LED3 is always off.

    You say that you have no issues with this setup, what tests did you get after bdb start?

    BR,

    Maurizio

  • Well, initially I only checked that the LED3 was turned on, indicating that the bulb had successfully joined the network. But when you wrote this, I tested the same set of procedures on both 3.2.0 and 4.1.0. In my case, it worked in both versions. (Wait to send the match desc until LED3 turns on).

    These are the commands that I used:

    > bdb role zc
    Coordinator set
    Done
    > bdb channel 11
    Setting channel to 11
    Done
    > bdb start
    Started coordinator
    Done
    > zdo match_desc 0xffff 0xffff 0x0104 1 0x0006 0
    Sending broadcast request.
    src_addr=72E5 ep=10
    > zdo ieee_addr 72e5
    f4ce3752d0756231
    Done
    > zcl cmd f4ce3752d0756231 10 0x0008 -p 0x0103 0x00 -l 00ffff
    Done
    > zcl cmd f4ce3752d0756231 10 0x0008 -p 0x0103 0x00 -l ffffff
    Done

  • I've some updates for you.

    As I said, I've two boards, one is a PCA10056 and the other is MDBT50Q-DB (from RAYTAC).

    I never used PCA10056 as CLI or sniffer because has faulty nRF USB port so I always used PCA10056 to run the Light Bulb Example which does not need USB to work. 

    Today I tried to use my original coordinator (based on ETRX357 Telegesis) and MDBT50Q-DB to run the Light Bulb Example over 4.1.0. 

    Now it work!

    Then seems that faulty USB port on PCA10056 is the responsible for the problem.

    Probably the same example based on 3.2.0 don't care about this.

    BR,

    Maurizio

Reply
  • I've some updates for you.

    As I said, I've two boards, one is a PCA10056 and the other is MDBT50Q-DB (from RAYTAC).

    I never used PCA10056 as CLI or sniffer because has faulty nRF USB port so I always used PCA10056 to run the Light Bulb Example which does not need USB to work. 

    Today I tried to use my original coordinator (based on ETRX357 Telegesis) and MDBT50Q-DB to run the Light Bulb Example over 4.1.0. 

    Now it work!

    Then seems that faulty USB port on PCA10056 is the responsible for the problem.

    Probably the same example based on 3.2.0 don't care about this.

    BR,

    Maurizio

Children
No Data
Related