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.
  • Virtual Comm Port: SpringCore uses the USB CDC-ACM specification, that permits a USB device to emulate a serial communication port (“COM” device on a Windows PC). Depending on the configuration, different protocols are supported over a Virtual Comm Port..

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(s) Configuration String USB device type 1st USB interface 2nd USB interface
Direct Direct Simple SpringCore Direct none
SpringProx Legacy SpringProx Compound Virtual Comm Port SpringCore Direct
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 Virtual Comm Port 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
Direct Direct 0x6130 0x6110 0x6210
SpringProx Legacy SpringProx — 0x6112 0x6111
PC/SC PC/SC 0x6132 0x6112 0x6212
RFID Scanner RFID Scanner 0x6133 — 0x6213
Smart Reader Smart Reader 0x6134 0x6114 0x6214
DFU (firmware upgrade) Bootloader 0x6017 0x6017 0x6217