Known issues

Filter by versions:


Asset tracker

External antenna performance setting

The preprogrammed Asset Tracker does not come with the best external antenna performance.

Workaround: If you are using nRF9160 DK v0.15.0 or higher and Thingy:91 v1.4.0 or higher, set CONFIG_NRF9160_GPS_ANTENNA_EXTERNAL to y. Alternatively, for nRF9160 DK v0.15.0, you can set the CONFIG_NRF9160_GPS_COEX0_STRING option to AT%XCOEX0 when building the preprogrammed Asset Tracker to achieve the best external antenna performance.

NCSDK-5574: Warnings during FOTA

The nRF9160: Asset Tracker application prints warnings and error messages during successful FOTA.

NCSDK-6689: High current consumption in Asset Tracker

The nRF9160: Asset Tracker sample might show up to 2.5 mA current consumption in idle mode with CONFIG_POWER_OPTIMIZATION_ENABLE=y.

Sending data before connecting to nRF Cloud

The nRF9160: Asset Tracker sample does not wait for connection to nRF Cloud before trying to send data. This causes the sample to crash if the user toggles one of the switches before the board is connected to the cloud.

Other issues

NCSDK-5666: LTE Sensor Gateway

The nRF9160: LTE Sensor Gateway sample crashes when Thingy:52 is flipped.

NCSDK-6073: nrf_send is blocking

The nrf_send() function in the BSD library might be blocking for several minutes, even if the socket is configured for non-blocking operation. The behavior depends on the cellular network connection.

Workaround: For nRF Connect SDK v1.4.0, set the non-blocking mode for a partial workaround for non-blocking operation.

GPS sockets and SUPL client library stops working

The nRF9160: GPS sockets and SUPL client library sample stops working if SUPL client and SUPL client OS integration support is enabled, but the SUPL host name cannot be resolved.

Workaround: Insert a delay (k_sleep()) of a few seconds after the printf on line 294 in main.c.

Calling nrf_connect immediately causes fail

nrf_connect fails if called immediately after initialization of the device. A delay of 1000 ms is required for this to work as intended.

Problems with RTT Viewer/Logger

The SEGGER Control Block cannot be found by automatic search by the RTT Viewer/Logger.

Workaround: Set the RTT Control Block address to 0 and it will try to search from address 0 and upwards. If this does not work, look in the builddir/zephyr/ file to find the address of the _SEGGER_RTT symbol in the map file and use that as input to the viewer/logger.

Receive error with large packets

nRF91 fails to receive large packets (over 4000 bytes).

Modem FW reset on debugger connection through SWD

If a debugger (for example, J-Link) is connected via SWD to the nRF9160, the modem firmware will reset. Therefore, the LTE modem cannot be operational during debug sessions.



FOTA does not work

FOTA with the SMP Server Sample does not work.


Missing CMakeLists.txt

The CMakeLists.txt file for developing applications that emulate nRF52820 on the nRF52833 DK is missing.

Workaround: Create a CMakeLists.txt file in the ncs/zephyr/boards/arm/nrf52833dk_nrf52820 folder with the following content:


You can download this file from the upstream Zephyr repository. After you add it, the file is automatically included by the build system.


KRKNWK-7803: Automatically generated libraries are missing otPlatLog for NCP

When building OpenThread libraries using a different sample than the Thread NCP sample, the ncp_base.cpp is not compiled with the otPlatLog() function. This results in a linking failure when building the NCP with these libraries.

Workaround: Use the Thread NCP sample to create OpenThread libraries.

NCSDK-5014: Building with SES not possible

It is not possible to build Thread samples using SEGGER Embedded Studio (SES). SES does not support .cpp files in nRF Connect SDK projects.

KRKNWK-6358: CoAP client sample provisioning issues

It is not possible to provision the Thread: CoAP Client sample to servers that it cannot directly communicate with. This is because Link Local Address is used for communication.

KRKNWK-6408: diag command not supported

The diag command is not yet supported by Thread in the nRF Connect SDK.


KRKNWK-6073: Potential delay during FOTA

There might be a noticeable delay (~220 ms) between calling the ZBOSS API and on-the-air activity.

KRKNWK-6071: ZBOSS alarms inaccurate

On average, ZBOSS alarms last longer by 6.4 percent than Zephyr alarms.

Workaround: Use Zephyr alarms.

