We're using PN7160 on 64-bit linux. I'm troubleshooting one of our devices for a customer where their PN7160 stops detecting cards (every now and then). Unfortunately they haven't been able to give us their logs when they run into the issue so we're trying to replicate it in house. We haven't been able to replicate it; however, our logs from our testing shows several instances of INTF_ERROR_NTF(10). What does it this error mean?
2024:10:18-16:51:39.190 [583] PN54X - I2C Read successful..... 2024:10:18-16:51:39.190 [583] len = 4 > 600701A1 2024:10:18-16:51:39.190 [583] PN54X - Posting read message..... 2024:10:18-16:51:39.190 [583] PN54X - Waiting for rx semaphore..... 2024:10:18-16:51:39.190 [585] read successful status = 0x0 2024:10:18-16:51:39.190 [585] NfcAdaptation::HalDeviceContextDataCallback: len=4 2024:10:18-16:51:39.190 [585] PN54X - Signaling rx semaphore..... 2024:10:18-16:51:39.190 [581] GKI_wait task=3, Unlocked event mutex 2024:10:18-16:51:39.190 [583] PN54X - Read requested..... 2024:10:18-16:51:39.190 [583] PN54X - Invoking I2C Read..... 2024:10:18-16:51:39.191 [581] NFC_TASK: GKI_wait done. 2024:10:18-16:51:39.191 [581] NFC_TASK BT_EVT_TO_NFC_NCI. 2024:10:18-16:51:39.191 [581] NFC received ntf gid:0 2024:10:18-16:51:39.191 [581] nci_proc_core_ntf opcode:0x7 2024:10:18-16:51:39.191 [581] NFC_GEN_ERROR_REVT(0x500d) 2024:10:18-16:51:39.191 [581] nfa_dm_disc_data_cback 2024:10:18-16:51:39.191 [581] state: DISCOVERY (1), event: INTF_ERROR_NTF(10) disc_flags: 0x1 2024:10:18-16:51:39.191 [581] new state: DISCOVERY (1), disc_flags: 0x1 2024:10:18-16:51:39.209 [583] PN54X - I2C Read successful..... 2024:10:18-16:51:39.209 [583] len = 4 > 600701A1 2024:10:18-16:51:39.209 [583] PN54X - Posting read message..... 2024:10:18-16:51:39.209 [583] PN54X - Waiting for rx semaphore..... 2024:10:18-16:51:39.209 [585] read successful status = 0x0 2024:10:18-16:51:39.209 [585] NfcAdaptation::HalDeviceContextDataCallback: len=4 2024:10:18-16:51:39.209 [583] PN54X - Read requested..... 2024:10:18-16:51:39.209 [583] PN54X - Invoking I2C Read..... 2024:10:18-16:51:39.209 [581] NFC_TASK: GKI_wait done. 2024:10:18-16:51:39.209 [581] NFC_TASK BT_EVT_TO_NFC_NCI. 2024:10:18-16:51:39.210 [581] NFC received ntf gid:0 2024:10:18-16:51:39.210 [581] nci_proc_core_ntf opcode:0x7 2024:10:18-16:51:39.210 [581] NFC_GEN_ERROR_REVT(0x500d) 2024:10:18-16:51:39.210 [581] nfa_dm_disc_data_cback 2024:10:18-16:51:39.210 [581] state: DISCOVERY (1), event: INTF_ERROR_NTF(10) disc_flags: 0x1
Hello,
INTF_ERROR_NTF is part of the NCI specification. This is a notification that there was an error in the interface.
Unfortunately, for further information it is required to consult that specification. In the UM of the PN7150 (Which is not recommended but, works under NCI specification too) Is shown the state machine when CORE_INTF_ERROR_NTF occurs.
Hello sir,
We do have an Application Note for the RF settings guide: https://www.nxp.com/docs/en/application-note/AN13218.pdf
These settings will have to be according to your card performance and Reader Antenna design. Since the error isn't appearing while using DESFIRE EVx cards I believe that the issue could be in the application on, how the Classic card is being detected and managed. Still please take a look at the RF settings and, for ease of configurations, please also take a look at our RF settings command builder tool: https://www.nxp.com/webapp/Download?colCode=PN7160-RFSETTINGBUILDER&appType=license
All of this is in the PN7160 support page: https://www.nxp.com/products/rfid-nfc/nfc-hf/nfc-readers/nfc-plug-and-play-controller-with-integrate...
I must add that we highly recommend to please avoid the use of MIFARE Classic. This card has some vulnerabilities and we don't recommend it's usage. Even the support for MIFARE Classic cards is very limited from our side.
Yeah. We recommend our customers to not use classics as well, but it's their prerogative. I have the RF command builder tool installed and have attempted at making adjustments to CLIF values, but so far haven't had any luck reducing the INTF_ERRORs. Also, the classics are Type As so any tweaking I do to the transitions of the CLIF regs for Classics would theoretically also affect MiFare Desfires. The DesFires at present aren't causing any issues. It's just the Classics that are problematic..
Could you please clarify if you are using our EVK or a custom board? Please let us know if you are able to R/W your Classic card using TagWriter Android app. This in order to know that the card's antenna and IC is working as it should.
Also, are you using our nfc drivers for Linux: https://github.com/NXPNFCLinux/linux_libnfc-nci
This is a custom board of ours, and this INTF_ERROR comes up for all MiFare Classics. We are using https://github.com/NXPNFCLinux/linux_libnfc-nci
Hello sir,
I want to discard this since you haven't mentioned but, are you using the NDA version of the Library (SW6856) where we provide MIFARE Classic and DESFire examples for reading these cards. In case you do please let me know. Is quite strange that you are able to read a DESFire card and not a Classic.
No, we're just using the public nci library provided by NXP, not the NDA SW6856. Sorry if I wasn't clear in my original description. We can read both cards, but Classics cause the controller to generate this INTF_ERROR_NTF(10).
Hello,
I will have to highly recommend to please use the NDA version. Unfortunately I cannot provide further support for the implementations of MIFARE cards from other development teams.
This is due to the fact that we don’t know how the implementation was done and, how to help you fix this problem since this isn't a known issue from us.
In case you would like to sign the NDA please take a look at the following FAQ: https://www.nxp.com/support/support/non-disclosure-agreement-faqs:NDA-FAQS