Bought an NFC reader/writer

So I bought an NFC/RFID unit for reading and writing to and from different NFC/RFID tags.
It can also communicate via P2P with other devices.

I bought it for a project at work (I intend to make the company pay me back if it turns into a real project, as it’s only in the “idea stage” at the moment), but also because I want to learn how this technology works, how to write applications that use it and so on, so that I can add it to my trunk of “hey I know that!”-stuff.

The model is called ACR122U and is a newer model that is compatible with a lot of different standards.
Some of these being;

  • ISO 14443 Type A and B
  • Mifare
  • FeliCa
  • All 4 types of NFC (ISO/IEC 18092) tags
  • New Mifare Ultralight C
  • Mifare Plus
  • DESFire EV1
  • All 3 modes of NFC: reader, card emulation and peer-to-peer modes

I just read that in the product sheet, so that list probably covers it all.
The sheet can be found at the link below

Download sheet here

For the uninformed, NFC stands for Near Field Communication and RFID stands for Radio Frequenzy Identification.
And they are both typically used for train/bus cards, newer credit cards and together with the kind of App you can use for your smartphone when paying in a store.

If you want to read more specifically what it is, you can go to the links below, since I wont cover that here:

http://en.wikipedia.org/wiki/Radio-frequency_identification
https://en.wikipedia.org/wiki/Near_field_communication

But basically they are both used for identifying objects that they (the RFID tags) are attached to, like the tags you use to open doors sometimes.
NFC is a bit more advanced and newer, but is based on the RFID standard.

Anyway, so I have only done a few experiments so far where I read from the card and then try to dump some data. I’ll write more posts later about this and my progress, but for now this is what I have done.

root@enma:/home/cats/Desktop/nfc/libnfc-1.7.0-rc7# nfc-list -v
nfc-list uses libnfc 1.7.0-rc7
NFC device: ACS / ACR122U PICC Interface opened
1 ISO14443A passive target(s) found:
ISO/IEC 14443A (106 kbps) target:
    ATQA (SENS_RES): 00  04  
* UID size: single
* bit frame anticollision supported
       UID (NFCID1): fa  ee  8f  29  
      SAK (SEL_RES): 08  
* Not compliant with ISO/IEC 14443-4
* Not compliant with ISO/IEC 18092

Fingerprinting based on MIFARE type Identification Procedure:
* MIFARE Classic 1K
* MIFARE Plus (4 Byte UID or 4 Byte RID) 2K, Security level 1
* SmartMX with MIFARE 1K emulation
Other possible matches based on ATQA & SAK values:

0 Felica (212 kbps) passive target(s) found.

0 Felica (424 kbps) passive target(s) found.

0 ISO14443B passive target(s) found.

0 ISO14443B' passive target(s) found.

0 ISO14443B-2 ST SRx passive target(s) found.

0 ISO14443B-2 ASK CTx passive target(s) found.

0 Jewel passive target(s) found.

As you can see, just a very quick experiment with libnfc, to see that it can detect the card.

That’s all for now 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.