nRF Desktop

DESK-978: Directed advertising issues with SoftDevice Link Layer

Directed advertising (CONFIG_DESKTOP_BLE_DIRECT_ADV) should not be used by the nRF Desktop application when the SoftDevice Controller is in use, because that leads to reconnection problems. For more detailed information, see the Known issues and limitations section of the SoftDevice Controller’s Changelog.

Workaround: Directed advertising is disabled by default for nRF Desktop.


Bluetooth LE

NCSDK-5711: High-throughput transmission can deadlock the receive thread

High-throughput transmission can deadlock the receive thread if the connection is suddenly disconnected.

Only secure applications can use Bluetooth LE

Bluetooth LE cannot be used in a non-secure application, for example, an application built for the nrf5340_dk_nrf5340_cpuappns board.

Workaround: Use the nrf5340_dk_nrf5340_cpuapp board instead.

Peripheral HIDS keyboard sample cannot be used with nRF Bluetooth LE Controller

The Bluetooth: Peripheral HIDS keyboard sample cannot be used with the SoftDevice Controller because the NFC subsystem does not work with the controller library. The library uses the MPSL Clock driver, which does not provide an API for asynchronous clock operation. NFC requires this API to work correctly.

Peripheral HIDS mouse sample advertising issues

When the Bluetooth: Peripheral HIDS mouse sample is used with the Zephyr Bluetooth LE Controller, directed advertising does not time out and the regular advertising cannot be started.

Central HIDS sample issues with directed advertising

The Bluetooth: Central HIDS sample cannot connect to a peripheral that uses directed advertising.

Unstable samples

Bluetooth Low Energy peripheral samples are unstable in some conditions (when pairing and bonding are performed and then disconnections/re-connections happen).

CONFIG_BT_SMP alignment requirement

When running the Bluetooth: Central DFU SMP sample, the CONFIG_BT_SMP configuration must be aligned between this sample and the Zephyr counterpart (SMP Server Sample). However, security is not enabled by default in the Zephyr sample.

Reconnection issues on some operating systems

On some operating systems, the nRF Desktop application is unable to reconnect to a host.

Bluetooth: Central UART cannot handle long strings

A too long 212-byte string cannot be handled when entered to the console to send to Bluetooth: Peripheral UART.

Bluetooth: Central HIDS loses UART connectivity

After programming a HEX file to the nrf52_pca10040 board, UART connectivity is lost when using the BLE Controller. The board must be reset to get UART output.

Samples crashing on nRF51 when using GPIO

On nRF51 devices, Bluetooth LE samples that use GPIO might crash when buttons are pressed frequently. In such case, the GPIO ISR introduces latency that violates real-time requirements of the Radio ISR. nRF51 is more sensitive to this issue than nRF52 (faster core).

GATT Discovery Manager missing support

The GATT Discovery Manager is not supported on nRF51 devices.

Samples do not work with SD Controller v0.1.0

Bluetooth LE samples cannot be built with the SoftDevice Controller v0.1.0.

LED Button Service reporting issue

Bluetooth: Peripheral LBS does not report the Button 1 state correctly.

MITM protection missing for central samples

The central samples (Bluetooth: Central UART, Bluetooth: Central HIDS) do not support any pairing methods with MITM protection.

Peripheral UART string size issue

Bluetooth: Peripheral UART cannot handle the corner case that a user attempts to send a string of more than 211 bytes.

Reconnection issues after bonding

The peripheral samples (Bluetooth: Peripheral UART, Bluetooth: Peripheral LBS, Bluetooth: Peripheral HIDS mouse) have reconnection issues after performing bonding (LE Secure Connection pairing enable) with nRF Connect for Desktop. These issues result in disconnection.

Bluetooth Mesh

NCSDK-5580: nRF5340 only supports SoftDevice Controller

On nRF5340, only the SoftDevice Controller is supported for Bluetooth Mesh.


Public keys revocation

Public keys are not revoked when subsequent keys are used.

Incompatibility with nRF51

The bootloader does not work properly on nRF51.

Immutable bootloader not supported in SES

Building and programming the immutable bootloader (see Secure bootloader chain) is not supported in SEGGER Embedded Studio.

Immutable bootloader board restrictions

The immutable bootloader can only be used with the following boards:

  • nrf52840_pca10056

  • nrf9160_pca10090

