5Euro RFID/NFC Modul RC522 zum Auslesen von Mifare Tags

rfid-rc522-module

Das RFID-RC522 Modul stellt wohl den günstigsten Einstieg in die RFID/NFC-Welt dar. Ab ~5 EUR (inkl. Versand) kann man es bei verschiedenen (chinesischen) eBay Verkäufern erwerben. Herz der Platine ist der Reader-Chip MFRC522 von NXP zum Auslesen von ISO/IEC 14443 A/MIFARE Karten. Der Chip kann per I2C, SPI oder UART kommunizieren, das hier beschriebene Modul wird per SPI angesprochen.
Das Modul wird meisstens mit zwei Stiftleisten (gerade und gewinkelt), einem Mifare-Schlüsselanhänger und einer Mifare-Karte geliefert. Hat man eine der Stiftleisten eingelötet kann man es zB mit Dupont Kabelverbindern (male – female) mit einem Arduino verbinden. 7 Verbindungen (SDA an Pin10, SCK an Pin13, MOSI an Pin11, MISO an Pin12, IRQ n.v., GND an GND, RST an Pin5, 3.3V an 3V3) sind erforderlich:
rc522_mf522_arduino_spi

Gegenüber dem etwas teureren PN532 Arduino NFC Shield unterstützt dieses Modul allerdings kein Card-Emulation Mode, d.h. es kann keine NFC-Tags emulieren bzw es kann nicht mit einem NFC-Smartphone kommunizieren.

Source Code/Library

Source Code zum Ansprechen des Boards via Arduino findet man im Netz an verschiedenen Stellen:

Scheinbar basiert der Großteil des Codes auf den Sourcen von WWW.B2CQSHOP.COM / COOQRobot, teils in einer Klasse verpackt, teils einfach nur als C-Funktionen. So mal eben runterladen, Arduino Beispiel Sketch ausführen und Mifare Tag auslesen geht leider nicht auf Anhieb. Das einzige was man mit dem unveränderten Source Code (zB cardRead.ino) anzeigt kann ist die 4-Byte UID einiger Mifare Tags:
cardread_rc522_mifare_uid
Einige Teile des oben verlinkten Source Codes sind schlichtweg fehlerhaft implementiert, beispielweise kann angeblich die Größe des Mifare-Speichers ausgegeben werden („read card storage volume“). Ausserdem funktioniert die Bibliothek nur mit 4-Byte UID Karten; 7-Byte UID Karten können nicht ausgelesen werden, da das ISO14443 Antikollisionsverfahren nicht korrekt genutzt wird.

Mifare Classic Tags auslesen

Einen einfachen Mifare Classic Memory Dump kann aber relativ einfach codiert werden, wenn man weiss wie der Mifare Speicher unterteilt ist und wenn man die korrekten Keys benutzt:

mifare_dump_rc522

Zu Beginn werden die üblichen ISO14443 Parameter (ATQA, SAK, UID) angezeigt, danach erfolgt der Hex-Dump des Speicherinhaltes.

Den Source Code RC522DumpMifare.ino dazu gibt es in meinem Repository bei Github. Einige TODOs sind im Code noch zu implementieren, zB das Selektieren von Karten mit 7Byte-UID.

UPDATE 2013-08-08: 7-byte-UID Anzeige und RATS-Handling ansatzweise ergänzt

RC522-RFID-Modul am Raspberry Pi betreiben

Das RC522-Modul kann natürlich auch mit anderen Evalboards verbunden werden, zB mit dem Raspberry Pi. Dann kann man es sogar mit Python programmieren und muss nicht erst umständlich einen Microcontroller flashen.

Evtl werde ich das Board auch demnächst einmal am Raspberry Pi anschliessen und einen entsprechenden Artikel dazu schreiben.

Kompatibilität

