1. Introduction
The Cartadis TCM4 is a compact contactless card reader.
As standard, the TCM4 is equipped with two antennas, one low-frequency (125 kHz, 134.2 kHz), the other high-frequency (13.56 MHz). These antennas enable the user to access a wide range of RFID standards. The TCM4-BLE system also integrates Bluetooth Low Energy for Bluetooth identification with cell phones.
Applications for the TCM4 MultiFreq card reader include :
- Secure printing: direct connection to the USB port of many MFPs to identify the user and release prints (with Print2me function possible) or make photocopies.
- Option for Cartadis cPad terminal: integrated into the aesthetic line of the cPad, the TCM4 enables users to identify themselves by card with a solution such as Gespage, PaperCut, etc ...
- PC applications: error-free entry of RFID label codes, enrolment of a user card in a database, secure access to certain applications...
- Point of sale: connection to cash registers to manage loyalty.
- OEM: Cartadis supports its customers by providing a customization service for TCM4 readers to manage specific RFID cards or USB protocols.
This technical manual provides the information you need to get to grips with the TCM4. It also explains how to configure your card reader and how to update a new firmware version.
2. Overview
2.1 TCM4 models
There are two TCM4 models:
- As standard, the TCM4 is equipped with two antennas, one low-frequency (125 kHz, 134.2 kHz), the other high-frequency (13.56 MHz). These antennas enable the user to access a wide range of RFID standards.
- Like the standard TCM4, in addition to low- and high-frequency antennas, the TCM4-BLE: integrates Bluetooth Low Energy to enable Bluetooth identification with cell phones (required for iOS phones).
2.2 Identification
2.2.1 Supported tags
The TCM4 reader supports a wide variety of high and low-frequency tags, a detailed list of which can be found in the “TCM4 card compatibility” documentation.
2.2.2 CartadisID mobile application
The TCM4 reader also supports identification with the CartadisID mobile application using NFC (Android only) and Bluetooth Low Energy (Android and iOS) technologies.
Bluetooth identification is only available on the TCM4-BLE system.
The CartadisID application is available on Play Store for the Android version and Apple Store for the iOS version.
2.3 USB interface
The TCM4 connects to the host device using different types of USB protocols, depending on the settings:
- USB HID Keyboard Qwerty or Azerty
- USB CDC Serial Emulator.
2.4 Operation
2.4.1 Memory management
Memory is divided into 3 sections as shown in the diagram below:
- Bootloader : The bootloader is the entry point for firmware after power-up or after resetting the TCM4. Only the bootloader provides the function for programming new firmware. This means that you must enter bootloader mode to program new firmware.
- Application: TCM4 application.
- Storage: Storage area for new firmware and configuration files. It is accessible from the host computer in bootloader mode, and seen as a USB storage device.
2.4.2 Boot procedure
The following diagram shows the bootloader and application start-up steps:
2.4.3 LED and buzzer status
[Blue] | [Red] | Buzzer | Meaning | |
---|---|---|---|---|
[Blue] | 4 Bips | Power on | ||
[Blue] | TCM4 in bootloader mode | Normal operation | ||
[Blue] | [Red] Flashing light | a copy to the TCM4 is in progress | ||
[Bleu]Flashes 2, 3 times slowly and remains ON | A firmware update is in progress (copying the firmware from the storage area to the application area and check firmware OK) | |||
[Blue]Flashes every 500ms | TCM4 in application mode | Normal operation | ||
[Blue]Flashes every 500ms | [Red] | 1 Bip | Card detected | |
[Blue]Flashes every 500ms | [Red] ON for 2 seconds and remains OFF power voltage | Communication with the Bluetooth module is successful For TCM4-BLE only |
3. Configuration
The TCM4 incorporates a command line interpreter which can be used to display or modify a set of predefined parameters. These parameters can be modified or displayed in three ways:
- from the TCMxManager mobile application (only available on Android) (recommended)
or
- from a serial terminal (such as Putty)
or
- from a configuration file. The following paragraphs describe the TCM4 parameters and how to configure it.
3.1 Parameters
The available TCM4 parameters and their possible values are described below:
Name of parameter | Description | Default value |
---|---|---|
General parameters | ||
ComUsb | USB Communication type (CDC/HID Keyboard Azerty or Qwerty). 1: HID QWERTY keyboard 2 : HID AZERTY keyboard 3: CDC (serial port emulation) 4: HP mode | 1: HID Qwerty keyboard |
Freq | The TCM4 scans all card types or is limited to one or more card technologies. The values of the “Freq” parameter can be cumulated (mask) to scan multiple card types. The following values must be configured in hexadecimal format. Possible values (minimum 4 digits) : 0000: Lock first (the type of the first card detected by the TCM4 after power-up will be applied as a filter) 0001: ISO 14443 13.56Mhz (Mifare) type A 0002: ISO 14443 13.56Mhz (Mifare) type B 0004: ISO 15693 ICODE 13.56Mhz 0100: iCLASS 13.56Mhz 0400: IZLY full format 13.56Mhz (standard mode for eTerminal configuration - requires TCM4-Izly) 0800: FELICA 13.56Mhz 1000: IZLY short format 13.56MHz (customized mode for configuration - requires TCM4-Izly) 10000: IZLY long format 13.56MHz (standard mode for cPad requires TCM4-Izly) 40000: NFC for Smartphone with CartadisID application 0010 : EM (Electronic Marin) 125Khz 0020 : HID Prox 125Khz 0040: HITAG 125Khz 2000: Indala 125Khz 8000: StartProx FFFF FFFF : All card types | 0000: Lock first |
NoBuzz | Disable / Enable buzzer. 0: Buzzer enabled (beeps each time a card is detected) 1 : Buzzer disabled | 0: Buzzer on |
Paramètres du mode de lecture de l’UID | ||
NibOffset | Skip NibOffset digits in card UID. This parameter reduces the the size of a UID when all cards have the same prefix. | 0 |
NibLen | When the length of a UID is greater than NibLen, it is truncated and only the “NibLen” digits to the right of the UID are retained | 64 |
Swap | MSB/LSB inversion. 0 : No inversion 1 : MSB/LSB inversion | 0: Off |
UidFormat | UID conversion from hexadecimal to decimal or ASCII FORMAT. 0 : Initial format 1 : UID conversion to decimal format 2 : UID conversion to ASCII format | 0: Off |
UidCase | UID conversion to upper or lower case. 0 : Off 1 : Upper case 2 : Lower case | 0: Off |
Rm0Head | Deletes the 0 from the UID | 0: Off |
Padding | Adds 0's to the top of the card UID if UID length < padding, number of 0s to add = padding - UID length | 0: Off |
EvenSize | Adds 00 to the UID map header if the UID length (in bytes) is odd. If enabled, all NibOffset, NibLen, UidFormat, Rm0Head, Padding commands will be ignored. | 0: Off |
Mifare sector reading parameters | ||
ULen | Number of bytes to read in a Mifare tag sector | 0: Off |
USector | Number of sector from which to read data | 0 |
UOffset | Skip uoffset bytes to start of sector | 0 |
UkeyA | Key A used to read Mifare sector data | 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF |
HID parameters | ||
HidMode | HID tag decoding mode. 0: Normal mode 26: 26-bit format (H10301) with user code reading mode decoded user code 27: 26-bit format (H10301) with raw data reading mode data (standard HID decoding) 200: Customized mode in 26-bit format: custom concatenation concatenation of site code and user code 254: Mixed read mode: if a 26-bit user code is found, it will be format is found, it will be sent to the host; otherwise, the UID will be sent. | 0: Normal mode |
HidSite | Site code filter (1 byte hexadecimal) used when HidMode is set to 26, 200 or 254. If HidSite is set (HidSite ≠ 0), only HID tags with site code = HidSite will be read | 0 |
Other | ||
DeBug | Enables / Disables debug mode. In this mode, the message sent to the host computer via USB provides additional card technology in the form of : Frequency detected (13.56Mhz/125kHz)-Tag type [Freq filter filter]-UID length in bytes-UID Ex: 1356Mhz-TAG_FELICA[0x00000800]-8 bytes-0127006853DD8FC7 125kHz-TAG_HITAG_2[0x00000040]-4 bytes-1C94345B | 0: Off |
Password | The password is used to secure communication with TCMxManager communication. The default value can be reset with the “clear password” command. clear password” command. | Password generation |
Name | Custom name to be displayed in CartadisID App if Bluetooth identification is enabled. For TCM4-BLE system only | TCM4 |
IsInside | This flag indicates that the TCM4 reader is integrated into the MFP. This parameter optimizes the CartadisID BLE detection algorithm. For TCM4-BLE system only | 1 |
Multicard | Support for bi-technology cards, hosting 2 RFID tags tags on separate frequencies (known as multicards). If enabled, only the 13.56 Mhz UID is sent to the host machine the host machine when a multicard is passed. | 0 |
DESFire EV1 data readout parameters | ||
DFData | Enables/disables reading of DESFire EV1 data. 0 : Disabled 1 : On | 0: Off |
DFAID | DESFire application ID | 0x00 0x00 0x00 |
DFKeyNo | Key number Accepted values: whole numbers between 0 and 13 | 0 |
DFKeyType | Key type. 0: none 1: AES1282 2: AES192 3: AES256 4: 3DES 5: 3K3DES | 0: None |
DFEncKey | Encrypted key used to read data from DESFire tag EV1 TAG. This read key is encrypted by TCMxManager using the smartphone's smartphone password. It is decrypted by the TCM4 before it before reading data from the DESFire EV1 tag. | 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 |
DFFileNo | File number to be read. Accepted values: whole numbers between 0 and 31 | 0 |
DFOffset | Skips DFOffset bytes from the beginning of the file. Accepted values: integers between 0 and 8191 (DFOffset + DFByteLen must be less than 8193) | 0 |
DFByteLen | Nombre d'octets pour la lecture des données dans le fichier. Valeurs acceptées : chiffres entiers entre 0 et 32 (DFOffset + DFByteLen doit être inférieur à 8193) | 0 |
3.2 Modification
3.2.1 Using the TCMxManager application (recommended)
TCMxManager is an application for configuring and analyzing a compatible
Cartadis card reader, such as the TCM4. This application is designed for maintenance technicians.
TCMxManager is available on the Android Play Store. It is compatible only with Android devices
and requires NFC to be activated on the device.
You need to know the TCM4 reader password to be able to analyze or configure it (see § 3.2.1.2).
3.2.1.1 Analyze a player
To analyze TCM4 parameters, select the “Analyze” button and bring your cell phone close to the TCM4 to retrieve the parameters. After a beep, all TCM4 parameters can be viewed by clicking on the “View configuration” button: In the “Details” section, move your finger across the screen to scroll through the parameters.
The “Save configuration” button saves the recovered configuration in the phone's file system.
3.2.1.2 Editing configurations
Select the “My configurations” button:
- select the “Configuration list” button and click on the edit icon of the configuration you wish to modify
or
- select “New configuration” to create a new one.
In the “Modify configuration” screen, you can add the parameters of your choice. All available TCM4 parameters are displayed in the list when you click on the “Select parameter” button.
Les paramètres dont vous n'avez plus besoin peuvent être supprimés au moyen de l'icône de suppression à côté du paramètre. De plus, une infobulle d'aide est disponible pour chaque paramètre du lecteur de cartes en cliquant sur l'icône « Info ».
The “Save” button saves your configuration under a given name. If you are modifying an existing configuration, you can also use the “Save as” option. All your configurations are stored in Internal storage / Android / data / com.cartadis.tcmxmanager / files / TCM4Configs in your phone files. You can also import an existing configuration by copying it to this location.
In addition, the “Frequency Calculator” and “Key Encryption Tool” help you easily calculate the values to be set for the “Freq” and “DFEncKey” parameters.
3.2.1.3 Configuring a player
To configure the TCM4, use the “Apply configuration” button, select a configuration and bring your cell phone close to the TCM4. If successful, a message is displayed after 2 beeps. Otherwise, an error message is displayed.
3.2.1.4 Reader password mechanism
A reader password is used to secure exchanges between the TCMxManager application and the TCM4. Only a technician who knows the password of a reader can analyze and configure it with TCMxManager.
To use TCMxManager to analyze and configure a TCM4, you must first enter the TCM4 password in your application. This password must be entered in the “smartphone password” parameter and must match the TCM4 reader password.
When configuring a TCM4 for the first time with TCMxManager, a “player password” must be set in the TCM4. This default player password is automatically set to the “smartphone password” of the technician performing the configuration for the first time.
When using TCMxManager on different card reader fleets (with different passwords), remember to enter the smartphone password corresponding to the current fleet before using the application.
This reader password can be changed via the TCMxManager application (the old password must be known).
If lost, the TCM4 password can be reset using a PC and the serial terminal configuration mode (see § 3.2.2). The TCM4 password is reset with the “password clear” command.
3.2.2 By command line in application mode
Application mode means that the TCM4 player is running the application (as opposed to bootloader mode).
It is only possible to communicate with the TCM4 via a virtual serial port when the TCM4 is in application mode, i.e. when the blue LED is flashing.
All TCM4 parameters can be modified or displayed using a serial terminal (such as Putty on Windows). No matter how your TCM4 is configured, as soon as it is connected to a PC, it declares itself as a composite USB CDC and HID device.
- The PC serial port must be configured as follows:- All TCM4 commands are displayed by entering “help” or “? In the screenshot below, the first column indicates whether the parameter can be modified when the TCM4 is in application mode (“For_App”), bootloader mode (“For_Boot”) or any mode (“For_All”).
3.2.3 Via a bootloader mode configuration file
You can determine that your TCM4 is in bootloader mode when the blue LED is on and not blinking.
If you wish to switch from “application mode” to “bootloader mode”, you need to enter the command “gobootload” in a serial terminal like Putty, see above.
Once your TCM4 is in bootloader mode, you can read/write TCM4 parameters using a configuration file.
- Once the TCM4 is in bootloader mode, it is mounted on the host computer and behaves like a USB stick with the name “TCM4 BOOT”.
- The name of the configuration file is config.cmd, and it contains various commands to be executed. After executing the config.cmd file, there will be 2 files in the TCM4 BOOT directory: config.done and config.log, which result from the commands executed. The following is an example of the configuration file and the result file:
- To execute commands in a configuration file from the TCM4, follow these instructions:
o Access the newly mounted TCM4 drive (TCM4 BOOT).
o Delete the config.done and config.log files.
o Copy a new config.cmd file to the TCM4 BOOT.
o The TCM4 should dismount and remount automatically.
o If the configuration file was executed successfully, you will get new files
4. Firmware
4.1 Updating TCM4 firmware
The TCM4 firmware can be updated via the USB interface by switching to bootloader mode.
In this mode, the TCM4 is mounted as a USB stick.
As a reminder, bootloader mode is accessed by executing the “gobootload” command via a serial terminal in application mode. When the TCM4 is in bootloader mode, a firmware file (TCM4_Firmware_vx.x.x.ctd) and a status of the previous update are visible in the device root.
The new TCM4 firmware is updated by following the instructions below:
- Access the newly mounted TCM4 drive (TCM4 BOOT).
- Delete the file TCM4_Firmware_vx.x.x.ctd.
- Copy a new firmware file to the TCM4 BOOT.
- The TCM4 should automatically disassemble and reassemble itself.
The update was successful if the status file FwUpdate_Success.stt is present on the USB key.
All possible update statuses are detailed below:
Status | Description |
---|---|
FwUpdate_NoFwFile.stt | No firmware files in the storage area |
FwUpdate_SameFw.stt | The firmware file is identical to the firmware in the application area |
FwUpdate_Success.stt | Update operation successful |
FwUpdate_Failed.stt | Update operation failed |
FwUpdate_FwCorrupted.stt | Firmware file corrupted |