Build system

KRKNWK-7827: Application build system is not aware of the settings partition

The application build system is not aware of partitions, including the settings partition, which can result in application code overlapping with other partitions. As a consequence, writing to overlapping partitions might remove or damage parts of the firmware, which can lead to errors that are difficult to debug.

Workaround: Define and use a code partition to shrink the effective flash memory available for the application. You can use one of the following solutions:

Build configuration issues

The build configuration consisting of Immutable bootloader, Secure Partition Manager, and application does not work.

Workaround: Either include MCUboot in the build or use MCUboot instead of the immutable bootloader.

Flash commands only program one core

west flash and ninja flash only program one core, even if multiple cores are included in the build.

Workaround: Execute the flash command from inside the build directory of the child image that is placed on the other core (for example, build/hci_rpmsg).

Secure Partition Manager and application building together

It is not possible to build and program Secure Partition Manager and the application individually.


NCSDK-6238: Socket API calls may hang when using Download client

When using the Download client library with HTTP (without TLS), the application might not process incoming fragments fast enough, which can starve the BSD library buffers and make calls to BSD library hang. Samples and applications that are affected include those that use Download client to download files through HTTP, or those that use FOTA download with modem updates enabled.


Jobs not received after reset

When using AWS FOTA, no new jobs are received on the device if the device is reset during a firmware upgrade or loses the MQTT connection.

Workaround: Delete the stalled in progress job from AWS IoT.

Stalled download

FOTA download does not resume a download if the device loses the connection.

Workaround: Call fota_download_start() again with the same arguments when the connection is re-established to resume the download.

Offset not retained with an MCUboot target

When using the MCUboot target in DFU target, the write/downloaded offset is not retained when the device is reset.

Download stopped on socket connection time-out

In the nRF9160: AWS FOTA and nRF9160: HTTP application update samples, the download is stopped if the socket connection times out before the modem can delete the modem firmware. A fix for this issue is available in commit 38625ba7.

Workaround: Call fota_download_start() again with the same arguments.

Update event triggered by an error event

If the last fragment of a FOTA download is received but is corrupted, or if the last write is unsuccessful, the library emits an error event as expected. However, it also emits an apply/request update event, even though the downloaded data is invalid.

FW upgrade is broken for multi-image builds

Firmware upgrade using mcumgr or USB DFU is broken for multi-image builds, because the devicetree configuration is not used. Therefore, it is not possible to upload the image.

Workaround: Build MCUboot and the application separately.


Sample incompatibility with the nRF5340 PDK

The NFC: TNEP poller and NFC: Tag reader samples cannot be run on the nRF5340 PDK. There is an incorrect number of pins defined in the MDK files, and the pins required for NFC Reader ST25R3911B cannot be configured properly.

Unstable NFC tag samples

NFC tag samples are unstable when exhaustively tested (performing many repeated read and/or write operations). NFC tag data might be corrupted.

Secure Partition Manager (SPM)

NCSIDB-114: Default logging causes crash

Enabling default logging in the Secure Partition Manager sample makes it crash if the sample logs any data after the application has booted (for example, during a SecureFault, or in a secure service). At that point, RTC1 and UARTE0 are non-secure.

Workaround: Do not enable logging and add a breakpoint in the fault handling, or try a different logging backend.


Recovery with the USB does not work

The MCUboot recovery feature using the USB interface does not work.



NCSDK-5883: CMAC behavior issues

CMAC glued with multiple backends may behave incorrectly due to memory allocation issues.

Workaround: Disable glued CMAC and use only one of the enabled backends.

NCSDK-5546: Oberon missing symbols for HKDF

nRF Oberon v3.0.5 is missing symbols for HKDF using SHA1, which will be fixed in an upcoming version of the library.

Workaround: Use a different backend (for example, vanilla mbed TLS) for HKDF/HMAC using SHA1.

Limited support for Nordic Security Module

The Nordic Security Module is currently only fully supported on nRF52840 and nRF9160 devices. It gives compile errors on nRF52832, nRF52833, nRF52820, nRF52811, and nRF52810.

Workaround: To fix the errors, cherry-pick commits in nrfxlib PR #205.

Glue layer symbol renaming issue

The Nordic Security Module glue layer is broken because symbol renaming is not handled correctly. Therefore, the behavior is undefined when selecting multiple back-ends for the same algorithm (for example, AES).

