Is there any guides or easy way to make the Azure IoT Sample work with the Thingy91 or e.g. Icarus IoT v2?
Is there any guides or easy way to make the Azure IoT Sample work with the Thingy91 or e.g. Icarus IoT v2?
Hello,
you can just follow the documentation here. The thingy91 is not in the supported list, but it should still work I believe.
No, it fails when building for the Thingy91 and Icarus IoT V2. Builds and work fine on nRF9161DK.
I am also unable to paste code/ build output in this editor, or just past the text in the editor. Uploading files also fails.
If trying to paste into code the "ok" button doesn't respond. (responds if writing simple short text), or I get "An error occurred. Please try again or contact your administrator." on "reply" I've tried Chrome and Edge. This also happens using other computer. Can't find any administrator contact on page.
Still unable to upload files or text.
Hello, and thanks for providing. Not sure why you are not able to upload files etc. but I did get the file through Google Drive.
Looking at the documentation of Azure IoT hub, the sample does not support Thingy:91.
Looking at the log provided it does state:
The closest I have to any kind of documentation for getting this to work is through e.g. https://purple.telstra.com/blog/device-authentication-with-nordic-thingy-91-and-azure-iot-hub
Kind regards,
Øyvind
Thanks for looking into this. Yes, I saw it was't supported in the sample, but I need to get it working with other nrf boards for it to be something we can use. What's the main reason it's so hard to get working on other boards?
Have inquired internally, no feedback yet. Hope to have an answer by end of this week.
Hello,
Øyvind said:Looking at the log provided it does state:
C:/Users/neshe/nRF/azure_iot_hub/src/main.c:202: undefined reference to `boot_write_img_confirmed', and I'm able to reproduce. Will need to discuss internally.
In order for boot_write_img_confirmed() to be compiled in, you need to enable CONFIG_MCUBOOT_IMG_MANAGER=y
Since the Thingy:91 is not officially supported in this sample, that needs to be done manually.
In general, you need to ensure that required options are enabled when adding support for a new board to an application. In this case, the following are needed from nrf9151dk_nrf9151_ns, i.e:
CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_AZURE_FOTA=y CONFIG_FOTA_DOWNLOAD=y CONFIG_DFU_TARGET=y CONFIG_MCUBOOT_IMG_MANAGER=y CONFIG_IMG_MANAGER=y CONFIG_STREAM_FLASH=y CONFIG_FLASH_MAP=y CONFIG_FLASH=y CONFIG_IMG_ERASE_PROGRESSIVELY=y CONFIG_DOWNLOAD_CLIENT=y CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096
Hello,
Øyvind said:Looking at the log provided it does state:
C:/Users/neshe/nRF/azure_iot_hub/src/main.c:202: undefined reference to `boot_write_img_confirmed', and I'm able to reproduce. Will need to discuss internally.
In order for boot_write_img_confirmed() to be compiled in, you need to enable CONFIG_MCUBOOT_IMG_MANAGER=y
Since the Thingy:91 is not officially supported in this sample, that needs to be done manually.
In general, you need to ensure that required options are enabled when adding support for a new board to an application. In this case, the following are needed from nrf9151dk_nrf9151_ns, i.e:
CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_AZURE_FOTA=y CONFIG_FOTA_DOWNLOAD=y CONFIG_DFU_TARGET=y CONFIG_MCUBOOT_IMG_MANAGER=y CONFIG_IMG_MANAGER=y CONFIG_STREAM_FLASH=y CONFIG_FLASH_MAP=y CONFIG_FLASH=y CONFIG_IMG_ERASE_PROGRESSIVELY=y CONFIG_DOWNLOAD_CLIENT=y CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096
Was able to build for the Thingy91, but didn't work. No terminal output either, so I don't see whats the issue.
Was not able to build for the Icarus IoT board. Any where I can get more info on how to get these to work?
Edit: I see now you have including options for the nrf9151dk_nrd9151_ns. I'm trying to get the nrf9160 (Thingy91 and Icarus IoT) to work. Is there any difference on options to include?
Neso said:Edit: I see now you have including options for the nrf9151dk_nrd9151_ns. I'm trying to get the nrf9160 (Thingy91 and Icarus IoT) to work. Is there any difference on options to include?
These are settings that are the same on all boards. I tested on my side without issues, expect for the need of an external flash.
So I was finally able to build for the Icarus IoT board. Still fails on connect, but do to faulty certificate. Tried rebuilding, but it suddenly fails all the time even if no changes have been made (Reverted from Git) How can that be? About to abandon nrf at this point. Help seriously needed..
Here's my latest fail.
[184/189] Linking C executable zephyr\zephyr_pre0.elf FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/mcuboot/zephyr/zephyr_pre0.map cmd.exe /C "cd . && C:\ncs\toolchains\b620d30767\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -Os -DNDEBUG -gdwarf-4 -gdwarf-4 zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr\zephyr_pre0.elf zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj -T zephyr/linker_zephyr_pre0.cmd -Wl,-Map=C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/mcuboot/zephyr/zephyr_pre0.map -Wl,--whole-archive app/libapp.a zephyr/libzephyr.a zephyr/arch/common/libarch__common.a zephyr/arch/arch/arm/core/libarch__arm__core.a zephyr/arch/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a zephyr/arch/arch/arm/core/cortex_m/cmse/libarch__arm__core__cortex_m__cmse.a zephyr/lib/libc/minimal/liblib__libc__minimal.a zephyr/lib/libc/common/liblib__libc__common.a zephyr/soc/soc/nrf9160/libsoc__nordic.a zephyr/boards/actinius/icarus/actinius_common/libboards__actinius__common.a zephyr/drivers/clock_control/libdrivers__clock_control.a zephyr/drivers/console/libdrivers__console.a zephyr/drivers/flash/libdrivers__flash.a zephyr/drivers/gpio/libdrivers__gpio.a zephyr/drivers/pinctrl/libdrivers__pinctrl.a zephyr/drivers/serial/libdrivers__serial.a zephyr/drivers/timer/libdrivers__timer.a modules/nrf/lib/fprotect/lib..__nrf__lib__fprotect.a modules/nrf/drivers/hw_cc3xx/lib..__nrf__drivers__hw_cc3xx.a modules/mcuboot/boot/bootutil/zephyr/libmcuboot_util.a modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a -Wl,--no-whole-archive zephyr/kernel/libkernel.a -LC:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/mcuboot/zephyr zephyr/arch/common/libisr_tables.a -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mfp16-format=ieee -fuse-ld=bfd -Wl,--gc-sections -Wl,--build-id=none -Wl,--sort-common=descending -Wl,--sort-section=alignment -Wl,-u,_OffsetAbsSyms -Wl,-u,_ConfigAbsSyms -nostdlib -static -Wl,-X -Wl,-N -Wl,--orphan-handling=warn -Wl,-no-pie C:/ncs/v2.9.0/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_platform_0.9.19.a C:/ncs/v2.9.0/nrfxlib/crypto/nrf_cc310_bl/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_bl_0.9.12.a -L"c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v8-m.main+fp/hard" -lc -lgcc && cmd.exe /C "cd /D C:\ncs\Nrf_Projects\azure_iot_hub\Supremebuild\mcuboot\zephyr && C:\ncs\toolchains\b620d30767\opt\bin\cmake.exe -E true"" c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/drivers/flash/libdrivers__flash.a(spi_nor.c.obj):(.rodata.spi_nor_0_config+0x0): undefined reference to `__device_dts_ord_117' collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed. [15/20] Generating ../dfu_application.zip FAILED: _sysbuild/sysbuild/images/bootloader/mcuboot-prefix/src/mcuboot-stamp/mcuboot-build C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/_sysbuild/sysbuild/images/bootloader/mcuboot-prefix/src/mcuboot-stamp/mcuboot-build cmd.exe /C "cd /D C:\ncs\Nrf_Projects\azure_iot_hub\Supremebuild\mcuboot && C:\ncs\toolchains\b620d30767\opt\bin\cmake.exe --build ." ninja: build stopped: subcommand failed. FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\b620d30767\opt\bin\cmake.EXE' --build C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild * The terminal process terminated with exit code: 1. * Terminal will be reused by tasks, press any key to close it.