Reputation:
I am developing the firmware for a USB-based hardware device. The USB interface protocol requires that each device be assigned a vendor ID (VID) and product ID (PID).
How do I, as a device manufacturer/designer/developer, acquire a vendor ID? It is my understanding that the USB-IF assigns and policies these; is that correct? Do I need to buy a vendor ID from the USB-IF?
What happens if, instead, I just randomly pick a vendor ID to assign to my device, or just enter 0x0000, 0xFFFF?
Upvotes: 23
Views: 10437
Reputation: 3752
I've never found an official public listing of VIDs.
Seems to me that usb.org should provide one as a general service to the USB community, and if a vendor didn't want their VID public usb.org could just list it as "private" (it could well happen that a company wants a VID for internal use only)
The best list I've found for VIDs (and many associated PIDs) is here:
http://www.linux-usb.org/usb.ids
It's updated frequently, but I have found errors, so caveat emptor.
Upvotes: 2
Reputation: 6425
One other answer that people have missed: It takes a surprising amount of money and time to run a standards body.
There are costs to host the web site and official repository for the standard. You have to set up your own server, or rent space with a hosting company.
A new standard requires marketing. If people do not hear about your standard, how are they going to adopt it and use it?
Are you going to demo the new USB standard at CES, IDF, Embedded World, or some other trade show? It costs tens of thousands of dollars to rent a booth and pay for construction at one of the big shows. It costs thousands in air travel and hotels.
Are you handing out pamphlets at the show? How much does it cost to have them printed?
Are you going to advertise your standard in a magazine? Or banners on a web site? How do you expect to pay for this?
It costs money to coordinate meetings between the various members of your standards body. If you want a face-to-face meeting, you have to rent a conference room somewhere. Are you providing snacks and coffee? If you want to do a conference call, who is paying for the phone service?
You probably have an e-mail list or discussion forum. Who is maintaining that? How are you paying for the disk space to archive everything?
Does your standards body have a mailing address? Office? PO box? Phone number? Fax number? How do you expect to pay for that?
Any standards body with more than 1-2 members is going to have a board of directors, bylaws, officers, etc. Who is running all of that?
At some point, you will want to incorporate your standards body, so it is a "perpetual" organization, not just tied to you personally. That means you need to file a tax return. Who is paying for the attorney's fees? Do you want liability insurance?
For a "physical" standard, like USB, you probably need to spend money building prototype connectors and testing them. You probably need a test lab somewhere with oscilloscopes and other equipment, not to mention PCs, cables, and other equipment. Before you build the connectors, you probably want to simulate them, both mechanically and electrically. The costs for doing this can exceed $100,000.
Are you designing the logo for the standard yourself in Microsoft Paint? Or do you want a graphic designer to do it for you? Who's paying for it?
Do you want to register your logo as a trademark? Who is going to take pay the fees for that?
Beyond money, it takes a lot of time to run a standards body. In the beginning, you might be able to handle it in your spare time, but for a high-visibility standard like USB, you may need someone dedicated to the standards body full time. They will need a salary.
The money to run a standards body has to come from somewhere.
You can charge membership dues, but this may not be enough. You will find that only a handful of people actually want to contribute to the standard. Everyone else will simply download the specification from your web site and benefit freely from your hard work.
You can charge for access to the specifications, but this gets the "open standards" people up in arms. It also hampers the adoption of your specification. Not to mention people will probably just share the PDF illegally.
The simple truth is that a $4,000 annual membership fee is a pittance for a USB device manufacturer. You will spend far more than that designing your product and manufacturing it. The people who balk at that cost were probably not serious about building a USB device anyway, and would just "waste" the USB vendor ID (there is a finite number of possible IDs).
Upvotes: 3
Reputation: 317
The only meaning of getting a VID and a PID is to ensure that your sub device will not affect other with the same VID and PID.
You could set the VID or PID you like but you get the risk of a collision and your driver or the one of the other device could stop working, or both.
Reference: http://www.usb.org/developers/usbfaq#12
Upvotes: 3
Reputation: 223003
Vendor IDs are a scarce resource, just like OUIs (top 3 octets of a MAC address) and IPv4 addresses are. They have to be allocated, so others don't use IDs/addresses that collide with yours. The cost just raises the barrier to allocation, so everybody doesn't landgrab willy-nilly.
It would be nice to have a "private" range, much like RFC 1918 addresses (10/8, 172.16/12, and 192.168/16), that people, who don't care about collisions, can use.
Upvotes: 11