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

examples/thread + eero border router possible stability issues

Hi. I'm using 2x nRF52840 DK's + eero pro. 

I've been noticing some stability/longevity issues with examples/thread/freertos_coap_server in nRF5SDKforThreadandZigbeev3209fade31.zip

Test setup - 

  • flash both dev kits with unmodified examples/thread/freertos_coap_server
  • Join the eero-thread network
    • 1 dev kit worked with a eui64 based QR code and the eero thread commissioning part of the android app
    • 1 dev kit needed me to set the network key, pan id, network name and channel before joining. The QR code didn't seem to work. 
    • I was impressed that this even worked at all :) 
  • ping each device from the other device
  • reboot both dev kits
  • ping each device from PC console every 1 second with 16 bytes
    • using 2 shells

Test results - 

  • Pings start timing out anywhere from 0-6000 pings
  • CLI via USB/serial console is unresponsive
  • reboot recovers it
  • the eero seamlessly bridges the LAN/WAN with the thread devices

Questions - 

  • The eero openthread server seems like a black box so far, could this be a thread stack version mismatch issues?
  • Are any of the nordic SDK examples/thread more stable than others?
  • Has anyone done any long term burn in / stress / stability tests? I searched the forums and didn't see much about this. 
Parents
  • Hi,

    I don't have any experience with the eero hardware. From what I can see in their homepage it's kind of a gateway with Thread support? Is it acting as a thread border router perhaps?

    If it's using Thread 1.1 border router then it should be compatible with our SDK in theory.

    Can you explain a bit more about the topology of the network and how and where are you sending the pings?

    Do you use openthread command ping <ipaddr> to send ping from one DK to the other one?

    Have you done any modifications to the example? Have you tried to debug the code to see where in the code the application hangs when the CLI window turns unresponsive?

    Best regards,

    Marjeris

  • Thanks Marjeris

    The SDK example is not modified. 
    I have not yet tried running this from a debugger. My GDB skills are rusty  

    The Eero is acting as a border router. There is not much documentation. If you think the issue is with the Eero, I'm happy to try a rasberry pi. 

    The network topology is 

    NRF52840 (2x devkits) <> eero pro <> Windows PC

    The eero pro is providing an ipv6 bridge from windows to the thread network. 

    • The thread subnet is fd3e:492c:8250:2
    • The LAN subnet is    fd3e:492c:8250:1

    NRF52 on COM3 - 

    > ipaddr
    fd3e:492c:8250:2:bc99:3350:be76:8a63
    fdce:a35d:4f0a:0:0:ff:fe00:ac00
    fdce:a35d:4f0a:0:fffb:5718:f8cb:aa05
    fe80:0:0:0:e5ef:89cc:43a8:e273
    Done

    NRF52 on COM5 - 

    > ipaddr
    fd3e:492c:8250:2:70d8:ff27:f223:bfb1
    fdce:a35d:4f0a:0:0:ff:fe00:a800
    fdce:a35d:4f0a:0:1e5f:313a:cdfe:17b
    fe80:0:0:0:4419:dbb4:3c32:dd6f
    Done

    Windows IP - 

    $ ifconfig
    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 172.16.0.29 netmask 255.240.0.0 broadcast 172.31.255.255
    inet6 fd3e:492c:8250:1:8cdd:b323:6aef:9a0b prefixlen 64 scopeid 0x0<global>
    inet6 fd3e:492c:8250:1:708e:81e8:65ff:5953 prefixlen 128 scopeid 0x0<global>
    inet6 fe80::8cdd:b323:6aef:9a0b prefixlen 64 scopeid 0xfd<compat,link,site,host>

    I am able to ping from each devkit with the openthread command. 

    ping from com3 to com5

    > ping fd3e:492c:8250:2:70d8:ff27:f223:bfb1
    > 16 bytes from fd3e:492c:8250:2:70d8:ff27:f223:bfb1: icmp_seq=1 hlim=64 time=45ms
    

    ping from com5 to com3

    > ping fd3e:492c:8250:2:bc99:3350:be76:8a63
    > 16 bytes from fd3e:492c:8250:2:bc99:3350:be76:8a63: icmp_seq=1 hlim=64 time=10ms
    

    Failure mode 1 - I set the interval to 5 seconds, number of pings to 65535 on each, and neither has made it past 6000

    Faulire mode 2 - sending the pings from the windows PC to the 2x NRF dev kits. Same interval and number of pings, neither makes it past 6000

    $ ping -c 65535 -i 5 -s 16 fd3e:492c:8250:2:bc99:3350:be76:8a63
    PING fd3e:492c:8250:2:bc99:3350:be76:8a63(fd3e:492c:8250:2:bc99:3350:be76:8a63) 16 data bytes
    24 bytes from fd3e:492c:8250:2:bc99:3350:be76:8a63: icmp_seq=1 ttl=62 time=38.8 ms
    24 bytes from fd3e:492c:8250:2:bc99:3350:be76:8a63: icmp_seq=2 ttl=62 time=37.1 ms
    
    
    
    

    $ ping -c 65535 -i 5 -s 16 fd3e:492c:8250:2:70d8:ff27:f223:bfb1
    PING fd3e:492c:8250:2:70d8:ff27:f223:bfb1(fd3e:492c:8250:2:70d8:ff27:f223:bfb1) 16 data bytes
    24 bytes from fd3e:492c:8250:2:70d8:ff27:f223:bfb1: icmp_seq=1 ttl=62 time=61.4 ms
    
    
    
    