GNSS sockets

Cold start and A-GPS data not supported

Forcing a cold start and writing A-GPS data is not yet supported.

Hard-fault with GPS in running mode

Implementation might hard-fault when GPS is in running mode and messages are not read fast enough.

NMEA strings might return wrong length

NMEA strings are valid c-strings (0-terminated), but the read function might return wrong length.

Closing sockets

Sockets can only be closed when GPS is in stopped mode. Moreover, closing a socket does not properly clean up all memory resources. If a socket is opened and closed multiple times, this might starve the system.

Multiprotocol Service Layer (MPSL)

The following known issues and limitations have been moved from MPSL’s changelog for the nRF Connect SDK v1.4.0 release.

DRGN-6362: Do not use the synthesized low frequency clock source

The synthesized low frequency clock source is neither tested nor intended for usage with MPSL.

DRGN-14153: Radio Notification power performance penalty

The Radio Notification feature has a power performance penalty proportional to the notification distance. This means an additional average current consumption of about 600 µA for the duration of the radio notification.

Front-End Modules API implementation missing

Front-End Modules API is currently not implemented by any protocol.

SoftDevice Controller

The following known issues and limitations have been moved from SD Controller’s changelog for the nRF Connect SDK v1.4.0 release.

DRGN-8476: Long packets not supported in connections on Coded PHY

In connections, the Link Layer payload size is limited to 27 bytes on LE Coded PHY.

DRGN-9083: AAR populated with zero IRK

If the application has set an all zeroes IRK for a device in the resolving list, then a resolvable address that can be resolved with the all zeroes IRK will be reported to the application as that device in the advertisement report or the connected event.

DRGN-10659: Directed advertising issues using RPA in TargetA

The SoftDevice Controller will generate a resolvable address for the TargetA field in directed advertisements if the target device address is in the resolving list with a non-zero IRK, even if privacy is not enabled and the local device address is set to a public address.

Workaround: Remove the device address from the resolving list.

DRGN-11297: Maximum CI before entering LLPM-mode

The maximum connection interval that can be active when switching to a connection interval of 1 ms is 10 ms.

Workaround: An application that needs to use a higher interval than 10 ms needs to perform two connection updates to use 1 ms connection interval:

  • A first update to 10 ms connection interval.

  • A second update to 1 ms connection interval.

DRGN-10305: Scanner can’t have more than 16 seconds scan window

If the scanner is configured with a scan window larger than 16 seconds, the scanner will truncate the scan window to 16 seconds.

DRGN-8569: SEVONPEND flag must not be modified

Applications must not modify the SEVONPEND flag in the SCR register when running in priority levels higher than 6 (priority level numerical values lower than 6) as this can lead to undefined behavior.

DRGN-6362: Synthesized low frequency clock source not tested

Synthesized low frequency clock source is not tested or intended for use with the Bluetooth LE stack.

DRGN-10367: Advertiser times out earlier than expected

If an extended advertiser is configured with limited duration, it will time out after the first primary channel packet in the last advertising event.

DRGN-12259: HCI Receiver and Transmitter Test commands not available

The HCI Receiver and Transmitter Test commands are not available.

Workaround: To perform a radio test, use a DTM application:

CONFIG_BT_HCI_TX_STACK_SIZE requires specific value

CONFIG_BT_HCI_TX_STACK_SIZE must be set to 1536 when selecting CONFIG_BT_LL_SOFTDEVICE.


CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE must be set to 2048 when selecting CONFIG_BT_LL_SOFTDEVICE on Bluetooth: Central UART and Bluetooth: Central BAS.

CONFIG_NFCT_IRQ_PRIORITY requires specific value

CONFIG_NFCT_IRQ_PRIORITY must be set to 5 or less when selecting CONFIG_BT_LL_SOFTDEVICE on Bluetooth: Peripheral HIDS keyboard.

Several issues for nRF5340

The following issues can occur when using SoftDevice Controller with nRF5340:

  • Poor performance when performing active scanning.

  • The controller could assert when receiving extended advertising packets.

  • The T_IFS could in certain conditions be off by 5 us.

  • The radio could stay in the TX state longer than expected. This issue can only occur when sending a packet on either LE 1M or LE 2M PHY after receiving or transmitting a packet on LE Coded PHY. If this occurs while performing a Link Layer Control Procedure, the controller could end up retransmitting an acknowledged packet, resulting in a disconnect.

