Page 1
OEM Secure Card Reader Authenticator Programmer’s Manual (COMMANDS) April 2024 Document Number: D998200151-200 REGISTERED TO ISO 9001:2015 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 1 of 167 (D998200151-200)
Page 2
Printed in the United States of America INFORMATION IN THIS PUBLICATION IS SUBJECT TO CHANGE WITHOUT NOTICE. MAGTEK CANNOT BE HELD LIABLE FOR ANY USE OF THE CONTENTS OF THIS DOCUMENT. ANY CHANGES OR IMPROVEMENTS MADE TO THIS PRODUCT WILL BE INCLUDED IN THE NEXT PUBLICATION RELEASE.
Page 3
SureSwipe feature; Update contactless statuses in Notification 0x0300 - Transaction Status / Progress Information; Large update to Table 1-2 - Device Features; Update examples in Extended Command mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 3 of 167 (D998200151-200)
Page 4
Update Table 1-2 and add iDynamo 5 (Gen II), iDynamo 6 and Power Management scheme PM7; Add External PIN Accessory Support feature; Add Application Selection Options feature and supporting detail; Add Dual mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 4 of 167 (D998200151-200)
Page 5
Removed all instances of Tag DFDF67; Updated Table 7-40 to remove MSR Falback; Update Table 1-1 and Table 1-2 to add mDynamo Gen II and RS-232 content, Add 2.2 How to April 02, 2024 Use UART and RS-232 Connections (RS-232 Only | UART Only), add section 3.2 How to Use SLIP Format...
MagTek has also developed software that demonstrates direct communication with the device, which software developers can use to test the device and to which provides a starting point for developing other software. For more information, see the MagTek web site, or contact your reseller or MagTek Support Services.
The combination of device(s), host(s), software, firmware, configuration settings, physical mounting and environment, user experience, and documentation is referred to as the solution. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 11 of 167 (D998200151-200)
Page 16
Extended Notifications Dual USB Ports Pairing Modes Custom Advertising Configurable Lightning FID Auxiliary Ports Configurable Pushbutton External LED Control Encrypt Bulk 24 N Data (b) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 16 of 167 (D998200151-200)
Page 17
3) This feature is available in Dynamag and USB Enc IntelliHead V5 firmware version 21042840K00 (released January 2019) and newer. 4) EMV Contact Quick Chip is available in mDynamo firmware revision 1000003358F01 (released December 2017), eDynamo firmware revision 1000003354F00 (released October 2018), and newer.
1ms to 255ms. To change the setting, use Property 0x02 - USB Polling Interval (HID Only | KB Only). MagneSafe V5 devices identify themselves to the host with MagTek’s vendor ID 0x0801 and a Product ID (PID) from this list: •...
2.1.2 How to Send Commands On the USB Connection. For information about receiving unsolicited data from the device via Input Reports, see section 2.1.3 How to Receive Data On the USB Connection (HID Only). mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 19 of 167 (D998200151-200)
In very rare cases, the host may simply send a Get Feature Report directly without a preceding Set Feature Report. The Commands documentation specifies these special cases if they exist. (Extended Commands Only) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 20 of 167 (D998200151-200)
Page 21
Command 0x4A - Get Extended Response (Extended Commands Only) to retrieve Extended Responses. See the documentation for those two commands for details about how Extended Commands and Extended Responses work. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 21 of 167 (D998200151-200)
Usage ID 0x0020, call the platform’s USB SDK to retrieve the data from usage 0xFF000020 in the input report. 2) Interpret the blob of data from that Usage according to the second table in section 6.1. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 22 of 167 (D998200151-200)
Devices identified in Table 1-1 - Device Connection Types / Data Formats as using SLIP format use that format to send and receive commands and send command responses. See section 3.2 How to Use SLIP Format. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 23 of 167 (D998200151-200)
Adapting can be as simple as ignoring any extra data bytes that are not understood or expected. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 24 of 167 (D998200151-200)
0x00 0x00 is encoded as 0x44 0x55 0x55 0x09 0x66 0x00 0x00 0x02. A run of 260 0x00 bytes would be encoded as 0x00 0x00 0xFF 0x00 0x00 0x05. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 25 of 167 (D998200151-200)
Command 0x09 - Get Current TDES DUKPT KSN to get a reference to the key). In some cases, documented in the commands that are affected by it, the host must compute the MAC using the UIK installed in the device. In cases where only MagTek knows the UIK, MagTek must be involved to populate the MAC field.
Page 29
Extended Command 0x030C - Set Date and Time (MAC) Extended Command 0x030E - Commit Configuration Extended Command 0x0310 - Modify EMV Configuration (MAC, Contact Only) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 29 of 167 (D998200151-200)
(ignoring the padding at the end, which contains all zeroes). 7) Truncate the end of the decrypted data block to the expected data length, which discards the padding at the end. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 31 of 167 (D998200151-200)
May contain part or all of the notification data. The size of this field is 8..n Data contained in the Partial Data Length field. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 32 of 167 (D998200151-200)
Indicates the remaining time available, in seconds, for the indicated Current Operation operation to complete. The host specifies this timeout when calling Time remaining Extended Command 0x0300 - Initiate EMV Transaction (EMV Only). mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 33 of 167 (D998200151-200)
Page 34
0x19 = EMV Error - Card Not Accepted (Contact Only) 0x1A = Empty Candidate List 0x1B = Application Blocked 0x91 = Host Canceled EMV Transaction Before Card Was Presented 3..4 Final Status mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 34 of 167 (D998200151-200)
Messages are limited to 1024 bytes. If the message is zero length, this is a request for the host to clear the display. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 35 of 167 (D998200151-200)
Cardholder Selection Result to return the number of the item the cardholder selected, which should be between 1 and the number of menu selection items being displayed. The first item, 0, is the title only. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 36 of 167 (D998200151-200)
See Property 0x68 – EMV Message Format and Appendix B.1 ARQC ARQC Messages (EMV Only). The host is expected to use this data to process a Message request. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 37 of 167 (D998200151-200)
See Appendix B.3 Transaction Result Messages and Property 0x68 – EMV Data Message Format. It is expected that the host will save this data as a record of the transaction. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 38 of 167 (D998200151-200)
The data received. A message may be received over multiple notification 1..n Received Data messages depending on its length and time between each byte sent. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 39 of 167 (D998200151-200)
SPI Configuration (Auxiliary Ports Only), bit DAV Notify High, can be used by the host to enable/disable this notification. 2..7 Reserved These bits should be ignored. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 40 of 167 (D998200151-200)
Command Response Data Length is a one byte value that contains the length of the Command Response Data field. Command Response Data contains response data as defined in the documentation for the selected command in section 7 Commands. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 41 of 167 (D998200151-200)
NULL character. The result codes for the Get Property command can be any of the generic result codes listed in Table 7-3 on page 42. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 43 of 167 (D998200151-200)
This is a multiple-byte ASCII string. Its length can be zero to a maximum length String that depends on the property. The data length listed in the tables for each property does not include the terminating NULL character. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 44 of 167 (D998200151-200)
0x07 = Incorrect MAC, or authentication sequence is pending Example Request (Hex) Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 45 of 167 (D998200151-200)
Device Serial Number, and 3 padding zero bits. In these cases, the key can be referenced by an 8-digit MagTek part number (“key ID”) consisting of the 7 hex digit Key Set ID plus a trailing “0.” Request Data: None...
03 xx xx xx xx, where xx xx xx xx is a valid MAC Example Set Security Level Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 47 of 167 (D998200151-200)
This field is in big endian format and gives the total length of the Extended Data 4..5 Extended field the host is sending as multiple packets. Data Length mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 48 of 167 (D998200151-200)
Page 49
0x030D - Read Date and Time] Example Response (Hex) Result Code Data Len Data 00 00 00 00 00 07 06 14 11 00 00 00 01 (6/20/2009 5:00pm) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 49 of 167 (D998200151-200)
Example Response (Hex) Result Code Data Len Data 00 34 00 00 00 37 35 36 37 (Last 3 bytes of extended data out of 55 bytes) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 50 of 167 (D998200151-200)
The host can also send this command with a request data length of zero; the device does not load any key, and returns information about the current fixed key in its response. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 51 of 167 (D998200151-200)
Page 52
Example Request (Hex) Cmd Num Data Len Data 00 0102030405060708090A 8CA64DE9C1B123A78CA64DE9C1B123A7 00 (New key of all zeroes is encrypted under the current key of all zeroes) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 52 of 167 (D998200151-200)
Page 53
7 - Commands Example Response (Hex) Result Code Data Len Data 01 02 03 04 05 06 07 08 09 0A 8C A6 4D 00 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 53 of 167 (D998200151-200)
Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data 5B0BF27FCDB6C280 (Random number 371B5A89B509B5FD is encrypted under the current key of all zeroes mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 54 of 167 (D998200151-200)
Cmd Num Data Len Data 371B5A89 (Challenge 5B0BF27FCDB6C280 is decrypted under the current key of all zeroes) Example Response (Hex) Result Code Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 55 of 167 (D998200151-200)
See request data field description. Result codes: 0x00 = Success Example Request (Hex) Cmd Num Data Len Data 03 00 Example Response (Hex) Result Code Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 56 of 167 (D998200151-200)
If the card holds only one mutually supported payment application, the device proceeds to use that application. If the card holds more than one mutually supported application: mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 57 of 167 (D998200151-200)
Page 58
Transaction Status / Progress Information to report Data Error / Transaction Error, followed by Notification 0x0301 - Display Message Request to the host with the message mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 58 of 167 (D998200151-200)
Page 59
. Instead, the host should display an appropriate message (such APPROVED DECLINED ) to the cardholder based on the QUICK CHIP APPROVED QUICK CHIP DECLINED final transaction result. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 59 of 167 (D998200151-200)
Page 60
Result Message, which contains transaction details the host should save for later verification. The transaction result message indicates whether the host must prompt the cardholder to provide a signature. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 60 of 167 (D998200151-200)
If the device is set to a lower security level than Security Level 3, the device refuses this command, unless the device is an mDynamo, which accepts this command at Security Level 2.
Page 63
Valid values are the numerical codes from ISO 4217 Codes for the 16..17 Currency representation of currencies, for example: 0x0000 = Use Selected Application’s Currency Code Terminal Setting Code 0x0840 = US Dollar mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 63 of 167 (D998200151-200)
Page 64
Data Extended Data Offset 0000 Extended Command Number 0300 Complete Extended Data Length 0013 Extended Data 3C020000000000150000000000000000084002 Example Response (Hex) Header Result Code Data Length mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 64 of 167 (D998200151-200)
Page 65
7 - Commands Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 65 of 167 (D998200151-200)
Example Request (Hex) Header Command Number Data Length Data Extended Data Offset 0000 Extended Command Number 0302 Complete Extended Data Length 0002 Extended Data 0001 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 66 of 167 (D998200151-200)
Page 67
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 67 of 167 (D998200151-200)
Extended Command Number 003C Complete Extended Data Length 003AF92EDFDF540A00000000000000000000DFDF550182DFD Extended Data F250F423335453243443038303131364141FA0670048A0230300 Example Response (Hex) Header Result Code Data Length Data Not Applicable Extended Data Offset mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 68 of 167 (D998200151-200)
Page 69
Example Response Following Up For Packet 0 (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 69 of 167 (D998200151-200)
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 70 of 167 (D998200151-200)
See section 7.4.1 About MACs. Response Data: None. The response to this command only contains a result code. Result codes: 0x0000 = Success 0x0390 = Device Has No Keys mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 71 of 167 (D998200151-200)
Page 72
Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length Not Applicable Extended Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 72 of 167 (D998200151-200)
FA<len> /* container for generic data */ <tag> … Tags to Read <tag> Tag DFDF47 cannot be read individually. This tag can only be retrieved using the ‘Read All Tags’ option. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 73 of 167 (D998200151-200)
Page 74
Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset 0000 Extended Result Code 000B Complete Extended Data Length 0009FA8200059F1A020840 Extended Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 74 of 167 (D998200151-200)
0x0391 = Invalid Device Serial Number 0x0392 = Invalid Type of MAC field 0x0393 = Invalid Slot Number field 0x0394 = Invalid Operation field 0x0395 = Invalid Database Selector field mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 75 of 167 (D998200151-200)
Page 76
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 76 of 167 (D998200151-200)
0x0394 = Invalid Operation field 0x0395 = Invalid Database Selector field 0x0396 = Invalid Tags to Read field Example Request (Hex) Header Command Number Data Length mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 77 of 167 (D998200151-200)
Page 78
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 000F Extended Data 000DFA8200099F0606A00000002501 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 78 of 167 (D998200151-200)
Page 80
00DFDF7A0100DFDF7B0100DFDF7C0100DFDF7D0100xxxxx Extended Data Where nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn is the 16-byte Device Serial Number and xxxxxxxx is the 4-byte MAC Example Response (Hex) Header Result Code Data Length mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 80 of 167 (D998200151-200)
Page 81
7 - Commands Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 81 of 167 (D998200151-200)
Two byte binary, most significant byte first. This gives the total length of the 0..1 Length message that follows. FA<len> /* container for generic data */ <tag><len><value> Tags Read … <tag><len><value> mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 82 of 167 (D998200151-200)
Page 83
Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset 0000 Extended Result Code Complete Extended Data Length 001F 001DFA820019DFDF790100DFDF7A0100DFDF7B0100DFDF7 Extended Data C0100DFDF7D0100 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 83 of 167 (D998200151-200)
030B Complete Extended Data Length 0001 Extended Data Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset 0000 Extended Result Code mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 84 of 167 (D998200151-200)
0x0390 = Device Has No Keys 0x0391 = Invalid Device Serial Number 0x0392 = Invalid Type of MAC field 0x0396 = Invalid Date / Time data 0x0397 = Invalid MAC mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 86 of 167 (D998200151-200)
Page 87
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 87 of 167 (D998200151-200)
Extended Command Number 0000 Complete Extended Data Length Not Applicable Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 88 of 167 (D998200151-200)
Page 89
7 - Commands 0000 Extended Result Code Complete Extended Data Length 0007 Extended Data 0204130D340009 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 89 of 167 (D998200151-200)
030E Complete Extended Data Length 0001 Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 0000 Extended Result Code mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 90 of 167 (D998200151-200)
Page 91
7 - Commands 0000 Complete Extended Data Length Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 91 of 167 (D998200151-200)
Tag 9F40 set to 72 00 00 B0 01 Configuration Identifier = 1: (No MSR Fallback Only) • Attended, Online Only • SDA, DDA and CDA disabled • No MSR Fallback, Signature mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 92 of 167 (D998200151-200)
Page 93
Extended Command Number 0310 Complete Extended Data Length 0017 0000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn01xxxxxxxx Extended Data Where nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn is the 16-byte Device Serial Number (DSN) and xxxxxxxx is the 4-byte MAC mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 93 of 167 (D998200151-200)
Page 94
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 94 of 167 (D998200151-200)
Extended Command Number 0001 Complete Extended Data Length Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 95 of 167 (D998200151-200)
Page 96
7 - Commands 0001 Complete Extended Data Length Extended Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 96 of 167 (D998200151-200)
If the device is not connected to the host using UART, the device automatically converts between UART and the device/host connection type. This conversion may introduce data propagation delays and buffering limitations. MagTek advises thoroughly testing external devices with the auxiliary port to make sure they are completely compatible.
Page 98
Result Code Data Length Data Extended Data Offset 00 00 Extended Result Code 00 00 Complete Extended Data Length 00 00 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 98 of 167 (D998200151-200)
See the Control Data Field table above for a description of each bit in this field. Result codes: 0x0000 = Success mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 99 of 167 (D998200151-200)
Page 100
Result Code Data Length Data Extended Data Offset 00 00 Extended Result Code 00 00 Complete Extended Data Length 00 00 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 100 of 167 (D998200151-200)
If the device is not connected to the host using SPI, the device automatically converts between SPI and the device/host connection type. This conversion may introduce data propagation delays and buffering limitations. MagTek advises thoroughly testing external devices with the auxiliary port to make sure they are completely compatible.
Page 102
Result Code Data Length Data Extended Data Offset 00 00 Extended Result Code 00 00 Complete Extended Data Length 00 03 Extended Data FF FF FF mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 102 of 167 (D998200151-200)
See the control data field table for a description of each bit in this field. Result codes: 0x0000 = Success Example Request (Hex) Header Command Number Data Length mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 103 of 167 (D998200151-200)
Page 104
Result Code Data Length Data Extended Data Offset 00 00 Extended Result Code 00 00 Complete Extended Data Length 00 00 Extended Data Not Applicable mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 104 of 167 (D998200151-200)
MagTek. Changing these configuration properties requires low-level communication with the device. Details for communicating with the device to read or change programmable properties are provided in section 7.3.1 Command 0x00 - Get Property and section 7.3.2 Command 0x01 - Set Property (MAC).
Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value 31 32 33 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 106 of 167 (D998200151-200)
Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 107 of 167 (D998200151-200)
Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value 31 32 33 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 108 of 167 (D998200151-200)
Attempts to set this property fail with RC = 0x01. Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value 56 30 35 mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 109 of 167 (D998200151-200)
(see Command 0x02 - Reset Device) or powered off for at least 30 seconds, then powered on, before the changes will take effect. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 110 of 167 (D998200151-200)
Set Property: Yes (Read-Only on some devices) Default Value: 0x08 for all devices except eDynamo, kDynamo, mDynamo, DynaWave, and tDynamo, which use 0x40 The value is a byte that contains the device’s maximum packet size for the USB Interrupt In endpoint when using the HID data format [see section 2.1.3 How to Receive Data On the USB Connection (HID...
On devices that support multiple values for this property and do not handle connection switching automatically, the host can use this property to change the device’s behavior. MagTek strongly recommends the host set this property before setting other properties, and immediately power cycle or reset the device (see Command 0x02 - Reset Device), because it changes which other properties are available.
0x01, otherwise it equals 0x00. For eDynamo, this property is available in firmware revisions 1000003354E00 (released June 2017) and later. For mDynamo, this property is available in firmware revisions 1000003358C00 (released June 2017) and later. Example Get Request (Hex)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 114 of 167 (D998200151-200)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 115 of 167 (D998200151-200)
1 = 19200 baud 8..10 Baud Rate 2 = 38400 baud 3 = 57600 baud 4 = 115200 baud. Reserved This bit should always be written as zero. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 116 of 167 (D998200151-200)
Page 117
Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data 00 01 (default) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 117 of 167 (D998200151-200)
1 = SPI data signal available on the first SPI clock edge (unsupported – always write as 0) Reserved This bit should always be written as zero. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 118 of 167 (D998200151-200)
Page 119
Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data 03 11 (default) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 119 of 167 (D998200151-200)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 120 of 167 (D998200151-200)
For eDynamo, this property is available in firmware revisions 1000003354E00 (released June 2017) and later. For mDynamo, this property is available in firmware revisions 1000003358C00 (released in June 2017) and later. This property is stored in non-volatile memory, so it persists when the device is power cycled. When this property is changed, the device must be reset (see Command 0x02 - Reset Device) or powered off for at least 30 seconds, then powered on, before the changes will take effect.
Page 122
8 - Properties Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 122 of 167 (D998200151-200)
“SDK” and select the SDK and To download the SDKs and documentation, search www.magtek.com documentation for the programming languages and platforms you need, or contact MagTek Support Services for assistance. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS)
Page 129
• The Expiration Date is transmitted unmasked. • The Service Code is always unmasked on newer devices. • All Field Separators are sent unmasked. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 129 of 167 (D998200151-200)
Page 130
Appendix B - EMV Message Formats (EMV Only) • All other characters are set to the specified mask character. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 130 of 167 (D998200151-200)
<tags defined by DFDF02 or DFDF08> F4<len>/* container tag for encrypted MSR data */ DFDF36 <EncT1status><len><val> DFDF37 <EncT1data><len><val> DFDF38 <EncT2status><len><val> DFDF39 <EncT2data><len><val> DFDF3A <EncT3status><len><val> DFDF3B <EncT3data><len><val> DFDF3C <Encrypted Magneprint Data><len><val> mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 131 of 167 (D998200151-200)
Page 132
8 bytes> If the device is configured to prefer MSD data, it includes that data in additional TLV data objects in TLV data object FC. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 132 of 167 (D998200151-200)
(ARPC padding, if any, to be a multiple of 8 bytes) CBC-MAC (4 bytes, reserved, must be sent to the device, however, the device does not check for the properly calculated CBC-MAC) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 133 of 167 (D998200151-200)
The format of Transaction Result messages depends on whether the device is set to Security Level 2 (not encrypting) or Security Level 3 (encrypting). Support for EMV transactions at Security Level 2 is only available on mDynamo. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 134 of 167 (D998200151-200)
The value inside tag DFDF4D is fully described in section B.1.1. If the device is configured to prefer MSD data, it includes that data in additional TLV data objects in TLV data object F2. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 135 of 167 (D998200151-200)
DUKPT TDES encryption algorithm, the device pads it so the length of its value is a multiple of 8 bytes. The device uses tag DFDF58 to report how many bytes of tag DFDF59 are padding. After the host mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 136 of 167 (D998200151-200)
Page 137
… /* Reversal Data tags (defined by DFDF05)*/ If the device is configured to prefer MSD data, it includes that data in additional TLV data objects in TLV data object F2. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 137 of 167 (D998200151-200)
Appendix C - EMV Terminal and Application Settings (EMV Only) C.1.2 EMV Common Application Settings and Defaults There are no default EMV Application Settings shared across all application databases on the device. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 139 of 167 (D998200151-200)
Maximum Target Percentage to be used for DFDF12 63 0x01 MagTek Biased Random Selection (0 - 63 hex) DFDF68 00 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 144 of 167 (D998200151-200)
Page 145
Maximum Target Percentage to be used for DFDF12 0x01 MagTek Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 145 of 167 (D998200151-200)
Page 146
Maximum Target Percentage to be used for DFDF12 63 0x01 MagTek Biased Random Selection (0 - 63 hex) DFDF68 00 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 146 of 167 (D998200151-200)
Page 147
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 147 of 167 (D998200151-200)
Page 148
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 148 of 167 (D998200151-200)
Page 149
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 149 of 167 (D998200151-200)
Page 150
Maximum Target Percentage to be used for DFDF12 0x01 MagTek Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 150 of 167 (D998200151-200)
Page 151
Maximum Target Percentage to be used for DFDF12 0x01 MagTek Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 151 of 167 (D998200151-200)
Page 152
Maximum Target Percentage to be used for DFDF12 0x01 MagTek Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 152 of 167 (D998200151-200)
Page 153
Maximum Target Percentage to be used for DFDF12 0x01 MagTek Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 153 of 167 (D998200151-200)
Page 154
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 154 of 167 (D998200151-200)
Page 155
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 155 of 167 (D998200151-200)
Page 156
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 156 of 167 (D998200151-200)
Page 157
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 157 of 167 (D998200151-200)
Page 158
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 158 of 167 (D998200151-200)
Page 159
Maximum Target Percentage to be used DFDF12 0x01 MagTek for Biased Random Selection (0 - 63 hex) DFDF68 0x01 MagTek PIN Bypass Supported (Not Supported) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 159 of 167 (D998200151-200)
Page 160
MagTek’s published specifications. This warranty shall be provided only for a period of one year from the date of the shipment of the product from MagTek (the “Warranty Period”). This warranty shall apply only to the “Buyer” (the original purchaser, unless that entity resells the product as authorized by MagTek, in which event this warranty shall apply only to the first repurchaser).
Page 161
Appendix C - EMV Terminal and Application Settings (EMV Only) LIMITATION ON LIABILITY EXCEPT AS PROVIDED IN THE SECTIONS RELATING TO MAGTEK’S LIMITED WARRANTY, MAGTEK’S LIABILITY UNDER THIS AGREEMENT IS LIMITED TO THE CONTRACT PRICE OF THIS PRODUCT. MAGTEK MAKES NO OTHER WARRANTIES WITH RESPECT TO THE PRODUCT, EXPRESSED...
Page 162
• Consult the dealer or an experienced radio/TV technician for help. Caution: Changes or modifications not expressly approved by MagTek could void the user’s authority to operate this equipment. CANADIAN DECLARATION OF CONFORMITY This digital apparatus does not exceed the Class B limits for radio noise from digital apparatus set out in the Radio Interference Regulations of the Canadian Department of Communications.
Page 163
Class B devices. EU STATEMENT Hereby, MagTek Inc. declares that the radio equipment types Wideband Transmission System (802.11 wireless and Bluetooth Low Energy), and Non-Specific Short Range Device (contactless) are in compliance with Directive 2014/53/EU.
Page 164
Be careful when moving or relocating the device. Use proper lifting techniques. • Use materials and supplies specifically designed for MagTek devices. Using unsuitable materials may result in poor performance, and in some cases may be hazardous. mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS)
Page 165
SUPPORT. TERMS, CONDITIONS, AND RESTRICTIONS MagTek, Incorporated (the "Licensor") owns and has the right to distribute the described software and documentation, collectively referred to as the "Software." LICENSE: Licensor grants you (the "Licensee") the right to use the Software in conjunction with MagTek products.
Page 166
Agreement and will not affect the enforceability of any of the remaining provisions. This Agreement shall be governed by the laws of the State of California and shall inure to the benefit of MagTek, Incorporated, its successors or assigns.
Page 167
Appendix C - EMV Terminal and Application Settings (EMV Only) mDynamo| OEM Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 167 of 167 (D998200151-200)
Need help?
Do you have a question about the mDynamo and is the answer not in the manual?
Questions and answers