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

Thread Border Router networking fail

Hello Nordic Taam:

I follow the WEB steps below

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.1.0%2Fthread_ot_performance_measurement.html

Software Development Kit > nRF5 SDK for Thread and Zigbee v4.1.0 > Thread > Thread tools > Thread Border Router

nRF52840 DK Version:nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8\examples\thread\ncp\ftd\uart\hex

Raspberry Pi 3 Version:RaspPi_OT_Border_Router_Demo_v4.1.0-1.alpha

Use nRF52840 DK UART connect Raspberry Pi 3 to get the following information

wpan0 => [
"NCP:State" => "associating"
"Daemon:Enabled" => true
"NCP:Version" => "OPENTHREAD/20191113-00534-gc6a258e3; NRF52840; Apr 5 2020 21:51:18"
"Daemon:Version" => "0.08.00d (; Apr 21 2020 19:11:43)"
"Config:NCP:DriverName" => "spinel"
"NCP:HardwareAddress" => [F4CE363EC3C45B0E]
]


pi@raspberrypi:~ $ sudo wpanctl status
wpan0 => [
"NCP:State" => "uninitialized"
"Daemon:Enabled" => true
"NCP:Version" => ""
"Daemon:Version" => "0.08.00d (; Apr 21 2020 19:11:43)"
"Config:NCP:DriverName" => "spinel"
"NCP:HardwareAddress" => [F4CE363EC3C45B0E]
]

If I have the wrong steps or have not completed, please give me some pointers, thank you.

Also, can you teach me how to set up the Thread Border Router successfully on Raspberry Pi 3?

Best Regards

Rick.

Parents
  • Hi,

    The instructions on Thread Border Router is the latest and should be correct. It also looks like you are using the correct versions of the firmware and border router image. 

    I have tested this multiple times before, and have not had any issues with getting the network up and running.

    Are you using a revision 1 DK or later? Did you have the DK connected to the RPi before you booted it? Did you run 'erase all' command on the DK before flashing the NCP FW? You did not run any other commands on the border router prior to the "sudo wpanctl status" command?

    If nothing works, I would suggest that you start over and flash the DK and border router image again to the devices to see if that solves any issues.

    Best regards,
    Jørgen

  • Hi Jørgen:

    How are you today!

    Is there any update?

    Pls kindly help advise how to solve it?

    Best Regards,

    Rick.

  • Hi,

    1.-4. See this page for detail pg IPv6 addressing used by OpenThread. You can get Mesh- and Link-Local address of nodes by doing a multicast ping to the ff02::1/ff03::1 addresses from the Border Router:

    Link-Local:

    pi@raspberrypi:~ $ ping -6 -I wpan0 ff02::1
    PING ff02::1(ff02::1) from fe80::900e:ea92:8be6:51f8%wpan0 wpan0: 56 data bytes
    64 bytes from fe80::900e:ea92:8be6:51f8%wpan0: icmp_seq=1 ttl=64 time=0.193 ms
    64 bytes from fe80::1028:aa0a:fd4c:649%wpan0: icmp_seq=1 ttl=64 time=36.5 ms (DUP!)
    64 bytes from fe80::a813:d16e:3821:861e%wpan0: icmp_seq=1 ttl=64 time=48.4 ms (DUP!)
    ^C
    --- ff02::1 ping statistics ---
    1 packets transmitted, 1 received, +2 duplicates, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.193/28.411/48.481/20.538 ms
    

    Mesh-Local:

    pi@raspberrypi:~ $ ping -6 -I wpan0 ff03::1
    PING ff03::1(ff03::1) from fd11:22::ec33:5809:17a8:aa3a wpan0: 56 data bytes
    64 bytes from fd11:22::ec33:5809:17a8:aa3a: icmp_seq=1 ttl=64 time=0.199 ms
    64 bytes from fd11:22::52db:33fd:683f:65dc: icmp_seq=1 ttl=64 time=37.8 ms (DUP!)
    64 bytes from fd11:22::b3eb:df1f:8f1c:aeaf: icmp_seq=1 ttl=64 time=49.7 ms (DUP!)
    ^C
    --- ff03::1 ping statistics ---
    1 packets transmitted, 1 received, +2 duplicates, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.199/29.271/49.773/21.126 ms
    

    You can also get the RLOC16 address of all routers in the network from the RouterTable property:

    pi@raspberrypi:~ $ sudo wpanctl getprop "Thread:RouterTable"
    Thread:RouterTable = [
            "920EEA928BE651F8, RLOC16:0000, RouterId:0, NextHop:63, PathCost:0, LQIn:0, LQOut:0, Age:0, LinkEst:no"
            "1228AA0AFD4C0649, RLOC16:4400, RouterId:17, NextHop:41, PathCost:1, LQIn:3, LQOut:3, Age:8, LinkEst:yes"
            "AA13D16E3821861E, RLOC16:a400, RouterId:41, NextHop:17, PathCost:1, LQIn:3, LQOut:3, Age:31, LinkEst:yes"
    ]

    The nodes can be addressed using the MeshLocal prefix + 0000:00ff:fe00:RLOC16, for instance fdde:ad00:beef::ff:fe00:4400.

    5. You can view logs in Syslog, see the instructions on this page. The grep string may not work with our SDK example, but removing it should give you all Syslog output.

    Best regards,
    Jørgen

  • Hi Jørgen

    How are you today!

    Thanks for your explanation.

    But I have a case that needs to use the mobile phone or PC control the Thread Device. Pls kindly advise how can get the IP address of Thread Device from a mobile phone or PC?

    Or you have any advice can be using a mobile phone or PC control Thread Device?

    Best Regards,
    Rick.


  • Hi Jørgen:

    How are you today!

    Are you have any advice?

    Pls kindly help advise how to solve it?

    Best Regards,

    Rick.

  • Hi Rick,

    I can't think of any simple way to do that. Does the phone/PC have IPv6 connectivity? Is the border router and the phone/PC in the same local network?

    The nodes would somehow have to communicate with a central server/point, where the phone/PC could get their IP from a database. If the nodes and the phone/PC both have global IPv6 connectivity, it is possible to communicate directly between the nodes once the phone/PC get hold of the IPv6 addresses.

    If you can provide more details about your use-case, we may be able to help you with finding the best approach and/or alternative solutions.

    Best regards,
    Jørgen

  • Hi Jørgen,

    My case The border router and the phone/PC in the same local network, and is supported IPv6.

    The premise Phone/PC does not know the Thread Network Device IP now.

    So I need to search the Thread Device IP address from Phone/PC.

    Best regards,
    Rick

    This is my case framework.

Reply Children
Related