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