Différence entre « Commande de transmission directe » (ACR122U) et « PC_to_RDR_Escape » (ACR1251U)

StackOverflow https://stackoverflow.com//questions/25084197

Question

Avec un ACR122U, je sais que vous pouvez transmettre des messages directs au contrôleur NFC (PN532) en utilisant la commande de transmission directe : 0xff 0x00 0x00 0x00....

Quand je lis le manuel de l'ACR1251U, il est écrit : Les commandes de contrôle des périphériques du lecteur sont implémentées à l'aide de PC_to_RDR_Escape.

Qu'est-ce que cela signifie exactement ?Cela signifie-t-il qu'il n'est pas possible d'envoyer des messages directs au contrôleur NFC ?Si c'est possible, où pouvez-vous trouver quel contrôleur NFC il utilise ?

Toute information est la bienvenue !

Merci d'avance.

Était-ce utile?

La solution

La « commande de transmission directe » est un format APDU qui vous permet d'envoyer des commandes natives au contrôleur NFC PN532 intégré au dispositif lecteur ACR122U.Cela définit donc essentiellement l'encapsulation pour intégrer les commandes natives dans le protocole basé sur APDU que vous communiquez au lecteur via PC/SC (& CCID) :

 0xFF 0x00 0x00 0x00 <Lc> <DATA>

<DATA> est en fait une commande pour le PN532.

PC_to_RDR_Escape est le message CCID (classe de périphérique/protocole parlé via USB) qui est invoqué par la pile PC/SC lorsque vous envoyez une commande d'échappement.Par exemple, si vous utilisez l'API Java SmartcardIO Card.transmitControlCommand() méthode, la pile PC/SC enverra un PC_to_RDR_Escape message via USB.Le lecteur répond à ce message par un RDR_to_PC_Escape réponse.

De même si vous utilisez la méthode CardChannel.transmit() méthode, cela amène la pile PS/SC à émettre un (ou plusieurs ?) PC_to_RDR_XfrBlock messages via USB.

Comme vous l'avez découvert dans cette réponse, il semble que vous utilisiez le format APDU de la "commande de transmission directe" pour les deux méthodes d'échange de commandes.

Que vous deviez utiliser la commande escape ou la commande transmission semble dépendre de la version du firmware du lecteur.Par exemple, pour les versions 101, 102 (et 103 ?) du firmware, vous n'aurez généralement besoin que de la commande de transmission, mais les versions de nouvelle génération (2xx) semblent préférer/exiger (si elles n'émulent pas un ATR) l'approche de la commande d'échappement. .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top