]>
Commit | Line | Data |
---|---|---|
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. The serial number string MUST be available at least in USB language | |
90 | 0x0409 (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 | |
94 | control (e.g. "myname@gmx.net"), both terminated with a colon (":") character. | |
95 | You 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 | |
98 | address 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 | |
101 | in addition to VID/PID matching. The matching must start at the first | |
102 | character of the serial number string and include the colon character | |
103 | terminating 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 | |
106 | operating system's default class driver MUST be used. If an operating system | |
107 | driver for Vendor Class devices is needed, this driver must be libusb or | |
108 | libusb-win32 (see http://libusb.org/ and | |
109 | http://libusb-win32.sourceforge.net/). | |
110 | ||
111 | Table if IDs for discrimination by serial number string: | |
112 | ||
113 | PID dec (hex) | VID dec (hex) | Description of use | |
114 | ===============+===============+=========================================== | |
115 | 10200 (0x27d8) | 5824 (0x16c0) | For Vendor Class devices with libusb | |
116 | ---------------+---------------+------------------------------------------- | |
117 | 10201 (0x27d9) | 5824 (0x16c0) | For generic HID class devices (which are | |
118 | | | NOT mice, keyboards or joysticks) | |
119 | ---------------+---------------+------------------------------------------- | |
120 | 10202 (0x27da) | 5824 (0x16c0) | For USB Mice | |
121 | ---------------+---------------+------------------------------------------- | |
122 | 10203 (0x27db) | 5824 (0x16c0) | For USB Keyboards | |
123 | ---------------+---------------+------------------------------------------- | |
124 | 10204 (0x27db) | 5824 (0x16c0) | For USB Joysticks | |
125 | ---------------+---------------+------------------------------------------- | |
126 | 10205 (0x27dc) | 5824 (0x16c0) | For CDC-ACM class devices (modems) | |
127 | ---------------+---------------+------------------------------------------- | |
128 | 10206 (0x27dd) | 5824 (0x16c0) | For MIDI class devices | |
129 | ---------------+---------------+------------------------------------------- | |
130 | ||
131 | ||
132 | ================= | |
133 | ORIGIN OF USB-IDs | |
134 | ================= | |
135 | ||
136 | OBJECTIVE DEVELOPMENT Software GmbH has obtained all VID/PID pairs listed | |
137 | here from Wouter van Ooijen (see www.voti.nl) for exclusive disposition. | |
138 | Wouter 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 | |
140 | Technische Informatica". | |
141 | ||
142 | ||
143 | ========== | |
144 | DISCLAIMER | |
145 | ========== | |
146 | ||
147 | OBJECTIVE DEVELOPMENT Software GmbH disclaims all liability for any | |
148 | problems which are caused by the shared use of these VID/PID pairs. |