Thread Network Border Router DNS Timeout

Hello there,

I'm able to successfully setup the Thread Border Router on RPI4 B+ by following this (https://openthread.io/guides/border-router) tutorial. I've built it from the source (not used Docker).

I've verified the RCP with ot-ctl command and it's working fine. I wanted to work with thethings_io_coap example. I do followed the instructions described in https://infocenter.nordicsemi.com/topic/sdk_tz_v3.1.0/thread_thethings_io_coap.html and the cloud setup is successful and I'm able to send the data to the particular thing with the thing-token from the command-line using the command.

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -d '{"values":[{"key":"temp","value":"0"}]}' -X POST "https://api.thethings.io/v2/things/{THINGS_TOKEN} " -k

But, the problem is, I'm unable to send the counter or the temp values to the thing from the nRF52833-DK, when I ran in debug mode it says,

<info> app: DNS response error 28

I'm not sure what - if the address with the fdff:cafe:cafe:cafe:: prefix is visible means which is mentioned in the troubleshooting section of this https://infocenter.nordicsemi.com/topic/sdk_tz_v3.1.0/thread_thethings_io_coap.html link.

But when I checked the IP Address of the Node and the RCP of the border router, it gives,

For RCP (border router),

> ipaddr
fdc3:1564:5193:5b:0:ff:fe00:fc31
fdc3:1564:5193:5b:0:ff:fe00:fc11
fdc3:1564:5193:5b:0:ff:fe00:fc10
fdc3:1564:5193:5b:0:ff:fe00:fc38
fd11:22:0:0:388e:2ee9:c6f5:b601
fdc3:1564:5193:5b:0:ff:fe00:fc00
fdc3:1564:5193:5b:0:ff:fe00:4400
fdc3:1564:5193:5b:280a:5326:4a66:2fad
fe80:0:0:0:48be:899c:4161:9380
Done

For Node,

> ipaddr
fd11:22:0:0:e598:14e3:6918:bfe4
fdc3:1564:5193:5b:0:ff:fe00:ec00
fdc3:1564:5193:5b:a418:3f2b:128f:60dd
fe80:0:0:0:6c77:78c0:e91e:e352
Done

Let me know what I'm missing in the setup.

