Site Tools


r502spy-usermanual

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
r502spy-usermanual [2017/05/11 02:15]
127.0.0.1 外部编辑
r502spy-usermanual [2017/05/15 08:43] (current)
JavaCardOS
Line 1: Line 1:
 +====== R502 SPY Reader Debug User Manual ======
    
-   R502 SPY reader is developed by JavaCardOS Technologies. It is based on Feitian R502 smart card reader. It supports not only contact cards compliant with ISO 7816 but also contactless cards compliant with ISO 14443,and has ISO14443 TypeA protocol debug function and Mifare command debug function. It also provides the online update feature. We will launch more protocol debug function in the future.+ R502 SPY reader is developed by JavaCardOS Technologies. It is based on Feitian R502 smart card reader. It supports not only contact cards compliant with ISO 7816 but also contactless cards compliant with ISO 14443,and has ISO14443 TypeA protocol debug function and Mifare command debug function. It also provides the online update feature. We will launch more protocol debug function in the future.
  
  
-=====   Contactless command=====+===== Contactless command =====
  
-====       1. RF_ON====+==== 1. RF_ON ====
  
-       Open electromagnetic field.+ Open electromagnetic field.
  
  
-====       2. RF_OFF====+==== 2. RF_OFF ====
  
-       Close electromagnetic field.+ Close electromagnetic field.
  
  
-====       3. RF_AUTO====+==== 3. RF_AUTO ====
  
-       Set to automatic communication status. In this status, anti-collision will be completed automatically.+ Set to automatic communication status. In this status, anti-collision will be completed automatically.
  
  
-====       4. RF_MANUAL====+==== 4. RF_MANUAL ====
  
-       Set to manual operation status. In this status, all the commands will be sent by artificial, anti-collision program will not be executed automatically.+ Set to manual operation status. In this status, all the commands will be sent by artificial, anti-collision program will not be executed automatically.
  
  
-=====   ISO14443-TypeA Debug===== +===== ISO14443-TypeA Debug ===== 
-====       1. REQA====+==== 1. REQA ==== 
 + 
  
 +{{ Editor/​2016-08-11/​57abd6ec88efc.png?​300 }} 
  
 +Command value is REQA . As the specification said, the command value is 0x26.
  
 +==== 2. WUPA ====
 + 
  
-    {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd6ec88efc.png}}+{{ :wupa.png?300 }}\\ 
  
-    Command value is REQA . As the specification said, the command value is 0x26. 
  
 +Command value is WUPA. This command value is 0x52.
  
-====       2. WUPA==== 
  
-       {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd75ff1ea5.png}}+==== 3ANTICOLLISION ====
  
-     Command value is WUPA. This command value is 0x52. 
  
 +{{ Editor/​2016-08-11/​57abd786cbe41.png?​300 }}
  
-====       3. ANTICOLLISION==== 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd786cbe41.png}} 
  
  
 +  * Level: Cascade level. Select cascade level 1, SEL is 0x93; Select cascade level 2, SEL is 0x95; Select cascade level 3, SEL is 0x97.
  
  
 +  * Byte Count: Specify the integer part of the number of all valid data bits transmitted by the PCD (including SEL and NVB) divided by 8.Consequently,​ the minimum value of “Byte count” is 2 and the maximum value is 7.
 + 
  
-*LevelCascade level. Select cascade level 1, SEL is 0x93; Select cascade level 2, SEL is 0x95; Select cascade level 3, SEL is 0x97+  ​Bit CountSpecify the number of all valid data bits transmitted by the PCD (including ​SEL and NVB) modulo 8
-\\ +  
 +==== 4. SELECT ====
  
-*Byte Count: Specify the integer part of the number of all valid data bits transmitted by the PCD (including SEL and NVB) divided by 8.Consequently,​ the minimum value of “Byte countâ€� is 2 and the maximum value is 7. 
-\\  
  
-*Bit Count: Specify the number of all valid data bits transmitted by the PCD (including SEL and NVB) modulo 8. +{{ Editor/​2016-08-11/​57abd79f40650.png?300 }}\\ 
-\\ +
  
  
  