Einige Mifare Karten liessen sich allerdings nicht dazu bewegen mit dem Modul zu sprechen (Karten wurden im Feld nicht einmal erkannt), zB:

  • Mifare Ultralight C (MF0ICU2), 7byte-UID
  • Mifare Classic 1K ‚MF1 IC S5009‘ alias Mifare Plus S (MF1SPLUS60)
  • Mifare DESFire EV1 (MF3ICD21) HW v1.0
  • Mifare DESFire (MF3ICD40) HW v0.2
  • Mifare DESFire EV1 (MF3ICD81) HW v1.0
  • Mifare Classic 1K (emulated)

Evtl ist das Modul nicht korrekt konfiguriert, die Hardware unterstützt die Karten (wieso auch immer) nicht oder die Antenne des Moduls ist nicht korrekt abgestimmt.

Bei folgenden Tags konnte zumindest die UID gelesen werden:

  • Mifare Classic
  • Mifare Classic (MF1S70)
  • NTAG203 (NT2H0301)
  • NTAG215 (NT2H1511) alias amiibo cards
  • NTAG216 (NT2H1611G0DUx)
  • Mifare Classic Futan FM11RF08
  • Mifare Classic Clonable China Card
  • Miafre Ultralight (MF0ICU1) alias GVB card
  • Infineon ??? Chip alias Geldkarte

Links/mehr Info

Am Ende – wie immer – zum Vertiefen ein paar Links bzw Webseiten von anderen Nutzern, die bereits mit dem RC522 herumgespielt haben und was nicht fehlen darf – der Link zum Datenblatt:

Werbeanzeigen

Internet Explorer und Windows zu Testzwecken unter Linux

modern.IE zum Testen

Seit über 1.5 Jahren habe ich kein Windows mehr direkt auf meiner PC Festplatte installiert. Seit dieser Zeit begrüßen mich die Windows Boot- und Login Meldungen eigentlich nur noch auf meinem Bürorechner. Zu Testzwecken wäre es aber ab und zu ganz hilfreich mal ein Windows nutzen zu können. Aus diesem Grund kam mir der Hinweis von @_blueJoda_ auf die Webseite http://www.modern.ie/en-us/virtualization-tools#downloads ganz recht. Microsoft bietet hier verschiedene Versionen des Internet Explorer auf dem hauseigenen Betriebssystem Windows XP, Vista, Windows 7 und Windows 8 an.

modern.ie.website

Download & Installation

VirtualBox ist für die Benutzung der VMs erforderlich. Je nach gewünschter Zielplatform einfach die Festplatte beglücken mit:

# # # IE6 - Windows XP # # #
#download 1 file: 808MB
$ wget https://az412801.vo.msecnd.net/vhd/IEKitV1_Final/VirtualBox/Linux/IE6_XP/IE6.WinXP.For.LinuxVirtualBox.sfx 
$ chmod +x ./IE6.WinXP.For.LinuxVirtualBox.sfx
$ ./IE6.WinXP.For.LinuxVirtualBox.sfx
#import VM: IE6 - WinXP.ova (805.0 MB)
$ VBoxManage import "IE6 - WinXP.ova"
IE6 - WinXP

# # # IE10 - Windows7 # # #
#download 5 files: 4.1 GB
$ wget -i https://az412801.vo.msecnd.net/vhd/IEKitV1_Final/VirtualBox/Linux/IE10_Win7/IE10.Win7.For.LinuxVirtualBox_2.txt
$ chmod +x IE10.Win7.For.LinuxVirtualBox.part1.sfx
$ ./IE10.Win7.For.LinuxVirtualBox.part1.sfx
#import VM: IE10 - Win7.ova (4.2GB)
$ VBoxManage import "IE10 - Win7.ova"
Win7_screenshot

# # # IE7 - Windows Vista # # #
# nobody loves vista :-(

