CONFIG_NET_NATIVE needs to be enabled for nRF9151 LTE-M

Hello,

I am developing an LTE-M application on nRF9151, using offloaded sockets to modem, including DTLS.

Everything works great - can connect to network, and communicate with a server over CoAP.

However, in my prj.conf, CONFIG_NET_NATIVE=y (enabled).

I am aware that this should be disabled typically for offloaded socket configuration. However this does not work for me.

When I set CONFIG_NET_NATIVE=n, I get this error during the connect phase:

[00:00:00.745,208] <dbg> nrf_modem_lib_netif: lte_net_if_connect: Connecting to LTE
[00:00:03.404,663] <dbg> nrf_modem_lib_netif: pdn_event_handler: PDN connection activated
[00:00:03.405,670] <err> nrf_modem_lib_netif: ipv4_addr_add, error: -19
[00:00:03.405,700] <dbg> nrf_modem_lib_netif: lte_net_if_disconnect: Disconnecting from LTE

here is my full network config:

# Network Config
CONFIG_NETWORKING=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_NET_NATIVE=y
CONFIG_NET_UDP=y
CONFIG_NET_IPV4=y

# Zephyr Network Connection Manager
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024

# nRF91 Modem
CONFIG_NRF_MODEM_LIB=y
CONFIG_NRF_MODEM_LIB_NET_IF=y
CONFIG_NRF_MODEM_LIB_NET_IF_LOG_LEVEL_DBG=y

# Disable Duplicate Address Detection (DAD)
# due to not being properly implemented for offloaded interfaces.
CONFIG_NET_IPV6_NBR_CACHE=n
CONFIG_NET_IPV6_MLD=n

# Network status monitoring
CONFIG_INYO_LTE_NETWORK_AT_MONITOR=n

I believe having CONFIG_NET_UDP=y & CONFIG_NET_IPV4=y are actually not necessary but they are enabled for now.

Despite not setting CONFIG_NET_NATIVE=n, I can still see the sockets being offloaded to modem lib and things work fine.

I would just like to understand what causes this issue since it should work with CONFIG_NET_NATIVE=n.

(I am using NCS v3.1.0, modem firwmare = mfw_nrf91x1_2.0.2)

 

Thanks in advance,

Jason

Related