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

Losing cloud connection, Thread CoAP Cloud example (SDK 0.11.0)

Dear Thread-experts,

I have troubles with your Thread CoAP Cloud example. I am using:

  • Thread SDK V0.11.0
  • Border Router V0.11.0, ethernet (not Wi-Fi)
  • cloud_coap_client example, adapted that I send more data (buffer size =256bytes)
  • Eclipse
  • Preview DVK, V0.9.0

I observe that after a while (sometimes day, sometimes minutes), no data are sent to the cloud. I debugged and my FW is running find and I don't get any errors (function otCoapSendRequest() is executed without error). However, the data is not visible in the cloud. The only way to recover it is: erasing the FW on the Border Router Network-Co-Processor-Thread-Module (Preview DVK). After erasing and reprogramming the DVK with the NCP, I can send data again for a certain time, until it brakes down again.

What I have observed is: when I send only 64bytes (insted of 256bytes): it tends to run more stable (some samples are missing, but the system is recovering itself).

I send the 256bytes every 6 minutes.

How can I debug that issue in more detail?

Thank you, Reto

  • Dear Nordic,

    Any updates on this? I just wanted to follow-up on this as it is still an issue and I don't know how to DEBUG it properly. I am grateful for every hint on e.g. any hidden timeouts I should have to be concerned about... Thanks! Reto

  • Hello RetoKeller,

    Thanks for using nRF5 SDK for Thread.

    Do you have a Thread sniffer to ensure that CoAP cloud messages are sent over the air?

    One way to try debug this problem is to build OpenThread libraries with the log support. In order to do that you need to change OPENTHREAD_CONFIG_LOG_LEVEL define to OT_LOG_LEVEL_DEBG in this file github.com/.../openthread-core-default-config.h . Then you should see all logs on the RTT interface.

    Do you use NCP connected over JLink (UART) or native USB? Also you said that reflashing NCP helps. In this situation i guess you rebooted the Border Router, right? Can you try only to reboot the Border Router if this situation happens (without reflashing NCP)? If that helps, we could narrow down the issue to the Border Router itself.

    We will try to reproduce this issue locally soon, and we will back to you.

  • Thank you Lukasz Duda.

    1. No I do not have a Thread sniffer. What do you mean exactly by that? Is there something on the market available? Or do I need to be ThreadGroup member for getting one? Or can I build one by myself?

    2. I haven't built the OpenThread library myself ever. It is quite an effort I think because I have to build the crypto library first and then build OpenThread library adding it?

    3. I use NCP over USB

    4. Before reprogramming the Border Router, I tried several time resolving the issue by power-off-reset the Border Router. However, this did not help resolving the issue. I had to reprogram it, then the issue was solved.

    It would be nice to hear if you see the same problem. I observe this issue since the very fist version of your SDK (V0.8.0).

    Best, Reto

  • I ran "make" to rebuild the libmbedcrypto-cc310.a. I checked the OPENTHREAD_CONFIG_LOG_LEVEL in the file openthread-core-default-config.h: it was already set to OT_LOG_LEVEL_CRIT. Then I copied the lates OpenThread commit to nRF_Thread_SDK0.11.0\external\openthread\project and ran build_gcc_libs.bat.

    I changed the make file of my project accordingly: Libraries common to all targets

    LIB_FILES += \
    $(SDK_ROOT)/external/openthread/project/lib/openthread_cli/ftd/armgcc/libopenthread-cli-ftd.a \
    $(SDK_ROOT)/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a \
    $(SDK_ROOT)/external/openthread/project/lib/openthread_nrf52840/sdk/uart/armgcc/libopenthread-nrf52840-sdk.a \
    $(SDK_ROOT)/external/openthread/project/lib/openthread_diag/armgcc/libopenthread-diag.a \
    $(SDK_ROOT)/external/openthread/lib/gcc/libmbedcrypto-cc310.a \
    $(SDK_ROOT)/external/nrf_cc310/lib/libcc310_gcc_0.9.0.a \
    

    Then I get this: "make" -s --no-print-directory -f "../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/components/toolchain/gcc/dump.mk" VARIABLE=CONTENT_TO_DUMP > _build/nrf52840_xxaa_thingsio.in 'C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/arm-none-eabi-gcc' -O3 -g3 -mthumb -mabi=aapcs -L ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/components/toolchain/gcc -T./openthread_nrf52840.ld -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs @_build/nrf52840_xxaa_thingsio.in -Wl,-Map=_build/nrf52840_xxaa_thingsio.map -o _build/nrf52840_xxaa_thingsio.out ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread_cli/ftd/armgcc/libopenthread-cli-ftd.a(cli_uart.cpp.o):(.rodata._ZTIN2ot3Cli6ServerE[_ZTIN2ot3Cli6ServerE]+0x0): undefined reference to vtable for __cxxabiv1::__class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread_cli/ftd/armgcc/libopenthread-cli-ftd.a(cli_uart.cpp.o):(.rodata._ZTIN2ot3Cli4UartE+0x0): undefined reference tovtable for __cxxabiv1::__si_class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dataset_local.cpp.o): In function ot::MeshCoP::DatasetLocal::Clear()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:63: undefined reference tootPlatSettingsDelete' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dataset_local.cpp.o): In function ot::MeshCoP::DatasetLocal::IsPresent() const': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:68: undefined reference tootPlatSettingsGet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dataset_local.cpp.o): In function ot::MeshCoP::DatasetLocal::Get(ot::MeshCoP::Dataset&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:78: undefined reference tootPlatSettingsGet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dataset_local.cpp.o): In function ot::MeshCoP::DatasetLocal::Get(otOperationalDataset&) const': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:111: undefined reference tootPlatSettingsGet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dataset_local.cpp.o): In function ot::MeshCoP::DatasetLocal::Set(otOperationalDataset const&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:367: undefined reference tootPlatSettingsDelete' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:372: undefined reference to otPlatSettingsSet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dataset_local.cpp.o): In functionot::MeshCoP::DatasetLocal::Set(ot::MeshCoP::Dataset const&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:395: undefined reference to otPlatSettingsDelete' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:400: undefined reference tootPlatSettingsSet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dataset_manager.cpp.o): In function ot::MeshCoP::DatasetManager::ApplyConfiguration()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_manager.cpp:159: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(instance.cpp.o): In function ot::Instance::Instance()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/common/instance.cpp:75: undefined reference toot::Notifier::Notifier(ot::Instance&)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(instance.cpp.o): In function ot::Instance::AfterInit()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/common/instance.cpp:131: undefined reference tootPlatSettingsInit' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(instance.cpp.o): In function ot::Instance::FactoryReset()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/common/instance.cpp:172: undefined reference tootPlatSettingsWipe' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(instance_api.cpp.o): In function otSetStateChangedCallback': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/instance_api.cpp:88: undefined reference toot::Notifier::RegisterCallback(void ()(unsigned long, void), void*)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(key_manager.cpp.o): In function ot::KeyManager::SetPSKc(unsigned char const*)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/key_manager.cpp:90: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(key_manager.cpp.o): In function ot::KeyManager::ComputeKey(unsigned long, unsigned char*)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/key_manager.cpp:161: undefined reference to__cxa_end_cleanup' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(key_manager.cpp.o):(.ARM.extab.text._ZN2ot10KeyManager10ComputeKeyEmPh+0x0): undefined reference to __gxx_personality_v0' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(key_manager.cpp.o): In functionot::KeyManager::SetMasterKey(otMasterKey const&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/key_manager.cpp:139: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(key_manager.cpp.o): In functionot::KeyManager::SetSecurityPolicyFlags(unsigned char)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/key_manager.cpp:253: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(key_manager.cpp.o): In functionot::KeyManager::SetCurrentKeySequence(unsigned long)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/key_manager.cpp:192: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mac.cpp.o): In function~AesCcm': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to __cxa_end_cleanup' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mac.cpp.o):(.ARM.extab.text._ZN2ot3Mac3Mac23ProcessTransmitSecurityERNS0_5FrameE+0x0): undefined reference to__gxx_personality_v0' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mac.cpp.o): In function ~AesCcm': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to__cxa_end_cleanup' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mac.cpp.o):(.ARM.extab.text._ZN2ot3Mac3Mac22ProcessReceiveSecurityERNS0_5FrameERKNS0_7AddressEPNS_8NeighborE+0x0): undefined reference to __gxx_personality_v0' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In functionot::Mle::Mle::SetStateDetached()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:585: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In functionot::Mle::Mle::UpdateLinkLocalAddress()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:738: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In functionot::Mle::Mle::SetMeshLocalPrefix(unsigned char const*)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:805: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In functionot::Mle::Mle::Mle(ot::Instance&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:107: undefined reference to ot::Notifier::Callback::Callback(void (*)(ot::Notifier::Callback&, unsigned long), void*)' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:203: undefined reference toot::Notifier::RegisterCallback(ot::Notifier::Callback&)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In function ot::Mle::Mle::Store()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:400: undefined reference tootPlatSettingsSet' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:408: undefined reference to otPlatSettingsGet' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:419: undefined reference tootPlatSettingsSet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In function ot::Mle::Mle::Restore()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:316: undefined reference tootPlatSettingsGet' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:343: undefined reference to otPlatSettingsGet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In functionot::Mle::Mle::SetStateChild(unsigned short)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:613: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In functionot::Mle::Mle::SetLeaderData(unsigned long, unsigned char, unsigned char)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:857: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In functionot::Mle::Mle::HandleStateChanged(unsigned long)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:1300: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In function~AesCcm': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to __cxa_end_cleanup' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o):(.ARM.extab.text._ZN2ot3Mle3Mle11SendMessageERNS_7MessageERKNS_3Ip67AddressE+0x0): undefined reference to__gxx_personality_v0' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In function ot::Mle::Mle::Start(bool, bool)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:247: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o): In function ~AesCcm': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to__cxa_end_cleanup' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle.cpp.o):(.ARM.extab.text._ZN2ot3Mle3Mle16HandleUdpReceiveERNS_7MessageERKNS_3Ip611MessageInfoE+0x0): undefined reference to __gxx_personality_v0' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle_router.cpp.o): In functionot::Mle::MleRouter::RemoveStoredChild(unsigned short)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3745: undefined reference to otPlatSettingsGet' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3751: undefined reference tootPlatSettingsDelete' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle_router.cpp.o): In function ot::Mle::MleRouter::StoreChild(unsigned short)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3777: undefined reference tootPlatSettingsAdd' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle_router.cpp.o): In function ot::Mle::MleRouter::RefreshStoredChildren()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3787: undefined reference tootPlatSettingsDelete' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle_router.cpp.o): In function ot::Mle::MleRouter::RestoreChildren()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3696: undefined reference tootPlatSettingsGet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle_router.cpp.o): In function ot::Mle::MleRouter::SignalChildUpdated(otThreadChildTableEvent, ot::Child&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:4946: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle_router.cpp.o): In function ot::Mle::MleRouter::SetStateRouter(unsigned short)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:430: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(mle_router.cpp.o): In function ot::Mle::MleRouter::SetStateLeader(unsigned short)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:469: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(netif.cpp.o): In function ot::Ip6::Netif::SubscribeAllRoutersMulticast()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/net/netif.cpp:160: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(netif.cpp.o): In function ot::Ip6::Netif::UnsubscribeAllRoutersMulticast()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/net/netif.cpp:192: undefined reference toot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(netif.cpp.o):C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/net/netif.cpp:213: more undefined references to ot::Notifier::SetFlags(unsigned long)' follow ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(netif.cpp.o):(.rodata._ZTIN2ot15InstanceLocatorE[_ZTIN2ot15InstanceLocatorE]+0x0): undefined reference tovtable for __cxxabiv1::__class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(netif.cpp.o):(.rodata._ZTIN2ot3Ip65NetifE[_ZTIN2ot3Ip65NetifE]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(network_data_leader.cpp.o): In functionot::NetworkData::LeaderBase::Reset()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/network_data_leader.cpp:71: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(network_data_leader.cpp.o): In functionot::NetworkData::LeaderBase::SetNetworkData(unsigned char, unsigned char, bool, unsigned char const*, unsigned char)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/network_data_leader.cpp:426: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(network_data_leader.cpp.o): In functionot::NetworkData::LeaderBase::SetCommissioningData(unsigned char const*, unsigned char)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/network_data_leader.cpp:449: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(network_data_leader_ftd.cpp.o): In functionot::NetworkData::Leader::IncrementVersion()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/network_data_leader_ftd.cpp:107: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(network_data_leader_ftd.cpp.o): In functionot::NetworkData::Leader::RemoveBorderRouter(unsigned short)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/network_data_leader_ftd.cpp:146: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(network_data_leader_ftd.cpp.o):C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/network_data_leader_ftd.cpp:772: more undefined references toot::Notifier::SetFlags(unsigned long)' follow ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(thread_api.cpp.o): In function otThreadGetAutoStart': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/thread_api.cpp:507: undefined reference tootPlatSettingsGet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(thread_api.cpp.o): In function otThreadSetAutoStart': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/thread_api.cpp:524: undefined reference tootPlatSettingsSet' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(thread_netif.cpp.o):(.rodata._ZTIN2ot11ThreadNetifE+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(coap.cpp.o):(.rodata._ZTIN2ot4Coap4CoapE[_ZTIN2ot4Coap4CoapE]+0x0): undefined reference tovtable for __cxxabiv1::__si_class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(coap.cpp.o):(.rodata._ZTIN2ot4Coap15ApplicationCoapE[_ZTIN2ot4Coap15ApplicationCoapE]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(coap.cpp.o):(.rodata._ZTIN2ot4Coap8CoapBaseE+0x0): undefined reference tovtable for __cxxabiv1::__si_class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(coap_secure.cpp.o):(.rodata._ZTIN2ot4Coap10CoapSecureE+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(commissioner.cpp.o): In functionot::MeshCoP::Commissioner::HandleLeaderPetitionResponse(ot::Coap::Header*, ot::Message*, ot::Ip6::MessageInfo const*, otError)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/commissioner.cpp:680: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(commissioner.cpp.o): In functionot::MeshCoP::Commissioner::Stop()': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/commissioner.cpp:130: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dtls.cpp.o): In functionot::MeshCoP::Dtls::HandleMbedtlsExportKeys(unsigned char const*, unsigned char const*, unsigned int, unsigned int, unsigned int)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dtls.cpp:375: undefined reference to __cxa_end_cleanup' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(dtls.cpp.o):(.ARM.extab.text._ZN2ot7MeshCoP4Dtls23HandleMbedtlsExportKeysEPKhS3_jjj+0x0): undefined reference to__gxx_personality_v0' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(energy_scan_server.cpp.o): In function ot::EnergyScanServer::EnergyScanServer(ot::Instance&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/energy_scan_server.cpp:64: undefined reference toot::Notifier::Callback::Callback(void ()(ot::Notifier::Callback&, unsigned long), void)' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/energy_scan_server.cpp:66: undefined reference to ot::Notifier::RegisterCallback(ot::Notifier::Callback&)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(joiner.cpp.o): In functionot::MeshCoP::Joiner::Start(char const*, char const*, char const*, char const*, char const*, char const*, void ()(otError, void), void*)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/joiner.cpp:101: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(joiner.cpp.o): In functionot::MeshCoP::Joiner::Complete(otError)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/joiner.cpp:176: undefined reference to ot::Notifier::SetFlags(unsigned long)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(joiner_router.cpp.o): In functionot::MeshCoP::JoinerRouter::JoinerRouter(ot::Instance&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/joiner_router.cpp:67: undefined reference to ot::Notifier::Callback::Callback(void (*)(ot::Notifier::Callback&, unsigned long), void*)' C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/joiner_router.cpp:71: undefined reference toot::Notifier::RegisterCallback(ot::Notifier::Callback&)' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(meshcop.cpp.o): In function ot::MeshCoP::ComputeJoinerId(ot::Mac::ExtAddress const&, ot::Mac::ExtAddress&)': C:\Work\nRF52840_ThingsIO\Nordic_nRFSDK\nRF_Thread_SDK0.11.0\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/meshcop.cpp:50: undefined reference to__cxa_end_cleanup' ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/external/openthread/project/lib/openthread/ftd/armgcc/libopenthread-ftd.a(meshcop.cpp.o):(.ARM.extab.text.ZN2ot7MeshCoP15ComputeJoinerIdERKNS_3Mac10ExtAddressERS2+0x0): undefined reference to `__gxx_personality_v0' collect2.exe: error: ld returned 1 exit status ../../../Nordic_nRFSDK/nRF_Thread_SDK0.11.0/components/toolchain/gcc/Makefile.common:292: recipe for target '_build/nrf52840_xxaa_thingsio.out' failed make: *** [_build/nrf52840_xxaa_thingsio.out] Error 1

  • Dear Lukasz Duda,

    I tried again and followed the Nordic instructions here, but I got the same errors like I posted above:

    Building the library with GCC on Windows

    1. Download or clone the OpenThread stack repository to the /external/openthread/project/openthread folder.
    2. Run the build_gcc_libs.bat script to build all of the libraries.
    3. After the libraries are built, use the provided script (/external/openthread/project/import_gcc_libs.bat) to copy the compiled libraries to the output folder.
    4. Copy the /external/project/openthread/include folder into the /external/openthread folder.
    5. Now you can recompile the examples with the latest libraries.
Related