websocket_connect undefined reference to 'mbedtls_sha1' ncs v2.8.0

Hi, I'm upgrading the ncs version of my project from v2.7.0 to v2.8.0 and I'm no longer able to compile the project due to a linker error because the websocket_connect function using mbedtls_sha1:

zephyr/subsys/net/lib/websocket/libwebsocket_client.a(websocket.c.obj): in function `websocket_connect':
C:/ncs/v2.9.0/zephyr/subsys/net/lib/websocket/websocket.c:282: undefined reference to `mbedtls_sha1
C:/ncs/v2.9.0/zephyr/subsys/net/lib/websocket/websocket.c:346: undefined reference to `mbedtls_sha1

Not sure what I'm missing here, any help appreciated. 

attaching prj.conf:

# Memory
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_MAIN_STACK_SIZE=16384
CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024
# CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
# CONFIG_NET_TCP_WORKQ_STACK_SIZE=4096
CONFIG_NET_MGMT_EVENT_STACK_SIZE=4096
# CONFIG_IDLE_STACK_SIZE=1024

# Logging
CONFIG_LOG=y
# CONFIG_LOG_MODE_MINIMAL=y  
CONFIG_NET_LOG=y
CONFIG_LOG_MODE_IMMEDIATE=y
# CONFIG_NVS_LOG_LEVEL_DBG=y
# CONFIG_NRF_MODEM_LIB_TRACE=y
# CONFIG_MODEM_LOG_LEVEL_DBG=y
# CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=y
# CONFIG_NET_HTTP_LOG_LEVEL_DBG=y
# CONFIG_NET_WEBSOCKET_LOG_LEVEL_DBG=y
# CONFIG_NET_CONTEXT_LOG_LEVEL_DBG=y
# CONFIG_NET_TCP_LOG_LEVEL_DBG=y
# CONFIG_LOG_BACKEND_UART=y
CONFIG_NVS_LOG_LEVEL_ERR=y # This one likes to be the center of attention for some reason. Setting to ERR to shut up...

# Modem
CONFIG_MODEM=y
CONFIG_MODEM_INFO=y

# Network
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y
CONFIG_NET_MGMT_EVENT_INFO=y
CONFIG_NETWORKING=y
CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y
CONFIG_NET_IPV4=y
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_BUF_DATA_SIZE=4096
# CONFIG_LOG_BUFFER_SIZE=6000
CONFIG_NET_STATISTICS=y

# Websocket
CONFIG_WEBSOCKET_CLIENT=y
CONFIG_MQTT_LIB=y
CONFIG_MQTT_LIB_WEBSOCKET=y
CONFIG_MBEDTLS_SHA1_C=y

# UART
CONFIG_UART_ASYNC_API=y
CONFIG_UART_3_ASYNC=y
CONFIG_UART_3_INTERRUPT_DRIVEN=n
CONFIG_UART_3_NRF_HW_ASYNC=y
CONFIG_UART_3_NRF_HW_ASYNC_TIMER=2

# Reboot
CONFIG_REBOOT=y

# HW id library
CONFIG_HW_ID_LIBRARY=y
CONFIG_HW_ID_LIBRARY_SOURCE_DEVICE_ID=y

# Flash Storage
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_NVS=y

# Bluejay LTE
CONFIG_BJLTE_CACHE_LOGIN_SESSION=y


## DEBUGGING ##

# Debug symbols
# CONFIG_NO_OPTIMIZATIONS=y

# Thread analyzer (Enable all of this stuff for debugging if you encounter a stack overflow)
# CONFIG_THREAD_ANALYZER=y
# CONFIG_THREAD_ANALYZER_USE_LOG=y
# CONFIG_THREAD_ANALYZER_AUTO=y
# CONFIG_THREAD_NAME=y

Parents
  • Hi,

    To enable the legacy crypto support mode of nRF Security in NCS v2.8.0, configure the CONFIG_NORDIC_SECURITY_BACKEND Kconfig option along with the additional settings outlined in the "Legacy configurations and supported features" section. This legacy mode provides backward compatibility for software that relies on Mbed TLS crypto toolbox functions prefixed with mbedtls_.

    As you see the note that the Mbed TLS legacy crypto toolbox APIs are deprecated as of nRF Connect SDK version 2.8.0 and will be removed in a future release. For new designs, it is strongly recommended to avoid using mbedtls_-prefixed functions and instead adopt the equivalent functionality available in the PSA Crypto APIs.

    Regards,
    Amanda H.

Reply
  • Hi,

    To enable the legacy crypto support mode of nRF Security in NCS v2.8.0, configure the CONFIG_NORDIC_SECURITY_BACKEND Kconfig option along with the additional settings outlined in the "Legacy configurations and supported features" section. This legacy mode provides backward compatibility for software that relies on Mbed TLS crypto toolbox functions prefixed with mbedtls_.

    As you see the note that the Mbed TLS legacy crypto toolbox APIs are deprecated as of nRF Connect SDK version 2.8.0 and will be removed in a future release. For new designs, it is strongly recommended to avoid using mbedtls_-prefixed functions and instead adopt the equivalent functionality available in the PSA Crypto APIs.

    Regards,
    Amanda H.

Children
No Data
Related