"NFC tag type not supported" message

Shoaib Anwar picture Shoaib Anwar · Jun 9, 2016 · Viewed 22.8k times · Source

I have an app which reads and writes NFC tags. I tested my app on a Galaxy Note 3 and it works fine. But when I test it on a Note 5 and a Galaxy S6, a message pops up that says, "NFC tag type not supported".

Is that the fault of my app or are my tags not support on those devices?

My tag type is ISO 14443A standard.

Answer

Michael Roland picture Michael Roland · Jun 10, 2016

You are using MIFARE Classic tags. While these tags are partially based on ISO/IEC 14443-3A (or actually the other way round), they use a proprietary encryption algorithm and a proprietrary framing. Since NXP (the owner of MIFARE Classic technology) does not seem to license MIFARE Classic reader technology to other chip manufacturers, access to the memory of MIFARE Classic tags is only available on NFC devices with NXP chipset.

This usually only means that you can't access the data on MIFARE Classic tags through devices without an NXP NFC chipset. Usually you can still access the ISO/IEC 14443-3A anti-collision identifier (UID) through the Android API. Unfortunately, Samsung decided to completely block MIFARE Classic on their devices by displaying the message "NFC tag type not supported" instead. As a result, you can't even detect these tags from apps on the affected Samsung devices. See Hide "NFC Tag type not supported" error on Samsung Galaxy devices for possible ways to work around that limitation.

With regard to your specific devices, the Samsung Note 3 contains an NXP PN544 NFC controller and, consequently, supports MIFARE Classic. The Samsung Galaxy S6 contains a Samsung S3FWRN5P NFC controller (the Note 5 probably also contains an NFC controller from Samsung) and, consequently, they don't support (and actually completely block) MIFARE Classic.