I've just tried to implement basic access to Desfire EV1 tags and later to the EV2.
I've modified one of examples and also added some functions to interact with EV1 tag but function phalMfdf_CreateApplication() fails with status:
Error - (0x1988) has occurred : 0xCCEE CC-Component ID, EE-Error code. Refer-ph_Status.h
I can't find description about this status in ph_Status.h so don't know what is the problem.
Here is part of the code, Init and version read are OK.
/* Initialize the MF DesFire EV1 component */
status = phalMfdf_Sw_Init(&alMfdf, /**< [In] Pointer to this layer's parameter structure */
sizeof(phalMfdf_Sw_DataParams_t), /**< [In] Specifies the size of the data parameter structure */
&palMifare_Sw, /**< [In] Pointer to a palMifare component context */
NULL, /**< [In] Pointer to Key Store data parameters */
NULL, /**< [In] Pointer to a Crypto component context for encryption */
NULL, /**< [In] Pointer to a CryptoRng component context */
pHal); /**< [In] Pointer to the HAL parameters structure */
status = phalMfdf_Sw_GetVersion(&alMfdf,
phApp_Print_Buff( pVersion, 7);
phApp_Print_Buff( pVersion+7, 7);
phApp_Print_Buff( pVersion+14, 14);
/* Create Application */
status = phalMfdf_CreateApplication(&alMfdf, /**< [In] Pointer to parameters data structure */
0x03, /**< [In] Option to indicate whether this application has ISO Fid and DF */
aAID, /**< [In] 3 byte AID, LSB First */
0x0F, /**< [In] Key Settings 1 - 1 Byte */
0x21, /**< [In] Key Settings 2 - 1 Byte */
aISOFileId_A, /**< [In] Two byte ISO File Id, LSB First */
aISODFName, /**< [In] ISO DF Name. Maximum 16 bytes */
bDFLen); /**< [In] Length of DF Name provided above */
I have also question about access to full NXPLib with sources and examples for EV1 and EV2. I've found information that is available under NDA. Our company already signed NDA nad we have an access to docstore, but I can't find full NXPLib there. I have full access to PN5180 chip but can't find NXPlib + EV1/EV2 support. How and where I can find this sources?