# # # IE10 - Windows8 # # #
#download 3 files: 2.7 GB
$ wget -i https://az412801.vo.msecnd.net/vhd/IEKitV1_Final/VirtualBox/Linux/IE10_Win8/IE10.Win8.For.LinuxVirtualBox_2.txt
$ chmod +x IE10.Win8.For.LinuxVirtualBox.part1.sfx
$ ./IE10.Win8.For.LinuxVirtualBox.part1.sfx
#import VM: IE10 - Win8.ova (2.8 GB)
$ VBoxManage import "IE10 - Win8.ova"
IE10 - Win8

Lizenz / Haltbarkeit

In den VM Instruktionen auf der Downloadseite wird auf die Lizenzlage hingewiesen => also brav durchlesen und natürlich wirklich nur wie beschriebene benutzen.
Die Windowsversionen sollen 90 Tage lang lauffähig sein, danach ist dann ohne Vorwarnung Schluß (‚The software will stop running after 90 days and you may not receive any other notice. You may not be able to access data used with the software when it stops running.‘). Also nichts in der VM direkt abspeichern oder rechtzeitig sichern.

Die XP VM wollte logischerweise gleich aktiviert werden. Die Windows 8 VM braucht auf meinem Ubuntu System zum Hochfahren sehr lange. Deshalb verwende ich immer zum Beenden den VirtualBox Save-State-Modus, sodaß das nächste Starten der VM dann nur noch 5 Sekunden benötigt.

NFC Ringe

UPDATE: 2016-06-02

Visa’s NFC-Bezahl Ring für Olympia Rio 2016

Visa Olympia Rio 2016
Visa versorgt Sportler der Olympichen Spiele in Rio 2016 mit NFC-Ringen, die zum Bezahlen genutzt werden können.
Visa Introduces NFC-Enabled Payment Ring for Team Visa Sponsored Athletes to Use at Rio 2016 Olympic Games

UPDATE: 2016-05-30

Cornetto – Commitment Ring


Der Commitment NFC Ring zum gemeinsamen Serien Schauen http://seriescommitment.com/
Klingt eigentlich eher wie ein Marketing-Gag: Paare können so nur gemeinsam Serien schauen indem sie mit ihren 2 NFC-Ringen die entsprechende App zum Streamen von Netflix, Hulu, Amazon Prime freischalten können. Zu kaufen gibt es die Ringe noch nicht, aber im Grunde kann man dazu jeden bereits verfügbaren NFC-Ring oder NFC-Tag nehmen, es wird nur eine entsprechende App benötigt.

UPDATE: 2015-09-27

Kerv – the world’s first contactless payment ring

Kerv Ring
Kickstarter Projekt zum kontaktlosen / bargeldlosen Bezahlen mit NFC Ring
https://www.kickstarter.com

UPDATE: 2015-09-19

Holland’s NFC Payment Ring

holland-ring
Henry Holland hat in Zusammenarbeit mit der Visa Europe Collab einen NFC-Ring zum Bezahlen entworfen, der während der London Fashion Week genutzt werden konnte.

The inside story of House of Holland’s NFC rings
Visa Europe Collab

Timer 2 Smart Ring

Unter dem Namen Timer 2 Smart Ring wird seit 2014 ein Ring von der chinesischen Firma Jakcom Technology Co., Ltd. angeboten. Dieser Ring ist in zwei Farben erhältlich: schwarz oder weiss. Er ist mit 2 NFC Tags ausgestattet und kann mit den üblichen NFC Apps oder der vom Hersteller angebotenen App benutzt werden. Dieses ist zzt der günstigste NFC Ring (ab 4.90$ für Grosshändler via Alibaba). Von dem Indiegogo Projekt, das den Ring wohl ursprünglich finanzieren sollte scheint niemand (2 Unterstützer) wirklich Notiz genommen zu haben. Wobei diese Art der Geldeinnahme von vielen chinesischen Herstellern mittlerweile auch nur dem geplanten Produktstart ‚vorgeschaltet‘ wird und das Ergebniss den eigentlichen Verkauf nicht weiter beeinflusst. timer2_smart_ring
Hersteller: http://www.imtimer.com/
Produktseite bei Alibaba (ab $4.90) http://jakcom.en.alibaba.com/
Facebook: https://www.facebook.com/timersmartproduct
Anbieter: banggood (12EUR), eBay (15.98EUR): heavends, amazon (ab 19.38EUR)
App Download: http://www.imtimer.com/
Indiegogo Projektseite (von lingjian deng): https://www.indiegogo.com/projects/smart-ring–8#/story

