How to read card UID using wiegand 26 reader

1.8k Views Asked by At

I am using C# and Wiegand 26 reader to read Mifare Ultralight card. When I pass the card, I got '4392072' in decimal but the card UID is '04 43 EB 61 E0 25 80' in hexdecimal.

So how do I use this reader to get the full card UID?

1

There are 1 best solutions below

0
On

You are only getting a part of the 1st anticollision level.

4392072 (DEC) = 430488 (HEX)

  • 0x88 -> Cascade tag
  • 0x04 -> 1st byte of your Ultralight card
  • 0x43 -> 2nd byte of your Ultralight card

This means that your reader is only performing (or only giving to you) a part of the 1st anticollisicon loop. The ISO 14443 - 3 which describes the anticollision loop for the contactless smartcards defines the following procedure for the anticollision loop:

  1. Reader -> '93' (antiollision loop 1 command)

  2. Card <- '88' + '1st byte' + '2nd byte' + '3rd byte'

  3. Reader -> '95' (antiollision loop 2 command)

  4. Card <- '4th byte' + '5th byte' + '6th byte' + '7th byte'

Maybe there is another command which you should perform or your reader maybe only support a 4 byte UID cards?