Sending control packet twice

A control packet could be sent twice even after the packet was acknowledged. This would only occur if the radio was forced off due to an unforeseen condition.

Wait time required after a directed high duty cycle advertiser times out

The application is unable to restart a connectable advertiser right after a high-duty-cycle advertiser times out.

Workaround: Wait 500 ms before restarting a connectable advertiser

Assert risk after performing a DLE procedure

The controller could assert when receiving a packet with a CRC error on LE Coded PHY after performing a DLE procedure where RX Octets is changed to a value above 140.

Assert when using HCI LE Set Extended Advertising Parameters

The controller will assert when setting secondary PHY to 0 when using HCI LE Set Extended Advertising Parameters and the advertising type is set to legacy advertising.

HCI issues with duplicate filtering

HCI LE Set Extended Scan Enable returns UNSUPPORTED_FEATURE when duplicate filtering is enabled.

HCI issues with secondary_max_skip

HCI LE Set Advertising Parameters returns UNSUPPORTED_FEATURE when secondary_max_skip is set to a non-zero value.

No data issue when connected to multiple devices

hci_data_get() may return “No data available” when there is data available. This issue will only occur when connected to multiple devices at the same time.

Assert on LE Write Suggested Default Data Length

The controller will assert if the host issues LE Write Suggested Default Data Length.

HCI LE Set Privacy Mode appears as not supported

The controller does not indicate support for HCI LE Set Privacy Mode although it is supported.

Assert if advertising data is set after HCI Reset

The controller will assert if advertising data is set after HCI Reset without first setting advertising parameters.

Assert on writing to flash

The controller may assert when writing to flash.

Time-out without sending packet

A directed advertiser may time out without sending a packet on air.



Incorrect pin definition for nRF5340

For nRF5340, the pins P1.12 to P1.15 are unavailable due to an incorrect pin number definition in the MDK.

nrfx_saadc driver

Samples might be swapped

Samples might be swapped when buffer is set after starting the sample process, when more than one channel is sampled. This can happen when the sample task is connected using PPI and setting buffers and sampling are not synchronized.

nrfx_uarte driver

RX and TX not disabled in uninit

The driver does not disable RX and TX in uninit, which can cause higher power consumption.

nrfx_uart driver

tx_buffer_length set incorrectly

The nrfx_uart driver might incorrectly set the internal tx_buffer_length variable when high optimization level is set during compilation.


NCSDK-6330: USB Mass Storage Sample Application fails MSC Tests from USB3CV test tool

USB Mass Storage Sample Application fails the USB3CV compliance Command Set Test from the MSC Tests suite.

NCSDK-6328: USB CDC ACM Composite Sample Application fails Chapter 9 Tests from USB3CV test tool

USB CDC ACM Sample Composite Application fails the USB3CV compliance TD 9.1: Device Descriptor Test from the Chapter 9 Test suite.

NCSDK-6331: WebUSB sample application fails Chapter 9 Tests from USB3CV test tool

WebUSB sample application fails the USB3CV compliance TD 9.21: LPM L1 Suspend Resume Test from the Chapter 9 Test suite.

NCSIDB-108: Thread context switch might lead to a kernel fault

If the Zephyr kernel preempts the current thread and performs a context switch to a new thread while the current thread is executing a secure service, the behavior is undefined and might lead to a kernel fault. To prevent this situation, a thread that aims to call a secure service must temporarily lock the kernel scheduler (k_sched_lock()) and unlock the scheduler (k_sched_unlock()) after returning from the secure call.

Counter Alarm sample does not work

The Counter Alarm Sample does not work. A fix can be found in Pull Request #16736.

USB Mass Storage Sample Application compilation issues

USB Mass Storage Sample Application does not compile.

NCSDK-6832: SMP Server sample fails upon initialization

The SMP Server Sample will fail upon initialization when using the bt-overlay.conf Kconfig overlay file. This happens because of a stack overflow.

Workaround: Set CONFIG_MAIN_STACK_SIZE to 2048.

In addition to these known issues, check the current issues in the official Zephyr repository, since these might apply to the nRF Connect SDK fork of the Zephyr repository as well. To get help and report issues that are not related to Zephyr but to the nRF Connect SDK, go to Nordic’s DevZone.