Smart NFC Ring

Der bis jetzt teuerste, aber auch interessanteste NFC Ring ist seit 07.August 2014 bei Indiegogo zu haben (wenn das Projekt erfolgreich beendet wird). Zusätzlich zu NFC bietet er Bluetooth Funktionalität und ist deshalb mit einem (nicht austauschbaren) Akku ausgestattet, der 5 Jahre halten soll. Das kabellose Ladegerät ist in den $99 enthalten, die man für den Ring ausgeben muss.
smart-nfc-bt-ring

Oyster Card Ring

NFC in Smartphones einbauen kann ja mittlerweile jeder (ausser Apple). NFC in Mode Accessoires einbauen dagegen noch nicht so viele. Begonnen hat damit bereits vor einem Jahr der Künstler Dhani Sutanto. Er hat mit Nagellackentferner den RFID Chip und die Antenne seines Londoner eTicket (Oyster-Card) extrahiert und daraus einen Ring mit Giessharz erstellt.

Oyster-Ring-allofthem-990x660

GEAK Ring

Der chinesische Smartphone Hersteller Geak bietet ab November 2013 in China für 199 Yuan (~25 Euro) den GEAK Ring an. Vorbestellt kann man den Ring allerdings schon ab dem 8.August 2013. Zunaechst soll der Ring nur mit den Smartphones des Herstellers zusammen arbeiten.

geak-ring

UPDATE 2013-08-19: Scheinbar kann man den NFC Ring auch ab November über chinabuye.com für ~36 EUR kaufen

NFC Ring (Kickstarter Projekt)

John McLear aus UK startet ab dem 20.Juli 2013 ein Kickstarter Projekt, das sich einen NFC Ring als Ziel gesetzt hat. Die passende Android App: NFC Ring scheint es bereits zu geben. Mehr Infos gibts im Blog und per Twitter @NfcRing.

nfc-ring-set

UPDATE: 2013-08-19: Das Projekt hat erfolgreich mehr als die 8-fache Summe eingesammelt! D.h. die Ringe werden im Oktober ausgeliefert.

NFC Ring aus dem 3D Drucker

Wer möglichst wenig Geld ausgeben will (1-2 Euro) und evtl. einen 3D-Drucker parat hat kann sich sonst auch seinen Ring gleich selber ausdrucken. Vorlagen gibt es bei thingiverse mehrere: Objekt #104858, Objekt #105832. Der separat zu erwerbende NFC Disc Tag wird dann einfach in den vorhandenen Schlitz geschoben. Allerdings – nicht ganz so hübsch.

NFC_Ring_R1_MKII_-_top-right_preview_featured NFC_Ring_R2_preview_featured

Java Ring alias JavaCard/iButton

sun_java_ring
Noch zu erwähnen ist an dieser Stelle der Java Ring, der – 1998 (!) von Sun und Dallas Semiconductor entwickelt – zwar keine kontaktlose NFC Schnittstelle besitzt aber ebenfalls Daten speichern kann. Vor 15 Jahren waren sie ihrer Zeit scheinbar ein bisschen voraus. Im Herzen des Rings befindet sich eine Java Card Engine, die heutzutage ebenfalls in SIM-Karten bzw anderen Smartcards eingesetzt wird. Die Kommunikation findet per 1-Wire/iButton-Protokoll statt.

UPDATE: 2013-09-27

Sesame Ring alias Charlie Card alias MBTA NFC Ticket in Ringform (Kickstarter Projekt)