-====        4. SELECT==== 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd79f40650.png}} 
  
  
 +  * Level: Cascade level. Select cascade level 1, SEL is 0x93;Select cascade level 2, SEL is 0x95;Select cascade level 3,SEL is 0x97.
  
 +  * Byte Count: Specify the integer part of the number of all valid data bits transmitted by the PCD (including SEL and NVB) divided by 8.Consequently,​ the minimum value of “Byte count” is 2 and the maximum value is 7.
 + 
  
 +  * Bit Count: Specify the number of all valid data bits transmitted by the PCD (including SEL and NVB) modulo 8.
 + 
  
-*LevelCascade level. Select cascade level 1, SEL is 0x93;Select cascade level 2, SEL is 0x95;Select cascade level 3,SEL is 0x97+  ​UIDUnique Identifier
-\\ + 
  
-*Byte Count: Specify the integer part of the number of all valid data bits transmitted by the PCD (including SEL and NVB) divided by 8.Consequently,​ the minimum value of “Byte countâ€� is 2 and the maximum value is 7. 
-\\  
  
-*Bit Count: Specify the number of all valid data bits transmitted by the PCD (including SEL and NVB) modulo 8. 
-\\  
  
-*UID: Unique Identifier. +==== 5RATS ====
-\\ +
  
 + {{ Editor/​2016-08-11/​57abd7b6d2cee.png }}\\ 
  
  
-====       5. RATS==== 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd7b6d2cee.png}} 
  
  
  
 +  * Header: Start byte.
 + 
  
 +  * FSDI: Defines the maximum size of a frame the PCD is able to receive.
 + 
 +  * CID: Defines the logical number of the addressed PICC in the range from 0 to 14. The value 15 is RFU.
 + 
  
-*Header: Start byte. +==== 6HLTA ====
-\\ +
  
-*FSDI: Defines the maximum size of a frame the PCD is able to receive. +{{ Editor/​2016-08-11/​57abd8072aa9c.png }}
-\\ +
  
-*CID: Defines the logical number of the addressed PICC in the range from 0 to 14The value 15 is RFU+ ​Command value is HLTAThis value is 0x5000, provided by specification
-\\ +  
 +==== 7. PPS ====
  
 +{{ Editor/​2016-08-11/​57abd81a7ecc9.png }}
  
  
-====       6. HLTA==== 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8072aa9c.png}} 
  
  
-      Command value is HLTA. This value is 0x5000, provided by specification. 
  
 +  * CID: Defines the logical number of the addressed PICC.
 + 
  
-====       7PPS==== +  * PPS1: Check V mark if there is PPS1 byte
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd81a7ecc9.png}}+ 
  
 +  * DSI: Bit 4 and 3 of PPS1. Code the selected divisor integer from PICC to PCD.
 + 
  
 +  * DRI: Bit 2 and 1 of PPS1.Code the selected divisor integer from PCD to PICC.
 + 
 +===== ISO14443-Block Transmission Debug =====
 +==== 1. I-BLOCK ====
  
 +{{ Editor/​2016-08-11/​57abd82c7811a.png }}
  
  
-*CID: Defines the logical number of the addressed PICC. 
-\\  
  
-*PPS1: Check V mark if there is PPS1 byte. 
-\\  
  
-*DSI: Bit 4 and 3 of PPS1. Code the selected divisor integer from PICC to PCD. 
-\\  
  
-*DRIBit 2 and 1 of PPS1.Code ​the selected divisor integer from PCD to PICC+  ​Chaining If it’s not the last block of chain transmission,​ set it to 1, and set the last block to 0.. 
-\\ +  
 +  * CID: Card IDentifier
 + 
  
 +  * NAD: Node ADdress. ​
  
 +  * Block Number
  
