RFID not get recover from NFCC not coming out from Standby

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RFID not get recover from NFCC not coming out from Standby

791 Views
jitendra_thakare
Contributor II

Hi Team,

I am using Linux kernel version 5.4 in that for NXP diver, with nxp-pn5xx/pn5xx_i2c  and the library is libnfc_nci_linux-1.so.0.0.0 , RFID chip :-  PN71506.

After reboot RFID cad start getting detected every time, But if we keep devices in idea for some time, After some time RFID not getting detected. we are observing "pn54x_dev_read: i2c_master_recv returned -121" fail loges from kernel side we enable log for lib and observer " NFCC not coming out from Standby " 

 

 2024:03:05-11:42:22.771 NxpHal: Force FW Download, NFCC not coming out from Standby

 2024:03:05-11:42:22.772 NxpFunc: NfcAdaptation::HalDeviceContextCallback: event=6

 2024:03:05-11:42:23.430 NxpTml: _i2c_read() [hdr] errno : 10

2024:03:05-11:42:23.430 NxpTml: PN54X - Error in I2C Read.....

Kindly find the attached mail . Can you please help?

Thank You,

Jitendra

 

0 Kudos
13 Replies

712 Views
jitendra_thakare
Contributor II

Hi Eduardo,
We are using 2.4.1  bellow are the loges.
git$ git tag
R2.2
R2.4
R2.4.1

git$ git log --oneline -20
171a0d4 (HEAD -> master) Fix broken links
6c50514 Merge pull request #125 from corneliusclaussen/fix-segfault-mifareclassic-extension
36d6513 replace context struct to correctly initialize mifare classic callbacks
2b6dfb9 Fix build issue observed with some specific toolchains
2aff644 Update README.md
22a1a33 Prevent potential deadlock during MIFARE Classic formatting operation
ef8a22f Fixing potential deadlock during MIFARE classic card NDEF formating in case Tag is lost during the formating procedure
eee8419 Prevent "set but not used" warning
24d8f13 Fix potential ISO15693 tag presence check issue
37e840e Add timestamp in debug traces
918075c Recovery mechanism of new PN7150 Allow setting configuration files path Allowing sector_select T2T command
e035bc2 (tag: R2.4.1) Add license file

Kindly find I2C communication waveform in zip file.


UM10936 (nxp.com)

jitendra_thakare_1-1709789041661.png


Thank You,

Jitendra

0 Kudos

689 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

Could you please share your *.conf file?

Perhaps you could consider the host device to pull VEN pin (PN7150) voltage low to perform a reset by hardware, as described in PN7150 Data Sheet, Section 12.6 Reset concept.

Please, consider that, as this product is not recommended for new designs, our support may be limited. I apologize for the inconvenience this might cause you.

Regards,
Eduardo.

0 Kudos

663 Views
jitendra_thakare
Contributor II

Hi Eduardo,

We are using bellow *.conf file.

linux_libnfc-nci/conf at master · NXPNFCLinux/linux_libnfc-nci (github.com)

Reset functionality are present.

2024:03:06-10:02:50.945 NxpTml:     Opening port=/dev/pn544
2024:03:06-10:02:50.945 NxpTml:     phTmlNfc_i2c_reset(), VEN level 1
2024:03:06-10:02:50.946 NxpFunc:    Nfc: NFC_SetTraceLevel () new_level = 0
2024:03:06-10:02:51.165 NxpTml:     phTmlNfc_i2c_reset(), VEN level 0
2024:03:06-10:02:51.385 NxpTml:     phTmlNfc_i2c_reset(), VEN level 1

Also can you please help us how can we enable Anti-tearing recovery mechanism?

Document link : UM10936 (nxp.com) 

jitendra_thakare_0-1709879078011.png

Also we suspecting that chip is not getting responding.
Can you please help to understand what exactly issue is?

Kindly find the more loges also.

Thank You,

Jitendra 

 

0 Kudos

639 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

Could you please confirm if you have referred to the PN71xx Linux Software Stack Integration Guidelines Application Note?

The only recommendation I could give is to implement a routine on your host's side to periodically reset your device.

Also, anti-tearing recovery mechanism is implemented as a feature on PN7150B0HN/C11006 variant firmware, and it is triggered in case EEPROM memory gets corrupted.

