# Copyright (c) 2018-2023 O.S.Systems # SPDX -License-Identifier: Apache-2.0 menuconfig UPDATEHUB bool"UpdateHub Firmware Over-the-Air support" depends on FLASH depends on REBOOT depends on IMG_MANAGER depends on BOOTLOADER_MCUBOOT depends on NETWORKING depends on NET_UDP depends on NET_SOCKETS depends on NET_SOCKETS_POSIX_NAMES depends on COAP depends on DNS_RESOLVER depends on JSON_LIBRARY depends on HWINFO select REQUIRES_FULL_LIBC select IMG_ENABLE_IMAGE_CHECK select MPU_ALLOW_FLASH_WRITE help UpdateHub is an enterprise-grade solution which makes simple to remotely update all your embedded devices in the field. It handles all aspects related to sending Firmware Over-the-Air (FOTA) updates with maximum security and efficiency, while you focus in adding value to your product. if UPDATEHUB config UPDATEHUB_POLL_INTERVAL int "Time to poll interval (in minutes)" default 1440 range 0 43200 help Set the interval that the UpdateHub update server will be polled. This time interval is zero and 43200 minutes(30 days). config UPDATEHUB_PRODUCT_UID string "Product Unique Identifier (UID)" help The product unique identifier is used when communicating with the UpdateHub server. config UPDATEHUB_SUPPORTED_HARDWARE_MAX int "Max number of supported hardware" default 1 range 1 100 help Configure the max number of supported hardware by the same image. config UPDATEHUB_CE bool "Use UpdateHub Community Edition Sever" help Allow the use of UpdateHub Community Server (updatehub-ce) as alternative to the updatehub.io enterprise server. config UPDATEHUB_SERVER string "User address for the updatehub-ce-server" depends on UPDATEHUB_CE help This configuration is default, if need to use other address, must be set on the UpdateHub shell config UPDATEHUB_SHELL bool "UpdateHub shell utilities" depends on SHELL select KERNEL_SHELL help Activate shell module that provides UpdateHub commands like config UPDATEHUB_DTLS bool"Activate communication CoAPS/DTLS" select MBEDTLS select MBEDTLS_ENABLE_HEAP select NET_SOCKETS_SOCKOPT_TLS select NET_SOCKETS_ENABLE_DTLS help Enables DTLS communication between the UpdateHub client and the server config UPDATEHUB_COAP_CONN_TIMEOUT int "CoAP connection timeout in seconds" default 10 range 1 360 help Set the CoAP connection timeout value. config UPDATEHUB_COAP_MAX_RETRY int "Maximum retries attempts to download a packet" default 10 range 3 10 help Set the maximum number of retries attempts to download a packet before abort a current update. config UPDATEHUB_COAP_BLOCK_SIZE_EXP int "Max CoAP block size defined as 2^(4 + EXP)" default 6 range 0 6 help Configure the max size of a data payload were value: 0 - COAP_BLOCK_16 1 - COAP_BLOCK_32 2 - COAP_BLOCK_64 3 - COAP_BLOCK_128 4 - COAP_BLOCK_256 5 - COAP_BLOCK_512 6 - COAP_BLOCK_1024 This value is mapped directly to enum coap_block_size. choice prompt "Firmware verification" default UPDATEHUB_DOWNLOAD_STORAGE_SHA256_VERIFICATION config UPDATEHUB_DOWNLOAD_SHA256_VERIFICATION bool "SHA-256 on download" help Enables SHA-256 verification of data stream while downloading. Notice that it does not check whether the image written to a storage is still valid, it only confirms that what has been downloaded matches the server side SHA. To check if the data written to permanent storage matches the SHA simultaneously, enable "Both download and flash verifications" option. config UPDATEHUB_STORAGE_SHA256_VERIFICATION bool "SHA-256 from flash" help Enables SHA-256 verification of stored data stream. When this option is enabled, the data stream will be read back from the storage and verified with SHA to make sure that it has been correctly written. To check if the download data stream matches the SHA simultaneously, enable "Both download and flash verifications" option. config UPDATEHUB_DOWNLOAD_STORAGE_SHA256_VERIFICATION bool "SHA-256 from both download and flash" help Enables SHA-256 verification on both data stream while downloading and stored data stream on flash. It is advised to leave this option enabled. endchoice choice FLASH_AREA_CHECK_INTEGRITY_BACKEND default FLASH_AREA_CHECK_INTEGRITY_MBEDTLS endchoice module = UPDATEHUB module-str = Log level for UpdateHub module-help = Enables logging for UpdateHub code. source "subsys/logging/Kconfig.template.log_config" endif