SpringCore Direct CONTROL class

The DFU (Device Firmware Upgrade) class is used to flash a new firmware into the SpringCore device.

CLA value

The DFU class uses CLA=5D.

Message format

SpringCore Direct over USB, SpringCore Direct over BLE

The commands and the responses use the same format.

Field Length Description / remark
Header 4 or 6 bytes CLA = 5D, LEN = length of Data
INS / STA 1 byte Command: opcode of the INStruction
Response: STAtus
Data 0 or more bytes Command data
Response data

SpringCore Direct over UART

The commands and the responses use the same format. This mode is only available on specific SpringCore devices.

Field Length Description / remark
Sync byte 1 byte 16
Header 4 bytes CLA = 5D, LEN = length of Data (only!)
INS / STA 1 byte Command: opcode of the INStruction
Response: STAtus
Data 0 or more bytes Command data
Response data
LRC 1 byte XOR of bytes 1-N (all the preceding bytes but Sync byte).

Encapsulation in CCID Escape / SCardControl

Commands

Field Length Description / remark
CLA 1 byte 5D
INS 1 byte Opcode of the INStruction
Data 0 or more bytes Command data

Note

The length of the Command is not transmitted, as it can be deduced from the CCID header.

Responses

Item Length Description / remark
STA 1 byte STAtus
Data 0 or more bytes Response data

Note

The length of the Response is not transmitted, as it can be deduced from the CCID header.

The CLA byte is not transmitted.

Encapsulation in SCardTransmit

Encapsulation within an APDU is possible. Pay attention that CLA and INS have a different meaning from the APDU definition (ISO/IEC 7816-4 standard) and from the SpringCore Direct point-of-view.

See CONTROL instruction within the PC/SC APDU interpreter for details.

Commands

Field Length Description / remark
CLA 1 byte FF
INS 1 byte F0
P1 1 byte 5D
P2 1 byte Opcode of the INStruction
Data 0 or more bytes Command data

Note

The length of the Command is not transmitted, as it can be deduced from the APDU header.

Responses

Item Length Description / remark
Data 0 or more bytes Response data
90 1 byte SW1 denoting success
STA 1 byte Actual STAtus

Note

The length of the Response is not transmitted, as it can be deduced from the CCID header.

Pay attention that if even if an error occurs, SW1 is 90, not 6x.

The CLA byte is not transmitted.