117 |
pfowler |
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.
|