-=====    ISO14443-Block Transmission Debug===== +  * INF 
-====       1I-BLOCK==== +  * EDC 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd82c7811a.png}}+  
 +==== 2R-BLOCK ====
  
 +{{ Editor/​2016-08-11/​57abd8412a094.png }}
  
 +  * Type: R-Block type, ACK or NAK.
 +  * CID: Card IDentifier.
 +  * Block Number
 +  * INF
 +  * EDC
 +==== 3. S-BLOCK ====
  
 + {{ Editor/​2016-08-11/​57abd8538391b.png }}
 + 
 +  * Type: If it’s not the last block of chain transmission,​ set it to 1, and set the last block to 0.
 +  * CID: Card Identifier.
 +  * INF
 +  * EDC
  
 +===== Mifare Debug =====
 +==== 1. AUTHENTICATION ====
  
-*Chaining: If it’s not the last block of chain transmission,​ set it to 1, and set the last block to 0. +{{ Editor/​2016-08-11/​57abd8671c32a.png }}
-\\ +
  
-*CID: Card IDentifier. 
-\\  
  
-*NAD: Node ADdress. 
-\\  
  
-*Block Number 
-\\  
  
-*INF 
-\\  
  
-*EDC +  ​Mode:  If it’s not the last block of chain transmission,​ set it to 1, and set the last block to 0. 
-\\ +  * Block Number: MIFARE Block address. 
 +  * Key: Key value. 
 +  * UID: Card Unique Identifier. 
 +==== 2. READ BLOCK ====
  
 +{{ Editor/​2016-08-11/​57abd880058b3.png }}
  
  
-====        2. R-BLOCK==== 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8412a094.png}} 
  
  
  
 +  * Block Number: MIFARE Block address.
  
 +==== 3. WRITE BLOCK ====
  
-*Type: R-Block type, ACK or NAK. +{{ Editor/2016-08-11/​57abd8919b51f.png }}
-\\ +
  
-*CID: Card IDentifier. 
-\\  
  
-*Block Number 
-\\  
  
-*INF 
-\\  
  
-*EDC 
-\\  
  
 +  * Block Number: MIFARE Block address.
 +  * Data: Data to write. The length of data is block size 16 bytes.
 +==== 4.  INCREMENT ====
  
 +{{ Editor/​2016-08-11/​57abd8a8bdb9f.png }}
  
-====                 3. S-BLOCK==== 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8538391b.png}} 
  
  
  
  
 +  * Block Number: MIFARE Block address.
 +  * Operand: Operand (4 byte signed integer).
 +==== 5. DECREMENT ====
  
-*Type: If it’s not the last block of chain transmission,​ set it to 1, and set the last block to 0. +{{ Editor/​2016-08-11/​57abd8ba98f1b.png }}
-\\ +
  
-*CID: Card Identifier. 
-\\  
  
-*INF 
-\\  
  
-*EDC 
-\\  
  
  
 +  * Block Number: MIFARE Block address.
 +  * Operand: Operand (4 byte signed integer).
 +==== 6. TRANSFER ====
  
-=====    Mifare Debug===== +{{ Editor/​2016-08-11/​57abd8cef0b98.png }}
-====        1. AUTHENTICATION==== +
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8671c32a.png}}+
  
 +  * Block Number: MIFARE Block address.
  
 +==== 7. RESTORE ====
  
 +{{ Editor/​2016-08-11/​57abd8e47bfe9.png }}
  
 +  * Block Number: MIFARE Block address.
  
-*Mode: If it’s not the last block of chain transmission,​ set it to 1, and set the last block to 0. +===== Script operation =====
-\\ +
  
-*Block Number: MIFARE Block address. +==== 1Load script file ====
-\\ +
  
-*Key: Key value. +Select script directory and load script content. The script file extension is scd.
-\\ +
  
-*UID: Card Unique Identifier. 
-\\  
  
 +==== 2. Save script file ====
 +Save the current editing script. ​
  
 +If the script file directory is selected, this script will cover the script file under the current directory. ​      
 +If the script file directory is not selected, the window “Save” will pop up for you to save the file.
  
-====       2. READ BLOCK==== 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd880058b3.png}} 
  
 +==== 3. Script operation ====
  
 +  * Forward: The current selected command moves forward 1 position.
  
 +  * Backward: The current selected command moves backward 1 position.
  
 +  * Delete: Delete the current command.
 +==== 4. Script execution ====
  
