2016-08-08 56 views
1

Ich habe ein Projekt, das mit Speicherkarte zu spielen. Ich muss lesen und in die Karte schreiben.SLE4442 nicht reagierende Karte

Mein Lesermodell ist: Alcor Micro AU9540 (http://www.ebay.com/itm/NEW-HIGH-SPEED-USB-EMV-PS-SC-SMART-CARD-CHIP-READER-AND-WRITER-SUPPORT-ISO-7816-/172165900399?hash=item2815e3286f:g:zJoAAOSwDuJWxOcc)

Die Karte, die ich verwenden ist: SLE4442 Speicherkarte (ich den Link verloren)

ich dies tun auf Ubuntu mit pcsc-lite und pcsc- Werkzeuge

Wenn ich 'pcsc_scan' Befehl verwende, kann es das Lesermodell erfolgreich lesen, aber Karte nicht reagieren. Dinge wie diese:

[email protected]:~$ pcsc_scan 
PC/SC device scanner 
V 1.4.23 (c) 2001-2011, Ludovic Rousseau <[email protected]> 
Compiled with PC/SC lite version: 1.8.11 
Using reader plug'n play mechanism 
Scanning present readers... 
0: Alcor Micro AU9540 00 00 

Tue Aug 9 01:57:39 2016 
Reader 0: Alcor Micro AU9540 00 00 
Card state: Card inserted, Unresponsive card, 

Aber wenn ich meine eigenen in-use Bankkarte verwenden (Ich weiß es nicht Speicherkarte ist), aber Dinge wie diese, es habe eine ATR Antwort:

Tue Aug 9 01:58:36 2016 
Reader 0: Alcor Micro AU9540 00 00 
    Card state: Card inserted, 
    ATR: 3B 68 00 00 00 73 C8 40 13 00 90 00 

ATR: 3B 68 00 00 00 73 C8 40 13 00 90 00 
+ TS = 3B --> Direct Convention 
+ T0 = 68, Y(1): 0110, K: 8 (historical bytes) 
    TB(1) = 00 --> VPP is not electrically connected 
    TC(1) = 00 --> Extra guard time: 0 
+ Historical bytes: 00 73 C8 40 13 00 90 00 
    Category indicator byte: 00 (compact TLV data object) 
    Tag: 7, len: 3 (card capabilities) 
     Selection methods: C8 
     - DF selection by full DF name 
     - DF selection by partial DF name 
     - Implicit DF selection 
     Data coding byte: 40 
     - Behaviour of write functions: write OR 
     - Value 'FF' for the first byte of BER-TLV tag fields:  invalid 
     - Data unit in quartets: 1 
      Command chaining, length fields and logical channels: 13 
     - Logical channel number assignment: by the card 
     - Maximum number of logical channels: 4 
    Mandatory status indicator (3 last bytes) 
     LCS (life card cycle): 00 (No information given) 
     SW: 9000 (Normal processing.) 

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 
3B 68 00 00 00 73 C8 40 13 00 90 00 
MASTERCARD issued by MLP (Marschollek, Lautenschl?ger and Partner) 
G&D 12696-GDM-10/11 DEBIT CARD issued by BANCO DE CREDITO DEL PERU 

Beim Vergleich scheint das Problem auf der Karte zu liegen.

Ich rate auch, wenn es ist, weil die Karte, die ich kaufte, nicht zum Leser passt? Auf eBay, die Details der Karte wie folgt aus: [Karte Verkauf Seite] [1]

[1]: http://i.stack.imgur.com/O6v1o.png Es bietet einige Modelle der Kartenleser die Karte unterstützt (einige der Kartenträger alle Leser). Vielleicht unterstützt meine Karte meinen Leser nicht?

Oder vielleicht muss ich zuerst etwas auf der Karte tun, dann kann ich eine ATR-Antwort bekommen?

Antwort

0

Eine Karte kann nicht viel tun, um mit einem Leser kompatibel zu sein, es ist umgekehrt. Beachten Sie, dass SLE4442 eine Speicher Karte ist, was bedeutet, dass die Kommunikation synchron ist und Zweileiter-Protokoll anstelle von asynchronen T = 0 oder T = 1 verwendet.

Gemäß Alcor Micro unterstützt der Leserchip Zweidraht, so dass Ihre Karte möglicherweise defekt ist.

+0

Ja, Alcor Micro sagt, es unterstützt SLE4442. Dann sollte es ein Treiberproblem sein? –

+0

Und ich fragte Alcor Micro, sie sagten, dass sie nur Alcor Micro Chips an andere Anbieter liefern und sie sind nicht der Endanbieter. Andere Anbieter können Änderungen daran vornehmen. Sollte das das Problem sein? –

+0

@YULiu Das Übersetzen einer Pseudo-APDU in Zweidraht ist nicht in ein paar Codezeilen erledigt, aber auch kein Hexenwerk. Die Firmware des Lesers ist der effizienteste, wenn nicht nur Ort, um es zu tun. Wenn ein OEM den Aufwand gespart hat, ist auf der Treiberebene wenig zu tun. Es würde immer noch einen anderen SLE4442 ausprobieren, um einfach die Möglichkeit einer defekten Karte auszuschließen. – guidot