Hi there!
After hours of searching I want to ask here now some questions.
First, - which NXP NFC controller models are exactly supported by the "PN5xx I2C kernel mode driver"? In the corresponding NXPNCI Android Porting Guidelines AN11690 it is noted that this driver supports "a large range of NXP’s NFC Controllers (e.g. PN544)." Well that's nice but not really helpful.
There are a lot of (different) NXP PN544 incarnations out there. Are those now all supported by the NXP-NCI Android stack under Android 4.4.4? How it looks regarding the NFC controller firmware version? What does mean that "NFCC version is too old" message other than that the corresponding chip or firmware is not supported?
There are a few reported problems at the XDA developer forums regarding the legacy NXP PN544 chip series and the NXP-NCI Android stack. As a result, some speculate that the "PN5xx I2C kernel mode driver" supports effectively only more recent NXP controller (e.g. PN547) fully. The legacy NXP PN544 range seems to be only partially supported. Furthermore there (may) exist also some vendor specific (e.g. Samsung) PN544 firmware variants which are not supported by the generic "PN5xx I2C kernel mode driver"…
As already mentioned, it would be really helpful if someone could bring more clarity regarding any unsupported PN544 chip & firmware combinations.
In another aspect I make some progress. Thanks to a pdf document from MasterCard (the big financial service company) I was able to fulfill my knowledge regarding the PN544 firmware topic somewhat deeper. (http://mastercard-mobilepartner.com/docs/NFC%20FW%20NXP%20v2%209_160328.pdf)
The PN544 C1 variant remains “mysterious”, - the most common models are PN544 C2 and PN544 C3. For those chip models there exist several firmware builds:
PN544 C2 ----> firmware 106, 107, 108.8, 108.12, 110.01, 110.14 and 110.16
PN544 C3 ----> firmware 1.06, 1.13, 1.20, 1.24, 1.26, 1.30, 1.32, 1.34 to 1.41
Additional Note: PN65N corresponds to a PN544 C2 with SmartMX secure element. PN65O to a PN544 C3 with SmartMX secure element. These chips have a similar firmware versioning like the standalone PN544 type.
According to the MasterCard document not every upgrade is automatically allowed. Some firmware upgrades needs additional testing / qualifying. The only PN544 chip revision which is validated by MasterCard for HCE (Host-based Card Emulation) in Android is the C3 type with firmware 1.41.
Exist there any chance to upgrade the firmware of a PN544 and make it in this way usable under a more recent Android version (e.g. Kernel 3.4.x)? My intention is not to process any payments; - I just want to use these new NFC features (like Android Beam) which later Android version brings.
Any help in this topic is welcome!
Solved! Go to Solution.
Well, I have gained in the meantime some additional knowledge. Therefore I will give here a last little update:
NXP has a somewhat special marking / naming scheme regarding their NFC controller. The first PN544 C1 variant is mostly labeled as NXP 44501. This is the model which makes predominantly problems with newer Android releases. I found the information (on the web, Google is your friend) that according to a Mister "Jizhou Liao" from NXP this type "doesn't qualify for CM11". Therefore it seems that first generation PN544 C1 (NXP 44501) is not supported in newer Android releases. However, it should be mentioned that the NXP 44501 controller is definitely present in devices (like the Samsung Galaxy S II) which received later Android version. So there exist a way to use also that old type under newer Android Kernel.
The majority of smartphones which contains a NXP chip use the PN65N or PN65O model, - these includes additionally a SmartMX secure element. The only smartphone which I found who use a newer PN544 C3 variant is the Motorola Moto X (1st generation). This chip is labeled as NXP 44701 and is supported also under Android 5.1.
Unfortunately there exist no official way to upgrade the NFC controller firmware for end users. The firmware files are not available for public. Well, well, maybe there exist some "nonofficial" ways to upgrade the controller firmware... ;-)
hi, Clemens.
it's very interesting topic. i was wandering if you have finished the job there. canot wait for your reply.
Well, I have gained in the meantime some additional knowledge. Therefore I will give here a last little update:
NXP has a somewhat special marking / naming scheme regarding their NFC controller. The first PN544 C1 variant is mostly labeled as NXP 44501. This is the model which makes predominantly problems with newer Android releases. I found the information (on the web, Google is your friend) that according to a Mister "Jizhou Liao" from NXP this type "doesn't qualify for CM11". Therefore it seems that first generation PN544 C1 (NXP 44501) is not supported in newer Android releases. However, it should be mentioned that the NXP 44501 controller is definitely present in devices (like the Samsung Galaxy S II) which received later Android version. So there exist a way to use also that old type under newer Android Kernel.
The majority of smartphones which contains a NXP chip use the PN65N or PN65O model, - these includes additionally a SmartMX secure element. The only smartphone which I found who use a newer PN544 C3 variant is the Motorola Moto X (1st generation). This chip is labeled as NXP 44701 and is supported also under Android 5.1.
Unfortunately there exist no official way to upgrade the NFC controller firmware for end users. The firmware files are not available for public. Well, well, maybe there exist some "nonofficial" ways to upgrade the controller firmware... ;-)