|
|
|
||||
USB ID's and device identificationUsually USB products are identified using two ID's, the vendor ID and the product ID. The vendor ID must be purchased from the USB Implementers Forum (USB-IF). The product ID is assigned by the vendor. According to the USB-IF rules the vendor ID must only be used by the manufacturer of a product. In order to avoid that customers of ZTEX modules need to purchase their own vendor ID, the product ID 0x100 (ZTEX vendor ID is 0x221a) is assigned to all ZTEX modules that base on a EZ-USB FX2 microcontroller and that support a minimum communication protocol, namely the ZTEX Descriptor 1. This descriptor is generated automatically by the Firmware Kit of the ZTEX EZ-USB SDK and contains a second product ID which is used to identify different products. These product ID's or ranges of them may be reserved free of charge. In other words: USB ID's 0x221a:0x100 are assigned to the ZTEX Modules. Users may connect other hardware to these modules. Which kind of hardware is connected to these modules and how the software communicates with it, is defined by the ZTEX Descriptor 1 which must be supported by all devices with the USB ID's 0x221a:0x100. Of course, if a device is not distributed in any form, i.e. if it is used only internally, any USB ID's can be used. The aim of these ID's is to avoid conflicts. Some notes for Windows: Under Windows a driver has to be assigned to USB devices. If the ZTEX EZ-USB SDK is used, this is always the libusb driver, see the Tutorial on the Wiki. This driver provides a general purpose interface which is used by the host software to access the USB device. Under Linux no driver is required. The hardware is accessed using the libusb library. |