| # 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 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 |
| select MBEDTLS if !BUILD_WITH_TFM |
| select MBEDTLS_SHA256 if !PSA_CRYPTO_CLIENT |
| 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 |
| |
| module = UPDATEHUB |
| module-str = Log level for UpdateHub |
| module-help = Enables logging for UpdateHub code. |
| source "subsys/logging/Kconfig.template.log_config" |
| |
| endif |