NFC and FOTA does not work

Hi

SDK: nRF Connect v2.6.1
uP: nRF52832

In my project I try to compbine NFC and FOTA (DFU over BLE). First I did setup a NFC project from the example "writable_ndef_msg". This is running. Then I did setup a demo project based on that example: https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-8-bootloaders-and-dfu-fota/

But after combining those two example project, FOTA does not run. In the "Device Manager" App on my mobile phone I received a "GATT CONN TIMEOUT" error, after starting a firmware upgrade. To speed up the start time, CONFIG_BOOT_VALIDATE_SLOT0=n is set to no in child_image/mcuboot.conf

I think I missed to set a configuration in the prj.conf file but I have no idea what could be wrong.

Further could that be a problem that NFC is allowed to write to the flash?

CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_NVS=y

Attached you find my project.

Thanks and best regards
Markus

  • I am not an expert in this but looking into other forums it seems like there could be some configs missing in your prj.conf 

    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
    
    # you did not mention below but seems like this is needed
    CONFIG_FLASH_MAP=y
    CONFIG_STREAM_FLASH=y
    
    

    If this did not work, then I can try asking the author of the lesson to give some guidance. 

  • Hi

    adding this configs does not fix the problem. I stille receive the "GATT CONN TIMEOUT" error, whil trying to upload a firmware with the "Device Manager" App

    CONFIG_FLASH_MAP=y
    CONFIG_STREAM_FLASH=y 

    My prj.conf files looks like this:

    #
    # Copyright (c) 2019 Nordic Semiconductor ASA
    #
    # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    #
    CONFIG_NCS_SAMPLES_DEFAULTS=y
    
    CONFIG_NFC_T4T_NRFXLIB=y
    
    CONFIG_NFC_NDEF=y
    CONFIG_NFC_NDEF_MSG=y
    CONFIG_NFC_NDEF_RECORD=y
    CONFIG_NFC_NDEF_URI_REC=y
    CONFIG_NFC_NDEF_URI_MSG=y
    
    CONFIG_MPU_ALLOW_FLASH_WRITE=y
    CONFIG_FLASH=y
    CONFIG_FLASH_PAGE_LAYOUT=y
    CONFIG_FLASH_MAP=y
    CONFIG_STREAM_FLASH=y
    CONFIG_NVS=y
    CONFIG_DK_LIBRARY=y
    
    
    # Enable Bluetooth for FOTA (DFU)
    CONFIG_BT=y
    CONFIG_BT_PERIPHERAL=y
    CONFIG_BT_DEVICE_NAME="TestDevice"
    
    # Enable MCUboot and FOTA
    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
    
    #use LFRC instead of LFXO --> decrease start up time
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
    
    

    As mentioned bevor. When using the code of the FOTA lesson, then FOTA is running correct. But when combining the FOTA Code with the NFC sample project, then FOTA does not run anymore.

    Yes please ask the author. Thanks a lot

  • Can you please provide me with the Air sniffer log of the connection and disconnection, so that I have more context to share and analyze?

  • I will try to setup the air sniffer. But I have some problems to run the sniffer.

    Meanwhile have tried to run the code which is attached in the first post?

  • Hi Marelcom,

    Susheel is out of office, and I am filling in for him.

    The attached file unfortunately cannot be downloaded. Perhaps something broke.

    If you have difficulty running the sniffer, you can refer to this online lesson: Lesson 6 - Bluetooth LE sniffer - Nordic Developer Academy.

    On the other hand, I find it very strange that the NFC functionality interfere with BLE at all. Does the BLE + DFU setup work at all without the NFC feature?

    Hieu

Related