P2 key for ZXP3 Volatile Memory


I'm doing preliminary C# coding for the ZXP Series 3 card printer. Note: there is no ribbon installed.

* Using Mifare 1K cards

* Comparing my code against a HID Global OMNIKEY 5422CL

* Using the pcsc-sharp library GitHub - danm-de/pcsc-sharp: PC/SC wrapper classes for .NET, written in C#

* This issue refers to the Mifare1K test in that library

With the HID, I can read and write to a card using the default code.

* P1 = 0x20 => NonVolatileMemory

* P2 = 0x00 => i.e. the first of 16 type A key

* Data (Key) = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }

* Note: Read/Write success even when I tried all the 16 type A or 16 type B keys

With the ZXP3, if I use P1=0x20, SW1 SW2 is 63 87, Non-volatile memory is not available.

When I changed P2 to 0x00 (VolatileMemory), SW1 SW2 is 63 88, Key number not valid.

Then I tried all the type A keys {0x00, 0x01, 0x02, 0x03} and all the four type B keys {0x10, 0x11, 0x12, 0x13}, the SW1 SW2 never wavered away from 63 88.

Can somebody explain how I can successfully read (and then write) to the Mifare 1K using the ZXP3, or at least point me in a direction where I can figure this out by myself?

Thank you in advance.