Sesame_Ring
Kaum nachdem das NFC Ring Kickstarter Projekt erfolgreich beendet wurde startet ein neues Kickstarter Projekt, dass sich einen NFC Ring zum Ziel gesetzt hat: der Sesame Ring. Dieser Ring beinhaltet eine ‚Charlie Card‘ für die MBTA (Massachusetts Bay Transportation Authority = Betreiber des öffentlichen Personennahverkehrs in Boston und Umgebung). Bei erfolgreicher Gründung wird der Ring mit einem 3D-Drucker ausgedruckt. Es stehen deshalb verschiedene Farben (schwarz, weiss, rot, blau, orange, gelb), Muster, Größen zur Auswahl oder es kann auch optional ein eigenes Design verwendet werden.
Quelle: Kickstarter

UPDATE: 2013-10-03

Tuit – A mobile security ring powered by NFC (Kickstarter Projekt)

Tuit_Prototype

Einen Monat nachdem das NFC Ring Kickstarter Projekt erfolgreich abgeschlossen ist versucht ein weiterer Entwickler ebenfalls einen NFC Ring Projekt aufzusetzen? Tuit – A mobile security ring powered by NFC, so wird es von Jeff Fransen (Brooklyn, NY) betitelt. Der Ring soll aus 3 Teilen (+ NTAG203-Tag) bestehen, die per Ultraschallschweißen verbunden werden und kann für 25$ (Schwarz&Silber Style) vorbestellt werden.

Eine Tuit Lockscreen App zum Entsperren des Android NFC Smartphones wird es bei Gründung des Projektes geben, bei Erreichen eines Stretch Goals auch für Windows Phone.

Quelle: Kickstarter

UPDATE: 2013-12-17

GalaRing G1

GalaRing

Der GalaRing von GalaGreat enthält 2 NFC (Ntag203) Chips von NXP. Einer der Tags ist zum Speichern einer digitalen Visitenkarte, der andere kann mit der App des Herstellers zum Entsperren des Smartphones/zum Verschlüsseln von Daten genutzt werden.
Erhältlich ist der Ring in 3 verschiedenen Größen (17, 20, 22 mm Durchmesser) für ~20EUR (inkl Versand) bei dx.com.

UPDATE: 2014-04-11
seit April 2014 bietet Seeedstudio den Ring auch fuer ~29$ an.

Liste aller NFC/RFID Evalboards / Arduino Shields

Hier mal der Versuch einen Überblick über die verfügbaren NFC Evalboards für embedded Controller, Arduino bzw einfach nur zum Ansteuern per PC zu bekommen. Begonnen hat das ganze mit dem Seeedstudio Arduino NFC Shield, das es mitlerweile in Version 2 gibt. Durch die immer größere Verbreitung von NFC durch Android nehmen viele chinesische Firmen die Boards in ihr Produktionsprogramm auf. Bei den Boards muß man zwischen zwei verschiedenen Reader Typen unterscheiden:

  • nur Reader-Funktionalität (zum Auslesen von kontaktlosen Smartcards, Mifare Tags)
  • Reader-Funktionalität mit Card-Emulation-Mode (kann zB mit NFC Smartphone ausgelesen werden)

Die verwendete Übertragungstechnik der Reader kann man in zwei unterschiedliche Frequenzbereich einteilen:

  • 125-kHz RFID
  • 13.56MHz NFC

Eingesetzte Chips sind

  • NXP PN532
  • NXP RDM630
  • NXP MFRC522
  • SonMicro SM125-IC
  • HY502

Adafruit PN532 NFC/RFID Controller Shield for Arduino
Adafruit_PN532_NFC_RFID_Controller_Shield_for_Arduino

Hersteller: http://www.adafruit.com/products/789
Bezugsquelle: watterott.com, exp-tech.de

Adafruit PN532 NFC/RFID controller breakout board – v1.3
Adafruit_PN532_NFC_RFID_controller_breakout_board

Hersteller: http://www.adafruit.com/products/364

