User Guide
 67
SECTION 4. USB COMMUNICATIONS 
This device conforms to the USB specification revision 1.1. This device also conforms with the 
Human Interface Device (HID) class specification version 1.1. The device communicates to the 
host as a vendor defined HID device. The details about how the card data and commands are 
structured into HID reports follow later in this section. The latest versions of the Windows 
operating systems, Windows 98, Me, and 2000, all come with a standard Windows USB HID 
driver. Windows applications that communicate to this device can be easily developed. These 
applications can communicate to the device using standard windows API calls that communicate 
to the device using the standard Windows USB HID driver. These applications can be easily 
developed using compilers such as Microsoft’s Visual Basic or Visual C++. A demonstration 
program and its source code, written in Visual Basic, that communicates with this device is 
available. This demo program can be used to test the device and it can be used as a guide for 
developing other applications. More details about the demo program follow later in this 
document. 
It is strongly recommended that application software developers become familiar with the HID 
specification the USB specification before attempting to communicate with this device. This 
document assumes that the reader is familiar with these specifications. These specifications can 
be downloaded free from www.usb.org
. 
This is a full speed USB device. This device has a number of programmable configuration 
properties. These properties are stored in non-volatile EEPROM memory.  These properties can 
be configured at the factory or by the end user. The device has an adjustable endpoint descriptor 
polling interval value that can be set to any value in the range of 1ms to 255ms. This property 
can be used to speed up or slow down the card data transfer rate. The device also has an 
adjustable serial number descriptor. More details about these properties can be found later in this 
document in the command section. 
The device will go into suspend mode when directed to do so by the host. The device will 
wakeup from suspend mode when directed to do so by the host. The device does not support 
remote wakeup. 
This device is powered from the USB bus. Its vendor ID is 0x0801 and its product ID is 0x0002. 
HID USAGES 
HID devices send data in reports. Elements of data in a report are identified by unique identifiers 
called usages. The structure of the device’s reports and the device’s capabilities are reported to 
the host in a report descriptor. The host usually gets the report descriptor only once, right after 
the device is plugged in. The report descriptor usages identify the devices capabilities and report 
structures. For example, a device could be identified as a keyboard by analyzing the device’s 
report descriptor. Usages are four byte integers. The most significant two bytes are called the 
usage page and the least significant two bytes are called usage IDs. Usages that are related can 
share a common usage page. Usages can be standardized or they can be vendor defined. 
Standardized usages such as usages for mice and keyboards can be found in the HID Usage 
Tables document and can be downloaded free at www.usb.org
. Vendor defined usages must 
have a usage page in the range 0xff00 – 0xffff. All usages for this device use vendor defined 
magnetic stripe reader usage page 0xff00. The usage IDs for this device are defined in the 