Regards,
Eduardo.

0 Kudos

559 Views
jitendra_thakare
Contributor II

Hi Eduardo,
Yes we have referred the same document.

AN11697 (nxp.com)

Can I remove VEN entry from dtsi file. What will be effect of it.
I2C_ENABLE} defines the GPIO number the NFC Controller VEN

 

Because we observer VEN get toggle before  issue get start.
After this log RFID not get detected.

2024:03:06-10:02:50.945 NxpTml:     phTmlNfc_i2c_reset(), VEN level 1
2024:03:06-10:02:50.946 NxpFunc:    Nfc: NFC_SetTraceLevel () new_level = 0
2024:03:06-10:02:51.165 NxpTml:     phTmlNfc_i2c_reset(), VEN level 0
2024:03:06-10:02:51.385 NxpTml:     phTmlNfc_i2c_reset(), VEN level 1 

 

I am getting bellow error if I remove dtsi entry.
Is it possible to remove VEN?
Can you suggest driver changes for same. 

pn544 1-0028: VEN GPIO error getting from OF node
pn544: probe of 1-0028 failed with error -2

 

Thank You,

Jitendra

 

0 Kudos

545 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

Since VEN is the reset pin and also sets the device in Hard Power Down, I would not recommend removing it from the driver.

Regards,
Eduardo.

0 Kudos

438 Views
jitendra_thakare
Contributor II

Hi Eduardo,
As in privies comment we explain we observer issue after VEN toggle.

In data sheet it showing as bellow for reset .

jitendra_thakare_0-1710768208372.png

But in our case VEN pulse width is 220ms.

jitendra_thakare_1-1710768649886.png

Can we control reset functionality?

Thank You,

Jitendra

0 Kudos

309 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

From the Data Sheet, the pulse width required so the device can reset should be at least 10us. A longer duration should not suppose an inconvenience.

Regards,
Eduardo.

0 Kudos

297 Views
Tomas_Parizek
NXP Employee
NXP Employee

Hello @EduardoZamora and @jitendra_thakare 

There is a call scheduled between NXP and Einfochips on Tuesday next week. 

We will discuss the issue. 

BR

Tomas 

0 Kudos

760 Views
jitendra_thakare
Contributor II

Hi Eduardo,
We are using NXPNFCLinux/nxp-pn5xx: NXP's NFC Open Source Kernel mode driver (github.com).

We have custom board.
This is privies ticket for same issue we are rise,

But it is close due to not able to respond due to some reason.
After some time ( around more than 3 hr )RFID not detected. - NXP Community
We check from hardware side power supply and I2C stability and it looks good.
 
Can you please help why it is going into standby mode?
How can we avoid this?

Thank You,
Jitendra

0 Kudos

772 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hello @jitendra_thakare

Hope you are doing well.

Could you please help us with a few more details? What release from Releases · NXPNFCLinux/linux_libnfc-nci are you using?

Are you using a custom board or is it one of our Development Kits?

Please, consider that PN7150 device is not recommended for new designs. We recommend using the PN7160.

Any additional information about your setup would be appreciated.

Regards,
Eduardo.

0 Kudos

748 Views
jitendra_thakare
Contributor II

Hi Eduardo,
We are using NXPNFCLinux/nxp-pn5xx: NXP's NFC Open Source Kernel mode driver (github.com).

We have custom board.
This is privies ticket for same issue we are rise,

But it is close due to not able to respond due to some reason.
After some time ( around more than 3 hr )RFID not detected. - NXP Community
We check from hardware side power supply and I2C stability and it looks good.
 

###############################################################################
# Standby enable settings. (disable=2F 00 01 00, enable=2F 00 01 01)
NXP_CORE_STANDBY={2F, 00, 01, 00}

Why it is going into standby mode?
How can we avoid this?

Also there are reset functionality present here. How can we set reset? 

Can you please help?


Thank You,
Jitendra

0 Kudos

731 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

As I understand, you are also using the GitHub - NXPNFCLinux/linux_libnfc-nci: Linux NFC stack for NCI based NXP NFC Controllers, is this correct? What is the Release you are using?

Could you please provide a capture of the I2C communication/interaction when this behavior occurs by using an oscilloscope or a logic analyzer?

Regards,
Eduardo.

0 Kudos