DFRobot NFC Module for Arduino
DFRobot_NFC_Module_for_Arduino

Hersteller: http://www.dfrobot.com/wiki/index.php/NFC_Module_for_Arduino

Bezugsquelle: lipoly.de

ElecFreaks/manolins RFID/NFC Breakout Board (NFC Module V1.0/V1.1)
elecfreaks_NFC_Module_V1.1

Hersteller: http://www.elecfreaks.com/store/rfidnfc-breakout-board-p-519.html

Bezugsquelle: komputer.de, dx.com

ElecFreaks/manolins RFID / NFC Shield
ElecFreaks_RFID_NFC_Shield_Model manolins_nfc_shield

Hersteller: http://www.elecfreaks.com/store/rfidnfc-shield-p-479.html

Bezugsquelle: komputer.de, dx.com

elechouse PN532 NFC RFID Reader/Writer Module – Arduino Compatible (NFC Module V2.0)
elechouse_PN532_NFC_Module

Hersteller: http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=90_93&products_id=2205

ITEAD PN532 NFC Module
ITEAD_PN532_NFC_Module

Hersteller: http://imall.iteadstudio.com/im130625002.html

libelium.com RFID 13.56 MHz / NFC module for Arduino
libelium_RFID_13.56_MHz_NFC_module_for_Arduino

Hersteller: http://www.cooking-hacks.com/index.php/rfid-13-56-mhz-nfc-module-for-arduino.html

UART 125Khz EM4100 RFID Card Key ID Reader Module RDM6300
UART_125Khz_EM4100_RFID_Card_Key_ID_Reader_Module_RDM6300

Bezugsquelle: ebay.de, dx.com

LinkSprite HY502 RFID Reader/Write Module (I2C, UART, SPI)
LinkSprite_RFID_Reader_Write_Module_HY502F_1

Hersteller: linkspirite.com

Parallax/Grand Idea Studio RFID Read/Write Module
Parallax_RFID_Read_Write_Module

Hersteller: http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/rfid/List/0/SortField/4/ProductID/688/Default.aspx

RFID-RC522

rfid_rc522
Bezugsquelle: dx.com, electrodragon.com, b2cqshop.com, rcubestation.com

Seeedstudio NFC Shield
seeedstudio_nfc_shield

Hersteller: http://www.seeedstudio.com/depot/nfc-shield-p-916.html
Bezugsquelle: lipoly.de

Seeedstudio NFC Shield V2
seeedstudio_nfc_shield_v2

Hersteller: http://www.seeedstudio.com/depot/nfc-shield-v20-p-1370.html

Bezugsquelle: exp-tech.de

Seeedstudio 125Khz RFID Empfänger Modul
seeedstudio_125kHz_RFID

Hersteller: http://www.seeedstudio.com/depot/electronic-brick-125khz-rfid-card-reader-p-702.html

Wer noch andere Boards kennt kann gerne einen Kommentar hinterlassen, ich werde dann versuchen die Liste zu aktualisieren.

libnfc mit Arduino NFC Shield nutzen

seeedstudio-arduino-nfc-shield

Auf dem Arduino NFC Shield von Seeedstudio ist der populäre PN532 NFC Chip von NXP verbaut, der auch in vielen kontaktlosen Smartcard Readern zum Einsatz kommt. In Verbindung mit libnfc kann auf eine Vielzahl von Funktionen zurückgegriffen werden, die seit einigen Jahren kontinuierlich ausgebaut werden. Genau für diesen Zweck gibt es das mfocuino Projekt bei Google Code.Im folgenden sind die Schritte zum bauen unter Ubuntu beschrieben:

# get and extract libnfc
$ cd ~
$ wget http://libnfc.googlecode.com/files/libnfc-1.7.0-rc1.tar.gz
$ tar -xvzf libnfc-1.7.0-rc1.tar.gz
$ cd libnfc-1.7.0-rc1

