I am using the Connect SDK v2.0.0 and attempting to use TCP in the stock CLI example to mimic the demo shown here. When I flash the v2.0.0 CLI sample on my nRF52840dk, "$ ot tcp init" is not a valid command. In fact, when I run "$ ot help" I do not see "tcp" as one of the available subcommands.
I see "nrfxlib/openthread/include/openthread/tcp.h" and "nrfxlib/openthread/include/openthread/tcp_ext.h" in the v2.0.0 SDK, so I assume that this release includes the TCP-enabling commits to the main Openthread project in late 2021/early 2022. If this is true, then I assume that I must specifically enable Openthread's TCP submodule via the CLI project's "prj.conf" file. I have tried adding the last three lines in the CLI project's "prj.conf" (and other configurations based on the tickets here and here) but receive the error further below.
# # 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 CONFIG_NET_TCP=y CONFIG_NET_IPV6=y CONFIG_NET_IPV4=n
-- Found toolchain: zephyr 0.14.2 (/home/tombrown/zephyr-sdk-0.14.2) -- Found BOARD.dts: /home/tombrown/ncs/connectSDK/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts -- Found devicetree overlay: usb.overlay -- Generated zephyr.dts: /home/tombrown/.local/share/Trash/files/cli.2/build/zephyr/zephyr.dts -- Generated devicetree_unfixed.h: /home/tombrown/.local/share/Trash/files/cli.2/build/zephyr/include/generated/devicetree_unfixed.h -- Generated device_extern.h: /home/tombrown/.local/share/Trash/files/cli.2/build/zephyr/include/generated/device_extern.h -- Including generated dts.cmake file: /home/tombrown/.local/share/Trash/files/cli.2/build/zephyr/dts.cmake warning: MBEDTLS_MAC_MD5_ENABLED (defined at modules/mbedtls/Kconfig.tls-generic:302, modules/mbedtls/Kconfig.tls-generic:302) has direct dependencies (!(NRF_SECURITY || NORDIC_SECURITY_BACKEND) && MBEDTLS_BUILTIN && MBEDTLS_CFG_FILE = "config-tls-generic.h" && MBEDTLS) || (!(NRF_SECURITY || NORDIC_SECURITY_BACKEND) && MBEDTLS_BUILTIN && MBEDTLS_CFG_FILE = "config-tls-generic.h" && MBEDTLS && 0) with value n, but is currently being y-selected by the following symbols: - NET_TCP_ISN_RFC6528 (defined at subsys/net/ip/Kconfig:470), with value y, direct dependencies NET_TCP && !NET_RAW_MODE && NETWORKING (value: y), and select condition NET_TCP && !NET_RAW_MODE && NETWORKING (value: y) Parsing /home/tombrown/.local/share/Trash/files/cli.2/Kconfig Loaded configuration '/home/tombrown/ncs/connectSDK/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig' Merged configuration '/home/tombrown/.local/share/Trash/files/cli.2/prj.conf' Merged configuration '/home/tombrown/.local/share/Trash/files/cli.2/overlay-usb.conf' error: Aborting due to Kconfig warnings CMake Error at /home/tombrown/ncs/connectSDK/zephyr/cmake/modules/kconfig.cmake:290 (message): command failed with return code: 1 Call Stack (most recent call first): /home/tombrown/ncs/connectSDK/zephyr/cmake/modules/zephyr_default.cmake:121 (include) /home/tombrown/ncs/connectSDK/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:51 (include) /home/tombrown/ncs/connectSDK/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:76 (include_boilerplate) CMakeLists.txt:8 (find_package) -- Configuring incomplete, errors occurred! FATAL ERROR: command exited with status 1: /usr/bin/cmake -DWEST_PYTHON=/usr/bin/python3 -B/home/tombrown/.local/share/Trash/files/cli.2/build -S/home/tombrown/.local/share/Trash/files/cli.2 -GNinja -DBOARD=nrf52840dk_nrf52840 -DOVERLAY_CONFIG=overlay-usb.conf -DDTC_OVERLAY_FILE=usb.overlay
I can't seem to find documentation on the configuration I need to get Openthread's TCP submodule working, but I might just be looking in the wrong places. Could you please point me in the right direction to get TCP working in the CLI example? Am I not adding the right lines to the CLI sample's "prj.conf" or is more work required?


