Host Interfaces USB
March 13, 2024 at 8:23 AMUSB 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 |