# get and apply patch
# fkt nicht weil haendische gepatched:
# wget https://mfocuino.googlecode.com/svn/trunk/nfcreader/libnfc.uart.patch
# besser
$ wget http://mfocuino.googlecode.com/svn-history/r29/trunk/nfcreader/libnfc.uart.patch
$ patch -p0 < libnfc.uart.patch

#configure libnfc for PN532/UART
$ ./configure --with-drivers=pn532_uart --sysconfdir=/etc --prefix=/usr --enable-debug

#compile
$ make clean
$ make
#evtl im system installieren
$ sudo make install

#configure libnf
$ sudo mkdir /etc/nfc
$ sudo mkdir -p /etc/nfc/devices.d

# create: /etc/nfc/libnfc.conf
allow_autoscan = true 
allow_intrusive_scan = false 
log_level = 3 
device.name = "microBuilder.eu" 
device.connstring = "pn532_uart:/dev/ttyUSB0:115200"

#download arduino sketch
$ cd ~/sketchbook
$ mkdir uartnfc
$ cd uartnfc
$ wget https://mfocuino.googlecode.com/svn/trunk/nfcreader/arduino/uartnfc.ino
$ wget http://mfocuino.googlecode.com/svn/trunk/nfcreader/arduino/libraries/PN532/PN532.cpp
$ wget http://mfocuino.googlecode.com/svn/trunk/nfcreader/arduino/libraries/PN532/PN532.h
#compile / upload arduino sketch
#test 
$ LIBNFC_LOG_LEVEL=3 nfc-list

Note: Leider funktionieren nicht alle examples und utils mit dem NFC Shield, zb emulate.
Links:
Anweisung wie man libnfc mit mfocuino baut http://code.google.com/p/mfocuino/wiki/buildingLibNfc
Using libnfc with the PN532 (Linux) http://www.microbuilder.eu/blog/11-02-19/Using_libnfc_with_the_PN532_Linux.aspx

Kalixa NFC paypass MasterCard

KalixaCard
Heute kam meine Kalixa Prepaid NFC MasterCard mit der Post. Seit dem Bestellen der Karte war ich schon gespannt was für ein Chip in der Karte eingesetzt wird. Also gleich nach dem Öffnen des Briefs Rechner hochgefahren und mal nachschauen auf welche Daten man zugreifen kann:

kontakt
ATR=3B 68 00 00 00 73 C8 40 11 00 90 00

kontaktlos
ATR=3B 86 80 01 4B 4F 4E 41 14 11 09

#SELECT ohne AID liefert Cardmanager AID A000000003000000 
=> 00 A4 04 00
<= 6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65
# => nice scheint eine GP2.1 Karte (AID = A000000003000000) zu sein

#GET DATA Tag 00E0 zeigt Keyinfos an
=> 80 CA 00 E0 00 
<= E0 12 C0 04 01 FF 80 10 C0 04 02 FF 80 10 C0 04 03 FF 80 10 90 00 
Key information: 
Key ID : 1 
Key version : 255 
Key component 1 : 
Type : DES 
Length : 16 bytes 
Key information: 
Key ID : 2 
Key version : 255 
Key component 1 : 
Type : DES 
Length : 16 bytes 
Key information: 
Key ID : 3 
Key version : 255 
Key component 1 : 
Type : DES 
Length : 16 bytes

Verwundert hat mich dann ein wenig, dass die JavaCard noch den Default Key für die Authentifizierung zum CardManager besitzt, sodass man sich die geladenen Applets anzeigen lassen kann:

#INITIALIZE UPDATE
=> 80 50 00 00 08 ...
...

#EXTERNAL AUTHENTICATE
=> 84 82 01 00 10 ...
...

#GET STATUS
=> 84 F2 20 00 0A ...
...

