MIFARE 1K was originally designed with 4 byte unique identity code, also called UID code, if we keep each chip code unique, there are only 4.2 billion codes in total. But as MIFARE 1K has been so popular and widely used, this capacity is obviously not enough to satisfying the continuously growing demand. So the MIFARE 1K card with 7 byte UID code appeared.
As the MIFARE 1K chip code varies so much, sometimes, the MIFARE 1K cards from different factories is not compatible with all the MIFARE readers in the market, there are two reasons for this phenomenon:
1, the classic 4-byte UID MIFARE 1K cards only need one cascade of anti-collision to select the card, but 7-byte UID MIFARE 1K cards needs two cascades of anti-collision to select the card. The MIFARE card with 4-byte UID doesn’t need the second cascade of anti-collision, if the reader is designed with two cascades of anti-collision, it can cause error.
2, in card authentication stage, it needs 4-byte UID code, 6-byte card password, and 1-byte data to participate in. But the new card has 7-byte UID code, how to decide which 4 bytes to participate in the authentication stage? There are 3 solutions presently, 1), 88h and the first 3 bytes of the UID, 2), the first 4 bytes of the UID, 3, the last 4 bytes of the UID, to participate in the authentication stage.
So, if your reader can not read card with 7 byte UID, you can consider from the above two aspects: whether it needs the second cascade of anti-collision in card selecting step, and which 4 byte participate in the authentication step.