nRF54L15: NFC T4T Library permanently deadlocks on Android field tears

Environment:

  • NCS Version: v3.2.2

  • Board: nRF54L15 DK (nrf54l15dk/nrf54l15/cpuapp)

  • Library: CONFIG_NFC_T4T_NRFXLIB=y (Type 4 Tag / ISO-DEP)

  • Sample Tested: nfc/writable_ndef_msg 

  • Poller: Samsung Galaxy S24 (NFC Tools and TagInfo)

The Problem: I am trying to use the T4T library to support a larger NDEF payload, but I cannot get the tag to survive multiple reads.

When tapping an Android phone, the very first read (or write) works perfectly. However, after pulling the phone away, the NFC state machine seems to permanently lock up. Any subsequent taps from the phone are completely ignored until the board is reset. (Note: Type 2 Tag examples seem to handle multiple taps without issue, this is isolated to T4T).

Things I have tried to fix it (None worked):

  1. Software Stop/Start: Calling nfc_t4t_emulation_stop() and then nfc_t4t_emulation_start() on a 500ms delay after FIELD_OFF.

  2. Library Teardown: Calling nfc_t4t_done() to completely uninitialize the library and rebuilding it from scratch.

  3. Hardware Teardown Override: Manually calling nrfx_nfct_disable() and nrfx_nfct_uninit() to try and force the hardware to release its state.

  4. DeviceTree Timer: Adding &timer24 { status = "okay"; }; to my application overlay, as I noticed other nRF54 series chips use hardware timers to debounce field tears.

  5. Disabled Logging: Setting CONFIG_LOG=n to ensure UART print statements aren't violating strict ISO-DEP microsecond timing.

Current Workaround: The only way I can get the tag to reliably respond to a second tap is by calling sys_reboot(SYS_REBOOT_COLD) immediately after the NFC_T4T_EVENT_NDEF_READ or UPDATED event finishes.

Questions:

  1. Is this a known issue with the T4T library / Android field tears on the nRF54L15 in NCS v3.2.2?

  2. Are there any specific configuration flags or patches I am missing to get the stock writable_ndef_msg sample to handle multiple reads?

Parents Reply Children
Related