]> git.zerfleddert.de Git - fnordlicht-mini/blame_incremental - firmware/fnordlicht-controller/usbdrv/USB-IDs-for-free.txt
reference firmware
[fnordlicht-mini] / firmware / fnordlicht-controller / usbdrv / USB-IDs-for-free.txt
... / ...
CommitLineData
1Version 2009-08-22
2
3===========================
4FREE USB-IDs FOR SHARED USE
5===========================
6
7Objective Development has reserved a set of USB Product-IDs for use according
8to the guidelines outlined below. For more information about the concept of
9USB IDs please see the file USB-ID-FAQ.txt. Objective Development guarantees
10that the IDs listed below are not used by any USB compliant devices.
11
12
13====================
14MECHANISM OF SHARING
15====================
16
17From a technical point of view, two different devices can share the same USB
18Vendor- and Product-ID if they require the same driver on operating system
19level. We make use of this fact by assigning separate IDs for various device
20classes. On application layer, devices must be distinguished by their textual
21name or serial number. We offer separate sets of IDs for discrimination by
22textual name and for serial number.
23
24Examples for shared use of USB IDs are included with V-USB in the "examples"
25subdirectory.
26
27
28======================================
29IDs FOR DISCRIMINATION BY TEXTUAL NAME
30======================================
31
32If you use one of the IDs listed below, your device and host-side software
33must conform to these rules:
34
35(1) The USB device MUST provide a textual representation of the manufacturer
36and product identification. The manufacturer identification MUST be available
37at least in USB language 0x0409 (English/US).
38
39(2) The textual manufacturer identification MUST contain either an Internet
40domain name (e.g. "mycompany.com") registered and owned by you, or an e-mail
41address under your control (e.g. "myname@gmx.net"). You can embed the domain
42name or e-mail address in any string you like, e.g. "Objective Development
43http://www.obdev.at/vusb/".
44
45(3) You are responsible for retaining ownership of the domain or e-mail
46address for as long as any of your products are in use.
47
48(4) You may choose any string for the textual product identification, as long
49as this string is unique within the scope of your textual manufacturer
50identification.
51
52(5) Application side device look-up MUST be based on the textual manufacturer
53and product identification in addition to VID/PID matching. The driver
54matching MUST be a comparison of the entire strings, NOT a sub-string match.
55
56(6) For devices which implement a particular USB device class (e.g. HID), the
57operating system's default class driver MUST be used. If an operating system
58driver for Vendor Class devices is needed, this driver must be libusb or
59libusb-win32 (see http://libusb.org/ and
60http://libusb-win32.sourceforge.net/).
61
62Table if IDs for discrimination by textual name:
63
64PID dec (hex) | VID dec (hex) | Description of use
65==============+===============+============================================
661500 (0x05dc) | 5824 (0x16c0) | For Vendor Class devices with libusb
67--------------+---------------+--------------------------------------------
681503 (0x05df) | 5824 (0x16c0) | For generic HID class devices (which are
69 | | NOT mice, keyboards or joysticks)
70--------------+---------------+--------------------------------------------
711505 (0x05e1) | 5824 (0x16c0) | For CDC-ACM class devices (modems)
72--------------+---------------+--------------------------------------------
731508 (0x05e4) | 5824 (0x16c0) | For MIDI class devices
74--------------+---------------+--------------------------------------------
75
76Note that Windows caches the textual product- and vendor-description for
77mice, keyboards and joysticks. Name-bsed discrimination is therefore not
78recommended for these device classes.
79
80
81=======================================
82IDs FOR DISCRIMINATION BY SERIAL NUMBER
83=======================================
84
85If you use one of the IDs listed below, your device and host-side software
86must conform to these rules:
87
88(1) The USB device MUST provide a textual representation of the serial
89number. The serial number string MUST be available at least in USB language
900x0409 (English/US).
91
92(2) The serial number MUST start with either an Internet domain name (e.g.
93"mycompany.com") registered and owned by you, or an e-mail address under your
94control (e.g. "myname@gmx.net"), both terminated with a colon (":") character.
95You MAY append any string you like for further discrimination of your devices.
96
97(3) You are responsible for retaining ownership of the domain or e-mail
98address for as long as any of your products are in use.
99
100(5) Application side device look-up MUST be based on the serial number string
101in addition to VID/PID matching. The matching must start at the first
102character of the serial number string and include the colon character
103terminating your domain or e-mail address. It MAY stop anywhere after that.
104
105(6) For devices which implement a particular USB device class (e.g. HID), the
106operating system's default class driver MUST be used. If an operating system
107driver for Vendor Class devices is needed, this driver must be libusb or
108libusb-win32 (see http://libusb.org/ and
109http://libusb-win32.sourceforge.net/).
110
111Table if IDs for discrimination by serial number string:
112
113PID dec (hex) | VID dec (hex) | Description of use
114===============+===============+===========================================
11510200 (0x27d8) | 5824 (0x16c0) | For Vendor Class devices with libusb
116---------------+---------------+-------------------------------------------
11710201 (0x27d9) | 5824 (0x16c0) | For generic HID class devices (which are
118 | | NOT mice, keyboards or joysticks)
119---------------+---------------+-------------------------------------------
12010202 (0x27da) | 5824 (0x16c0) | For USB Mice
121---------------+---------------+-------------------------------------------
12210203 (0x27db) | 5824 (0x16c0) | For USB Keyboards
123---------------+---------------+-------------------------------------------
12410204 (0x27db) | 5824 (0x16c0) | For USB Joysticks
125---------------+---------------+-------------------------------------------
12610205 (0x27dc) | 5824 (0x16c0) | For CDC-ACM class devices (modems)
127---------------+---------------+-------------------------------------------
12810206 (0x27dd) | 5824 (0x16c0) | For MIDI class devices
129---------------+---------------+-------------------------------------------
130
131
132=================
133ORIGIN OF USB-IDs
134=================
135
136OBJECTIVE DEVELOPMENT Software GmbH has obtained all VID/PID pairs listed
137here from Wouter van Ooijen (see www.voti.nl) for exclusive disposition.
138Wouter van Ooijen has obtained the VID from the USB Implementers Forum, Inc.
139(see www.usb.org). The VID is registered for the company name "Van Ooijen
140Technische Informatica".
141
142
143==========
144DISCLAIMER
145==========
146
147OBJECTIVE DEVELOPMENT Software GmbH disclaims all liability for any
148problems which are caused by the shared use of these VID/PID pairs.
Impressum, Datenschutz