Subversion Repositories group.electronics

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 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.