USB host interface

This chapter covers only SpringCore devices featuring a USB interface.

Overview

The profile of a USB device is a combination of descriptors (how the device is seen by the host computers) and protocols (how the computer communicates with the device).

A SpringCore device supports different profiles. The profile that is activated by the device depends on the selected operating mode.

Available USB protocols

Depending on the operating mode selected in its configuration, a SpringCore USB device implements one or two of the following protocols:

  • CCID (chip card interface device): this is the standard USB protocol for smartcard readers. It is the foundation for PC/SC Operation.
  • HID (human interface device) keyboard: this is the standard USB protocol for keyboards. It allows a SpringCore device to send data as if they were entered by the user on the keyboard. This is the foundation for Smart Reader with keyboard emulation aka RFID Scanner Operation.
  • SpringCore Direct: this is a SpringCard-specific USB protocol, that allows a SpringCore device to be driven easily and in an abstract way from SpringCard Companion, whatever its configured operating mode and communication interface. The protocol is also optimized to give the highest throughput, which is a key feature for the Smart Reader Operation.
  • CDC (communication device class): this is the standard USB protocol for network communication. SpringCore uses the part that permits a USB device to emulate a serial communication port (“COM” device on a Windows PC). It remains for compliance with legacy applications, but will not be fully documented.

Coexistence of SpringCore Direct with other protocols

In most configurations, a SpringCore device is a compound USB device. This means that its supports simultaneously two USB protocols, namely the SpringCore Direct protocol and another. Accordingly, the operating system has to load two USB drivers to activate the device. This makes it possible to operate the device over the protocol that is the most adapted to the use-case, while having the ability to configure it or flash it in the-field over the SpringCore Direct protocol.

USB profile for every operating mode

Operating mode Configuration String USB device type 1st USB protocol 2nd USB protocol
RFU Direct Simple SpringCore Direct none
PC/SC PC/SC Compound CCID (PC/SC) SpringCore Direct
RFID Scanner RFID Scanner Compound HID (RFID Scanner) SpringCore Direct
Smart Reader Smart Reader Compound SpringCore Direct none
DFU (firmware upgrade) Bootloader Simple SpringCore Direct none

USB Vendor ID

The USB Vendor ID is 0x1C34 (SPRINGCARD, formerly PRO ACTIVE).

USB Product ID for every device in every operating mode

Operating mode Configuration String Product ID PUCK Product ID SpringPark Product ID M519
RFU Direct 0x6130 0x6110 0x6210
PC/SC PC/SC 0x6132 0x6112 0x6212
RFID Scanner RFID Scanner 0x6133 0x6113 0x6213
Smart Reader Smart Reader 0x6134 0x6114 0x6214
DFU (firmware upgrade) Bootloader 6017 6017 0x6217