'Windows 10 IOT - RFID RC522 Read UID 7 byte

i'm try to develop Project RFID Reader in windows 10 IOT in c#

i'm use RFID sticker buy from china. refer link below https://www.aliexpress.com/item-img/10-NFC-13-56-NTAG-213-RFID/32709729334.html

and i'm use example from like below RFID RC522 Raspberry PI 2 Windows IOT

During test RFID reader. it's work to read UID 4 byte.but i'm try to read 7 byte UID. It 's not working to read.

i'm modify some part of RC522 RFID

internal Uid(byte[] uid)
    {
        FullUid = uid;
        //================ Change to 7 byte ======================
        Bcc = uid[7];

        Bytes = new byte[7];
        System.Array.Copy(FullUid, 0, Bytes, 0, 7);

        //Bcc = uid[4];

        //Bytes = new byte[4];
        //System.Array.Copy(FullUid, 0, Bytes, 0, 4);


        foreach (var b in Bytes)
        {
            if (b != 0x00)
                IsValid = true;
        }
    }

And

public Uid ReadUid()
    {
        // Run the anti-collision loop on the card
        //Transceive(false , PiccCommands.Anticollision_1, PiccCommands.Anticollision_2);


        Transceive(false, PiccCommands.Anticollision_1, PiccCommands.Anticollision_2);

        // Return tag UID from FIFO

        //return new Uid(ReadFromFifo(5));

        return new Uid(ReadFromFifo(8));


    }

it's still not reading. So please advise.



Solution 1:[1]

There are RC522-based readers on the market that fail to read some IC cards, especially the ones with 7-byte UID. The problem is in slight differences in their antenna coil and capacitors.

The solution is either

  1. to buy a "good" reader (which is hard to distinguish if you are buying it online) or
  2. to replace the capacitors C8 to C11 (C8+C9 150pF, C10+C11 33pF).

Here you can find a thorough analysis of the problem and the solution: https://www.eluke.nl/2018/03/08/fixed-rc522-rfid-reader-not-reading-some-cards-part-1/

Solution 2:[2]

If the card is an S50 (aka Mifare 1K Classic) card type ISO14444A, they respond with 2Bytes (Cascade 1), 4Bytes (Cascade2) or 7Bytes (Cascade3) as their UID but you have to 'S'elect the card after starting the COM serial port. If, however you are using a reader that uses either ATR or ATS then you get back a string of hexadecimals that describe the card's characteristics. How do you know the difference - its in the documentation about the reader. Chinese cards typically are difficult to read off the starting block - try initialising a card using NFC on your mobile phone first, or just try reading the card with your phone - use TagWriter available on Google Play. Additionally look up the standards for ISO1444A cards - ISO15693 are similar but not the same. Also look at https://lastminuteengineers.com/how-rfid-works-rc522-arduino-tutorial/

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 grafickeprace.com
Solution 2 Steve