-*Block NumberMIFARE Block address. +  ​ExecuteExecute the current script from behind.
-\\ +
  
 +  * Step over: From the current position, step over command.If there is no current selected item, execute the script from the first command.
  
- +  ​* Stop: Stop current operation. 
-====       3. WRITE BLOCK==== + 
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8919b51f.png}} +
- +
- +
- +
- +
- +
-*Block Number: MIFARE Block address. +
-\\  +
- +
-*Data: Data to write. The length of data is block size 16 bytes. +
-\\  +
- +
- +
- +
-====       4.  INCREMENT==== +
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8a8bdb9f.png}} +
- +
- +
- +
- +
- +
-*Block Number: MIFARE Block address. +
-\\  +
- +
-*Operand: Operand (4 byte signed integer). +
-\\  +
- +
- +
- +
-====        5. DECREMENT==== +
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8ba98f1b.png}} +
- +
- +
- +
- +
- +
-*Block Number: MIFARE Block address. +
-\\  +
- +
-*Operand: Operand (4 byte signed integer). +
-\\  +
- +
- +
- +
-====        6. TRANSFER==== +
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8cef0b98.png}} +
- +
- +
- +
- +
- +
-*Block Number: MIFARE Block address. +
-\\  +
- +
- +
- +
-====       7. RESTORE==== +
-            {{ https://​javacardos.com//​wiki/​Uploads/​Editor/​2016-08-11/​57abd8e47bfe9.png}} +
- +
- +
- +
- +
- +
-*Block Number: MIFARE Block address. +
-\\  +
- +
- +
- +
-=====   Script operation===== +
- +
-====       1. Load script file==== +
- +
-      Select script directory and load script content. The script file extension is scd. +
- +
- +
-====       2. Save script file==== +
- +
-      Save the current editing script.  +
-If the script file directory is selected, this script will cover the script file under the current directory.         +
-If the script file directory is not selected, the window “Saveâ€� will pop up for you to save the file. +
- +
- +
-====        3. Script operation==== +
- +
- +
- +
- +
-*Forward: The current selected command moves forward 1 position. +
-\\  +
- +
-*Backward: The current selected command moves backward 1 position. +
-\\  +
- +
-*Delete: Delete the current command. +
-\\  +
- +
- +
- +
-====        4. Script execution==== +
- +
- +
- +
- +
-*Execute: Execute the current script from behind. +
-\\  +
- +
-*Step over: From the current position, step over command.If there is no current selected item, execute the script from the first command. +
-\\  +
- +
-*Stop: Stop current operation. +
-\\  +
  
  
-=====  ​  ​Error value check list=====+===== Error value check list =====
  
  
Line 358: Line 264:
  
 | No.| Value| Explanation | No.| Value| Explanation
-| 1| 0x02| Err_Frm_Format     Data ​frame format error +| 1| 0x02| Err_Frm_Format ​    ​Data ​frame format error 
-| 2| 0x03| Err_Frm_Para       Data ​parameters error +| 2| 0x03| Err_Frm_Para ​      ​Data ​parameters error 
-| 3| 0x04| Err_Picc_Reset      RF ​module failed to reset +| 3| 0x04| Err_Picc_Reset ​     RF module failed to reset 
-| 4| 0x05| Err_Picc_Interface   RF ​module interface error +| 4| 0x05| Err_Picc_Interface ​  ​RF ​module interface error 
-| 5| 0x06| Err_Unknow_Cmd   Unknown ​command +| 5| 0x06| Err_Unknow_Cmd ​  ​Unknown ​command 
-| 6| 0x0F| Err_Exit            Force ​quit +| 6| 0x0F| Err_Exit ​           Force quit 
-| 7| 0x1B| Err_NoUseCard      No ​available card +| 7| 0x1B| Err_NoUseCard ​     No available card 
-| 8| 0x40| Err_Picc_Key ​M1     Private ​key format error +| 8| 0x40| Err_Picc_Key ​M1     ​Private ​key format error 
-| 9| 0x41| Err_Picc_Auth ​M1    Authentication ​error +| 9| 0x41| Err_Picc_Auth ​M1    Authentication ​error 
-| 10| 0x42| Err_Picc_NotAuth ​M1 Un-authentication card +| 10| 0x42| Err_Picc_NotAuth ​M1 Un-authentication card 
-| 11| 0x43| Err_Picc_Write       Write ​M1 block error +| 11| 0x43| Err_Picc_Write ​      ​Write ​M1 block error 
-| 12| 0x45| Err_Picc_Val         Wrong ​value +| 12| 0x45| Err_Picc_Val ​        ​Wrong ​value 
-| 13| 0x46| Err_Picc_Parity ​A     Card ​parity check error +| 13| 0x46| Err_Picc_Parity ​A     ​Card ​parity check error 
-| 14| 0x47| Err_Picc_Code        Error ​code +| 14| 0x47| Err_Picc_Code ​       Error code 
-| 15| 0x48| Err_Picc_Sernr ​A      Card ​serial number error +| 15| 0x48| Err_Picc_Sernr ​A      Card serial number error 
-| 16| 0x49| Err_Picc_Coll         Card ​conflict +| 16| 0x49| Err_Picc_Coll ​        ​Card ​conflict 
-| 17| 0x4A| Err_Picc_BitCnt       Bit ​error +| 17| 0x4A| Err_Picc_BitCnt ​      ​Bit ​error 
-| 18| 0x4B| Err_Picc_BytCnt      Byte ​error +| 18| 0x4B| Err_Picc_BytCnt ​     Byte error 
-| 19| 0x4C| Err_Picc_Para        Command ​parameter error +| 19| 0x4C| Err_Picc_Para ​       Command ​parameter error 
-| 20| 0x4D| Err_Picc_OvFlw       FIFO ​overflow +| 20| 0x4D| Err_Picc_OvFlw ​      ​FIFO ​overflow 
-| 21| 0x4E| Err_Picc_Unknowncmd Unknown ​command +| 21| 0x4E| Err_Picc_Unknowncmd Unknown ​command 
-| 22| 0x4F| Err_Picc_NYImplement Failed ​to execute command +| 22| 0x4F| Err_Picc_NYImplement Failed ​to execute command 
-| 23| 0x60| Err_Dev_TmOut       RF ​module tiemout +| 23| 0x60| Err_Dev_TmOut ​      ​RF ​module tiemout 
-| 24| 0x61| Err_Picc_AccessTimeout Processor ​timing timeout +| 24| 0x61| Err_Picc_AccessTimeout Processor ​timing timeout 
-| 25| 0x62| Err_Picc_Framing      Card ​response frame format error +| 25| 0x62| Err_Picc_Framing ​     Card response frame format error 
-| 26| 0x63| Err_Picc_Crc          Card ​response CRC error +| 26| 0x63| Err_Picc_Crc ​         Card response CRC error 
-| 27| 0x64| Mf_NoTag            Card ​not present+| 27| 0x64| Mf_NoTag ​           Card not present
  
    
-=====   Technical support=====+===== Technical support =====
  
-    1. Product introduction:​ [[https:/http://​www.javacardos.com/​store/​java_R502_SPY.php|http://​www.javacardos.com/​store/​java_R502_SPY.php]]+1. Product introduction:​ [[https://​www.javacardos.com/​store/​java_R502_SPY.php|http://​www.javacardos.com/​store/​java_R502_SPY.php]]
  
  
  
-    2. Technology forum:​ [[https://​javacardforum|http://​www.javacardos.com/​javacardforum/​]]+2. Technology forum: [[https://​www.javacardos.com/​javacardforum|http://​www.javacardos.com/​javacardforum/​]]
  
  
  
-    3. Online manual: [[https:/http://​www.javacardos.com/​wiki/​|http://​www.javacardos.com/​wiki/​]]+3. Online manual: [[https://​www.javacardos.com/​wiki/​|http://​www.javacardos.com/​wiki/​]]
  
  
r502spy-usermanual.1494468940.txt.gz · Last modified: 2017/05/13 02:26 (external edit)