Hello,
we have a Zebra ZC350 and want to read the serial-number from a RFID-Mifare Card and write some informations on the Card (before/after printing process).
The Printer has the Mifare-Encoding Addon installed.
I verified the Link-OS-Java SDK but were unable to find a sample code where we can read/encode a Mifare RFID Card.
I found a tutorial how we can "position" a card for encidung, but no informations how we can encode/read the card on this tutorial:
http://techdocs.zebra.com/link-os/2-14/pc_card/content/examples/test/tes...
The Card SDK listed on zebra.com is only available for ZXP-Series Printers, but not compatible for the ZC350 printer.
Can you help us how we can do the encoding / serial number reading for this printer?
Thank you
The card reader was changed with the ZC350 as you've found. You'll need to download a new SDK for the reader from Elatec - https://www.elatec-rfid.com/support-center/downloads/twn4-devpack-instal...
It's been a while since I needed to download but the version I had was 3.10 which isn't listed any more but the 3.08 should have the manuals you need to get started- TWN4 Simple Protocol DocRev16.pdf and TWN4 PCSC Description DocRev5.pdf but 'm working in Windows and C#
The first thing you'll need to know is that you need to tell the reader which cards it should be detecting otherwise you won't get very far.
Points: 0
You voted ‘up’
How do i tell it what type of card it is?
Points: 0
You voted ‘up’
Is you're using windows then the Elatec reader will appear as 6 different pcsc readers, it might be more but I don't have one to hand.
One of them will have a smartcard already connected. This is the command channel for sending commands to the reader.It will have the ATR 3B868111FE8143696E647930
Connect to it as it were a standard contact smartcard and send the command FF 9B 00 00 0A 05 02 FF FF FF FF FF FF FF FF
This should instruct the reader to search for all supported card types. You can now disconnect from the reader.
When you present a card try connecting to the first elatec reader and to get the UID send the command FF CA 00 00 00
Points: 1
You voted ‘up’
So I implemented that, but it's not working still. My apdu is as follows.
var apdu = new CommandApdu(IsoCase.Case3Short, reader.Protocol)
{
CLA = 0xFF,
Instruction = (InstructionCode) 0x9B,
P1 = 0x00,
P2 = 0x00,
Data = new byte[] {0x05, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}
It runs, and returns a 9000 status, but i still can't connect to the slot i need, and i don't see the new card show up in the device manager.
Any suggestions?
Also, is there documentation somewhere for that command you listed?
Points: 0
You voted ‘up’
Your Data array is missing one 0xFF. If you add it, the code works perfectly.
My code:
byte[] bytes = new byte[] { 0x05, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
CommandApdu apdu = new CommandApdu(IsoCase.Case3Short, activeReader.ActiveProtocol)
{
CLA = 0xFF,
Instruction = (InstructionCode)0x9B,
P1 = 0x00,
P2 = 0x00,
Data = bytes
};
Points: 0
You voted ‘up’
Thanks, Stephen.
I was having the exact same problem, and your solution worked.
Points: 0
You voted ‘up’
How do you tell it what type of card you're using?
Points: 0
You voted ‘up’
HI We have the ZC100 and it shows that we can add RFID reading/encoding
can anyone help with this
I tried searching and cannot find where to buy the "Mifare-Encoding Addon" ??
Points: 0
You voted ‘up’
Log in to post comments