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
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.
Thank You,
Jitendra
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.
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)
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
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.
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
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.
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.
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
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
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.
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
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.