Card Manager AID   :  A000000003000000
Card Manager state :  SECURED

    Application:PERSONALIZED (---L----) A0000000041010
    Application:  SELECTABLE (--------) "2PAY.SYS.DDF01"
    Load File  :      LOADED (--------) A00000000310     (VSDC)
    Load File  :      LOADED (--------) A00000000410
    Load File  :      LOADED (--------) "2PAY.SYS.DDF0"
    Load File  :      LOADED (--------) D410650990001000
    Load File  :      LOADED (--------) D410650990003000
    Load File  :      LOADED (--------) D410650030
    Load File  :      LOADED (--------) D4106401604D4600
    Load File  :      LOADED (--------) A000000078584C50
    Load File  :      LOADED (--------) D41000000301
    Load File  :      LOADED (--------) A00000027710

Das Auslesen der CPLC-Daten liefert

#GET DATA 9F7F
=> 80 CA 9F 7F 00
<= 9F 7F … 90 00
IC Fabricator : 4790
IC Type : 5032
Operating System ID : 8241
Das Hochladen eines eigenen CAP-Files wird allerdings mit Fehler 6A 86 abgebrochen:

#INSTALL FOR LOAD
 => 84 E6 02 00 20 FA 75 F7 86 3C F7 A2 21 AB 43 19
    2E 0F F4 27 1B 31 10 48 E2 6F 69 CA DB D5 53 F5
    73 36 21 31 12 00
 <= 6A 86

Vielleicht weiss jemand wieso 6A86 also ‚Incorrect parameters (P1,P2)‘ ausgegeben wird?

Löschen eines vorhandenen Applets muss ich an dieser Stelle nicht ausprobieren, da ich die Karte ja grade erst neu habe und zumindest erst einmal das vorhandene Guthaben verbrauchen will.

#DELETE AID *lieber nicht*
 => 84 E4 00 00 18 ...
...

Die NFC Daten muss ich mir dann nochmal in Ruhe anschauen…

Nexus4, Nexus5, Nexus10, Galaxy S4 kann keine NFC Mifare Classic Tags lesen

samsung_tectilesDie Reihe der Android NFC Smartphones, die nicht mit einem NXP PN544 NFC-Controller ausgestattet werden wird grösser. Grade diesen Monat ist das Samsung Galaxy S4 rausgekommen. In den Geräten ist das Secure Element von STMicroelectronics, das Card OS von Oberthur Technologies und der Broadcom BCM20793 NFC-Controller verbaut, der leider keine Mifare Classic Tags lesen kann, weil wohl Broadcom die Mifare-Technik von NXP nicht lizensiert hat. Das ganze wäre nicht weiter schlimm, wenn die sehr günstigen Mifare Classic Tags nicht schon so weit verbreitet wären.

Wie macht sich das ganze bemerkbar?

Die Mifare Classic Tags können von dem Broadcom NFC-Controller zwar erkannt werden:nexus10_mifare_classic_nfc_info

aber der Speicherinhalt kann weder gelesen noch beschrieben werden, so wie zB bei Mifare Ultralight Tags: nexus10_mifare_nfc_info

Aus diesem Grund lassen sich die relativ günstigen Sun Ray Card + Mifare 1K genauso wenig wie die ACOS3 + Mifare 1k Karten mit diesen Geräten nutzen.

Mega-Fail 2

Zusätzlich kommt der Mega-Fail hinzu dass Samsung für ihre Tectiles NFC Tags ebengenau diese nicht kompatiblen Mifare Classic Tags einsetzen!

Frage: Wieso legt Samsung seinem Galaxy S4 nicht ein paar Samsung Tectiles Tag bei, so wie es Sony mit seinem Xperia mit den Xperia SmartTags macht?
Antwort: Weil sie nicht Apple sind und somit die eigenen Produkte nicht zueinander kompatibel sein müssen!

Update [2013-04-30] Scheinbar hat Samsung mittlerweile bemerkt dass die eigenen Produkte nicht zusammen passen und wird die neuen Tectiles 2 Tags rausbringen, die dann NFC Forum konform sind und somit mit jedem Android NFC Phone zusammen funktionieren.

wenn's draußen mal regnet…