Thread CLI cannot ping ipv4

I need to use ipv4 since my home network dont support ipv6 and I expect similar issues in the production environment. When I try to ping ipv4 from my thread cli device through my border router I'll get an error:

ot ping 8.8.8.8
Error 6: Parse

Nat64 on Openthread Border Router is enabled:

sudo ot-ctl nat64 state
PrefixManager: Active
Translator: Active
Done

I can ping through ot on border router an ipv4

sudo ot-ctl ping 8.8.8.8
Pinging synthesized IPv6 address: fd4e:8ea1:cbd3:2:0:0:808:808
16 bytes from fd4e:8ea1:cbd3:2:0:0:808:808: icmp_seq=2 hlim=117 time=8ms
1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 8/8.0/8 ms.
Done

I can ping from thread cli to border and vice versa on ipv6

I am using the nrfconnect cli sample in different sdk versions e.g. 2.1.2 or 2.0.2 with standrd prefs:

#
# Copyright (c) 2020 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Network shell
CONFIG_SHELL=y
CONFIG_OPENTHREAD_SHELL=y
CONFIG_SHELL_ARGC_MAX=26
CONFIG_SHELL_CMD_BUFF_SIZE=416

# Enable OpenThread features set
CONFIG_OPENTHREAD_NORDIC_LIBRARY_MASTER=y

CONFIG_NET_L2_OPENTHREAD=y

# Generic networking options
CONFIG_NETWORKING=y

CONFIG_ASSERT=y
CONFIG_ASSERT_NO_COND_INFO=y
CONFIG_MBEDTLS_SHA1_C=n
CONFIG_FPU=y

CONFIG_GPIO_SHELL=y

Parents
  • Hi, 

    Could you verify the following to avoid potential misunderstandings

    When I try to ping ipv4 from my thread cli device through my border router I'll get an error:

    The ping ipv4 command is sent from an interface connected to the thread cli device and is routed through the OTBR (OpenThreadBorderRouter). The OTBR has NAT64 enabled and it still yields a parse error?

    I can ping through ot on border router an ipv4

    The ping ipv4 command is sent from an interface connected to the OTBR? 

    I can ping from thread cli to border and vice versa on ipv6

    This sounds to be working as intended. OpenThread requires ipv6, and if you intend to do ipv4 communication you are required to have a translator such as the NAT64 enabled on a OTBR. 

    I am not quite sure yet if the OTBR with NAT64 can handle incoming ipv4 messages or if it is only outgoing ipv4 messages, but I am looking into if that is a requirement

    Kind regards,
    Andreas

  • I am using the vscode plugin and loaded Thread: CLI — nRF Connect SDK 2.1.2 documentation (nordicsemi.com). Build and flashed to nrf52840-dk. Connected via vscode, setup everything and double-checked thread ipv6 connectivity between cli and OTBR:

    ot ping 8.8.8.8
    Error 6: Parse

    As OTBR I have a Raspberry Pi 3B (not 3B+) and used the Docker version but also in another attempt the plain linux (OpenThread Border Router Build and Configuration) installation. As RCP I used Thread: Co-processor — nRF Connect SDK 2.0.2 documentation (nordicsemi.com) .

    The ping ipv4 command is sent from an interface connected to the thread cli device and is routed through the OTBR (OpenThreadBorderRouter). The OTBR has NAT64 enabled and it still yields a parse error?

    Yes the NAT64 is enabled. At least the following is saying so.

    sudo ot-ctl nat64 state
    PrefixManager: Active
    Translator: Active
    Done

    But I am not sure if this error is coming from the OTBR or the leaf device is producing this error. I mean "Error 6: Parse" doesn't say a lot.

    I would expect the following: Thread Border Router - Provide Internet access via NAT64 (openthread.io)

    Thanks a lot for your time and help!!!

  • Thank you for supplying the additional links and steps! I'll take a closer look into attempting to recreate the issue throughout the week.

    I'm not sure how strict this requirement is, but the guide mentions that you'll need a RPi 4 with 4GB RAM, and as far as I can see the RPi3 b only has 1GB. I don't suppose you have a v4 RPi available to test if the issue is there? No worries if you don't have one available, as I'll most likely see the same parse error if I follow the same steps that you've done with the RPi 4 I have available.

    Kind regards,
    Andreas

Reply
  • Thank you for supplying the additional links and steps! I'll take a closer look into attempting to recreate the issue throughout the week.

    I'm not sure how strict this requirement is, but the guide mentions that you'll need a RPi 4 with 4GB RAM, and as far as I can see the RPi3 b only has 1GB. I don't suppose you have a v4 RPi available to test if the issue is there? No worries if you don't have one available, as I'll most likely see the same parse error if I follow the same steps that you've done with the RPi 4 I have available.

    Kind regards,
    Andreas

Children
Related