Reply
  • Thanks Marjeris

    The SDK example is not modified. 
    I have not yet tried running this from a debugger. My GDB skills are rusty  

    The Eero is acting as a border router. There is not much documentation. If you think the issue is with the Eero, I'm happy to try a rasberry pi. 

    The network topology is 

    NRF52840 (2x devkits) <> eero pro <> Windows PC

    The eero pro is providing an ipv6 bridge from windows to the thread network. 

    • The thread subnet is fd3e:492c:8250:2
    • The LAN subnet is    fd3e:492c:8250:1

    NRF52 on COM3 - 

    > ipaddr
    fd3e:492c:8250:2:bc99:3350:be76:8a63
    fdce:a35d:4f0a:0:0:ff:fe00:ac00
    fdce:a35d:4f0a:0:fffb:5718:f8cb:aa05
    fe80:0:0:0:e5ef:89cc:43a8:e273
    Done

    NRF52 on COM5 - 

    > ipaddr
    fd3e:492c:8250:2:70d8:ff27:f223:bfb1
    fdce:a35d:4f0a:0:0:ff:fe00:a800
    fdce:a35d:4f0a:0:1e5f:313a:cdfe:17b
    fe80:0:0:0:4419:dbb4:3c32:dd6f
    Done

    Windows IP - 

    $ ifconfig
    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 172.16.0.29 netmask 255.240.0.0 broadcast 172.31.255.255
    inet6 fd3e:492c:8250:1:8cdd:b323:6aef:9a0b prefixlen 64 scopeid 0x0<global>
    inet6 fd3e:492c:8250:1:708e:81e8:65ff:5953 prefixlen 128 scopeid 0x0<global>
    inet6 fe80::8cdd:b323:6aef:9a0b prefixlen 64 scopeid 0xfd<compat,link,site,host>

    I am able to ping from each devkit with the openthread command. 

    ping from com3 to com5

    > ping fd3e:492c:8250:2:70d8:ff27:f223:bfb1
    > 16 bytes from fd3e:492c:8250:2:70d8:ff27:f223:bfb1: icmp_seq=1 hlim=64 time=45ms
    

    ping from com5 to com3

    > ping fd3e:492c:8250:2:bc99:3350:be76:8a63
    > 16 bytes from fd3e:492c:8250:2:bc99:3350:be76:8a63: icmp_seq=1 hlim=64 time=10ms
    

    Failure mode 1 - I set the interval to 5 seconds, number of pings to 65535 on each, and neither has made it past 6000

    Faulire mode 2 - sending the pings from the windows PC to the 2x NRF dev kits. Same interval and number of pings, neither makes it past 6000

    $ ping -c 65535 -i 5 -s 16 fd3e:492c:8250:2:bc99:3350:be76:8a63
    PING fd3e:492c:8250:2:bc99:3350:be76:8a63(fd3e:492c:8250:2:bc99:3350:be76:8a63) 16 data bytes
    24 bytes from fd3e:492c:8250:2:bc99:3350:be76:8a63: icmp_seq=1 ttl=62 time=38.8 ms
    24 bytes from fd3e:492c:8250:2:bc99:3350:be76:8a63: icmp_seq=2 ttl=62 time=37.1 ms
    
    
    
    

    $ ping -c 65535 -i 5 -s 16 fd3e:492c:8250:2:70d8:ff27:f223:bfb1
    PING fd3e:492c:8250:2:70d8:ff27:f223:bfb1(fd3e:492c:8250:2:70d8:ff27:f223:bfb1) 16 data bytes
    24 bytes from fd3e:492c:8250:2:70d8:ff27:f223:bfb1: icmp_seq=1 ttl=62 time=61.4 ms
    
    
    
    

Children
Related