Additional Note - My ISP is not supporting IPv6 addressing to access the internet, I've confirmed that by ping6 2001:4860:4860::8888 which says, "Network is unreachable", if I use IPv4 it responds. Does it matter in this case?

  • dejans said:
    ping 64:ff9b::0808:0808"

    Gives this as the output.

    > ping 64:ff9b::0808:0808
    1 packets transmitted, 0 packets received. Packet loss = 100.0%.
    Done
    > 

  • Hi,

    It is important to use "git checkout 4b04548". With this command, you are working on stable and tested version.
    It is recommended to install Open Thread Border Router (OTBR) manually. Inside it, you will find OTBR tutorial for setting up and configure OTBR router.

    Best regards,
    Dejan

  • I'll check it out.

    I need IPv6 to be supported by my ISP to accomplish this successfully?

  • Okay, something changed compared to the previous deployment. When I try to ping my end device as described in (https://openthread.io/codelabs/openthread-border-router#6) this is what happening

    pi@router:~ $ ping6 fde9:5b36:8225:1:d724:4506:3611:b133
    PING fde9:5b36:8225:1:d724:4506:3611:b133(fde9:5b36:8225:1:d724:4506:3611:b133) 56 data bytes
    64 bytes from fde9:5b36:8225:1:d724:4506:3611:b133: icmp_seq=1 ttl=64 time=15.9 ms
    64 bytes from fde9:5b36:8225:1:d724:4506:3611:b133: icmp_seq=2 ttl=64 time=14.7 ms
    64 bytes from fde9:5b36:8225:1:d724:4506:3611:b133: icmp_seq=3 ttl=64 time=19.5 ms
    64 bytes from fde9:5b36:8225:1:d724:4506:3611:b133: icmp_seq=4 ttl=64 time=15.8 ms
    64 bytes from fde9:5b36:8225:1:d724:4506:3611:b133: icmp_seq=5 ttl=64 time=16.1 ms
    64 bytes from fde9:5b36:8225:1:d724:4506:3611:b133: icmp_seq=6 ttl=64 time=14.1 ms
    64 bytes from fde9:5b36:8225:1:d724:4506:3611:b133: icmp_seq=7 ttl=64 time=14.4 ms
    ^C
    --- fde9:5b36:8225:1:d724:4506:3611:b133 ping statistics ---
    7 packets transmitted, 7 received, 0% packet loss, time 14ms
    rtt min/avg/max/mdev = 14.140/15.805/19.510/1.677 ms
    pi@router:~ $ 
    

    My netdata show is

    pi@router:~ $ sudo ot-ctl netdata show
    Prefixes:
    fde9:5b36:8225:1::/64 paos med 1800
    Routes:
    2409:4072:6d91:5896::/64 s med 1800
    Services:
    44970 01 1d04b000000e10 s 1800
    44970 5d fd405ff56276eb1fb849c5c150fe0646d11f s 1800
    Done
    pi@router:~ 

    But, I'm still not able to ping the public address (64:ff9b::808:808) from my CLI node.

    When I run ip addr on my border router it shows

    pi@router:~ $ ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether e4:5f:01:0d:84:c2 brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.18/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
           valid_lft 83539sec preferred_lft 72739sec
        inet6 fe80::e65f:1ff:fe0d:84c2/64 scope link 
           valid_lft forever preferred_lft forever
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether e4:5f:01:0d:84:c3 brd ff:ff:ff:ff:ff:ff
        inet 192.168.43.32/24 brd 192.168.43.255 scope global dynamic noprefixroute wlan0
           valid_lft 2561sec preferred_lft 1891sec
        inet6 2409:4072:6d91:5896:e65f:1ff:fe0d:84c3/64 scope global dynamic mngtmpaddr 
           valid_lft 3520sec preferred_lft 3520sec
        inet6 fe80::e65f:1ff:fe0d:84c3/64 scope link 
           valid_lft forever preferred_lft forever
    4: wpan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc pfifo_fast state UNKNOWN group default qlen 500
        link/void 
        inet6 fde9:5b36:8225:1:4b01:c23d:c678:5acf/64 scope global nodad 
           valid_lft forever preferred_lft forever
        inet6 fd40:5ff5:6276:eb1f:0:ff:fe00:fc11/64 scope global nodad deprecated 
           valid_lft forever preferred_lft 0sec
        inet6 fd40:5ff5:6276:eb1f:0:ff:fe00:fc10/64 scope global nodad deprecated 
           valid_lft forever preferred_lft 0sec
        inet6 fd40:5ff5:6276:eb1f:0:ff:fe00:fc38/64 scope global nodad deprecated 
           valid_lft forever preferred_lft 0sec
        inet6 fd40:5ff5:6276:eb1f:0:ff:fe00:fc00/64 scope global nodad deprecated 
           valid_lft forever preferred_lft 0sec
        inet6 fd40:5ff5:6276:eb1f:0:ff:fe00:1800/64 scope global nodad deprecated 
           valid_lft forever preferred_lft 0sec
        inet6 fd40:5ff5:6276:eb1f:b849:c5c1:50fe:646/64 scope global nodad deprecated 
           valid_lft forever preferred_lft 0sec
        inet6 fe80::d8bb:91ed:9bfc:12b1/64 scope link nodad 
           valid_lft forever preferred_lft forever
    5: nat64: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
        link/none 
        inet 192.168.255.1/32 scope global nat64
           valid_lft forever preferred_lft forever
        inet6 fdaa:bb:1::2/128 scope global 
           valid_lft forever preferred_lft forever
        inet6 fe80::a9a5:1f86:4fa7:41f3/64 scope link stable-privacy 
           valid_lft forever preferred_lft forever
    pi@router:~ $ 
    

    When I run sudo ot-ctl ipaddr

    pi@router:~ $ sudo ot-ctl ipaddr
    fde9:5b36:8225:1:4b01:c23d:c678:5acf
    fd40:5ff5:6276:eb1f:0:ff:fe00:fc11
    fd40:5ff5:6276:eb1f:0:ff:fe00:fc10
    fd40:5ff5:6276:eb1f:0:ff:fe00:fc38
    fd40:5ff5:6276:eb1f:0:ff:fe00:fc00
    fd40:5ff5:6276:eb1f:0:ff:fe00:1800
    fd40:5ff5:6276:eb1f:b849:c5c1:50fe:646
    fe80:0:0:0:d8bb:91ed:9bfc:12b1
    Done
    pi@router:~ $ 

    On my CLI node when I run ipaddr

    > ipaddr
    fd40:5ff5:6276:eb1f:0:ff:fe00:bc00
    fde9:5b36:8225:1:d724:4506:3611:b133
    fd40:5ff5:6276:eb1f:961b:85e4:267a:f579
    fe80:0:0:0:94ec:3d1f:3b3e:30
    Done
    > 
    
     

    Can you have a look and find if all the required IP is present to establish the connection to outside the Thread Network.

Related