Why not just pick a VID and start using it? USB is so well understood at this point that there is no need for anyone to play ball with an "official" organization.
(Whoever gets "officially" issued that VID is going to whine when they notice it's already being used for hobbyist purposes anyway, which means that the technique of just picking one will guarantee uniqueness.)
I like this idea. If there's some benefactor to the Open Source community (or even if they pass along a collection) for the VID, that could even work. They just need to properly implement the standard and the VID can effectively be the Hoover or Kleenex of VIDs.
Edit: On second thought (after I actually read it), this bit...
Please immediately cease and desist raising funds to purchase a
unique USB VID for the purpose of transferring, reselling or
sublicensing PIDs and delete all references to the USB-IF, VIDs and
PIDs for transfer, resale or sublicense from your website and other
marketing materials.
...rubs me the wrong way on so many levels, I'm tempted to say, the hell with the forum.
The way these things normally work is that you're only allowed to use the name and marks if you're an official licensee.
So if you put the USB logo on your marketing and claim to have a "USB Mini" connector in your specifications then you could be in trouble on two fronts: (1) the usb folks can sue you for using their IP and (2) purchasers can claim the product is not "as described" which may given them certain rights dependent upon the location.
Not using the official logo shouldn't be a problem in hobby market. Everyone will recognise the connector. Not being allowed to identify it as USB2 or USB3 or whatever, that could be a problem. I'm sure there are creative ways around it though.
You wouldn't even have to make use of the VID. If a sizeable group would just agree that "we're going to view this range as set aside for open source and start using it", no company would want to accept being assigned a VID in this range.
I think there's still a problem because that leaves still only 255 PID.
Maybe we should just squat the VID, and then do a PID+(another field in the descriptor) as the discriminator for people who need special protocols (I do).
For now I've stolen my MCU maker VID and used 255 as PID, because I couldn't even find an "experimental" PID/VID in the spec to use during development.
It's a bug and urgent problem, I'm perfectly ok to fudge the rules, but we have to agree on something that doesn't break people's drivers.
According to TFA, Openmoko/FIC is already giving out PIDs from their VID space to any FOSS projects who ask.
IIRC they're not the first, either. And there've also been organizations freely allocating unique ethernet addresses out of their OUI space.
The amount of trouble they receive from the USBIF/IEEE/whoever seems to vary a lot from case to case, though. I expect it depends on which individual person the situation comes to the attention of. In some cases the USBIF or IEEE has actually revoked the VID/OUI assignment, leaving everyone who tried to play by the rules effectively squatting on an unassigned ID anyway.
I'm not sure I fully understand the article. What does the following mean?
"Since other USB device vendors such as Microchip and FTDI give away USB PIDs for free"
Does that actually mean, they give them for free? If so, how can they do that? Why does VTM allow them to do it? And what is the actual problem at all if you can get them for free?
Microchip has paid USB Forum for its VID 04d8. If you build a USB peripheral with one of their microcontrollers, you can ask Microchip to allocate you a PID (since they have 64K of these), and let you use their VID:
Since a USB device gets paired with a driver through a VID/PID pair, buying a single VID allows you access to 65536 PIDs for that VID. They give out the PIDs for free but hold on to the VID for themselves.
FTDI own a bunch of VIDs which are associated with "FTDI" devices. If you ask FTDI they'll reserve a small block of PIDs for you to use for your own products that use the FTDI USB chips. 8 PIDs cut out of a 65536 block is not a significant cost.
I'm surprised that VTM still allows them to do it though, maybe it's a special case because you're using their IC.
The problem is that VTM maintains an "official" list of VID/PID owners, so that they can keep drivers on seperate IDs and prevent clashes for users. Most hobbyists just pick a random VID/PID for their personal projects and hope for the best, but for small scale hobby releases it's problematic since "technically" they are going against the terms of service for the USB protocol. Sometimes there will be clashes if people pick random numbers, and VTM hates that.
That's the humorous part of the whole discussion that the VTM group is trying to preserve revenue by ignoring the hobbyists and sticking with the people who think nothing of falsifying UL registry, falsifying FCC certifications, and violating patents, but I'm sure those guys would never turn against the VTM group and illegally use the USB trademark without permission, LOL.
Whereas the hobbyists, if you don't intentionally try to screw them over like they're trying to do, would probably be ridiculously loyal and obedient in comparison.
Fundamentally despite the "hate opensource" and "revenue generating middlemen" story, some of which probably is true, the fundamental problem is likely the lack of a point of contact. They probably like knowing there's a directory of real world contact information such that identification number 0x123456 is clearly a product of such and such for debugging purposes and interoperability and lack of duplicate IDs and the like.
Something similar happens with ethernet MAC addresses. Legendarily it was HP (or was it sun?) who shipped a whole batch of ethernet cards accidentally in the 90s with the same MAC address, boy was that a nightmare to figure out the hard way.
I have a knock-off xbox controller that is an exact copy of the Xbox controller S, but claims USB ID ffff:ffff.
It turns out there is also some unrelated cheap IR receiver that does the same and if you are unlucky this driver gets loaded instead, leaving you wondering why the gamepad doesn't work.
From what I understand they clone existing VIDs because their functionality is exactly the same. If you have new functionality and need a new driver I don't think you can do that.
Why not use this cease and desist letter to file a RICO Act claim against them?
If they can't responsibly offer their product without revoking it for simply using it as intended, they are racketeers. The Open Source community has not broken any legal agreements in simply publicizing the idea of a shared VID. The USB Forum are completely in the wrong for their behavior.
MCS is in Holland, where both their jurisdiction and the fact that they licensed their VID from USB-IF a long time ago make it impossible to enforce the prohibition against reselling PIDs. For EU 10 each, it's worth it just to kick sand in the face of the asshats at USB-IF.
A proper ID makes it much easier for the consumers. By having a proper ID, the OS can search its database of drivers, and if that fails, try to download from a source such as Windows Update.
Also, a lot of this could very well be trying to avoid the pain of the Bad Old Days of pre-plug and play DOS, where you had to manually set things like interrupts and I/O ports, and hope and pray that your new device didn't conflict with something important. For example, many an oldschool game had dire warnings about not running the sound card autodetect if you had things like scsi cards, because the conflicts were near inevitable and pretty catastrophic.
Many hobby things with USB ports are using the default VID/PID from the chip vendor (generally FTDI's USB-to-Serial converter chips, or the on-chip USB controller of Atmel/Microchip/etc's microcontrollers).
Using your own VID/PID allows you to write and distribute a driver that can be tied to your gadget rather than using a generic driver. Widely distributing products (even if they are "hobby stuff") that re-use the microcontroller's default VID/PID is also usually against the license agreement with the chip vendor and can lead to problems down the road.
Hopefully such a bullish and short sighted stance as this is just the thing to get some publicity and traction to boot these idiots out, or at least kick the money grubbing Luddites out and replace them with someone with some common sense. Grah
I presume there is a segment of VID that is marked as 'local' or 'for test purpose only'? Just like IP has local addresses for intranet/testing.
Also, if an open source is popular enough to the point a unique VID is needed for proper driver support, I will say this project will easily get fundings to go commercial (just like RedHat).
Heh, most such open source projects don't want to "go commercial", that's the exact point. And I'm not sure how RedHat is exactly "an open source project who went commercial" or rather a commercial company doing open source.
Nothing is stopping anyone from using any given VID for their own purposes of testing. If its in your own garage as the article mentions, you can use whatever you want. However, once it's out in the wild (even if it's just the few hundred devices), the USB-IF (and their lawyers) apparently can squash it.
The fee is $5k if I recall. As others have mentioned, if you are planning on making a real product, it's something you can roll into the cost. Although I completely understand the difficulty of someone just looking to sell ~100 devices.
I wonder if there's a way to allow a "Bring-your-own" VID? As in maybe switches or something to set the VID by the purchaser?
Following a link on the internet it look like they actually have a prototype VID/PID, but you have to contact the forum and sign some boilerplate (saying you won't release your product with the proto numbers) to get it.
[+] [-] jrockway|12 years ago|reply
(Whoever gets "officially" issued that VID is going to whine when they notice it's already being used for hobbyist purposes anyway, which means that the technique of just picking one will guarantee uniqueness.)
[+] [-] eksith|12 years ago|reply
Edit: On second thought (after I actually read it), this bit...
...rubs me the wrong way on so many levels, I'm tempted to say, the hell with the forum.[+] [-] samworm|12 years ago|reply
So if you put the USB logo on your marketing and claim to have a "USB Mini" connector in your specifications then you could be in trouble on two fronts: (1) the usb folks can sue you for using their IP and (2) purchasers can claim the product is not "as described" which may given them certain rights dependent upon the location.
Not using the official logo shouldn't be a problem in hobby market. Everyone will recognise the connector. Not being allowed to identify it as USB2 or USB3 or whatever, that could be a problem. I'm sure there are creative ways around it though.
[+] [-] ZeroGravitas|12 years ago|reply
"There are a number of ideas to get around VTM Group that include squatting on USB VID 0xF055"
[+] [-] bborud|12 years ago|reply
[+] [-] nraynaud|12 years ago|reply
Maybe we should just squat the VID, and then do a PID+(another field in the descriptor) as the discriminator for people who need special protocols (I do).
For now I've stolen my MCU maker VID and used 255 as PID, because I couldn't even find an "experimental" PID/VID in the spec to use during development.
It's a bug and urgent problem, I'm perfectly ok to fudge the rules, but we have to agree on something that doesn't break people's drivers.
[+] [-] noselasd|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] wiml|12 years ago|reply
IIRC they're not the first, either. And there've also been organizations freely allocating unique ethernet addresses out of their OUI space.
The amount of trouble they receive from the USBIF/IEEE/whoever seems to vary a lot from case to case, though. I expect it depends on which individual person the situation comes to the attention of. In some cases the USBIF or IEEE has actually revoked the VID/OUI assignment, leaving everyone who tried to play by the rules effectively squatting on an unassigned ID anyway.
Some ancient history: https://forum.sparkfun.com/viewtopic.php?t=931
[+] [-] Aardwolf|12 years ago|reply
"Since other USB device vendors such as Microchip and FTDI give away USB PIDs for free"
Does that actually mean, they give them for free? If so, how can they do that? Why does VTM allow them to do it? And what is the actual problem at all if you can get them for free?
[+] [-] NonEUCitizen|12 years ago|reply
Bus 002 Device 013: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
0a12 is the VID for CSR, and 0001 is CSR's PID for "Bluetooth Dongle (HCI mode)." You can find a list at:
http://www.linux-usb.org/usb.ids
Microchip has paid USB Forum for its VID 04d8. If you build a USB peripheral with one of their microcontrollers, you can ask Microchip to allocate you a PID (since they have 64K of these), and let you use their VID:
http://ww1.microchip.com/downloads/en/DeviceDoc/APPLICATION%...
[+] [-] candydance|12 years ago|reply
FTDI own a bunch of VIDs which are associated with "FTDI" devices. If you ask FTDI they'll reserve a small block of PIDs for you to use for your own products that use the FTDI USB chips. 8 PIDs cut out of a 65536 block is not a significant cost.
I'm surprised that VTM still allows them to do it though, maybe it's a special case because you're using their IC.
The problem is that VTM maintains an "official" list of VID/PID owners, so that they can keep drivers on seperate IDs and prevent clashes for users. Most hobbyists just pick a random VID/PID for their personal projects and hope for the best, but for small scale hobby releases it's problematic since "technically" they are going against the terms of service for the USB protocol. Sometimes there will be clashes if people pick random numbers, and VTM hates that.
http://www.ftdichip.com/Support/Knowledgebase/index.html?can...
[+] [-] ck2|12 years ago|reply
[+] [-] VLM|12 years ago|reply
Whereas the hobbyists, if you don't intentionally try to screw them over like they're trying to do, would probably be ridiculously loyal and obedient in comparison.
Fundamentally despite the "hate opensource" and "revenue generating middlemen" story, some of which probably is true, the fundamental problem is likely the lack of a point of contact. They probably like knowing there's a directory of real world contact information such that identification number 0x123456 is clearly a product of such and such for debugging purposes and interoperability and lack of duplicate IDs and the like.
Something similar happens with ethernet MAC addresses. Legendarily it was HP (or was it sun?) who shipped a whole batch of ethernet cards accidentally in the 90s with the same MAC address, boy was that a nightmare to figure out the hard way.
[+] [-] pantalaimon|12 years ago|reply
I have a knock-off xbox controller that is an exact copy of the Xbox controller S, but claims USB ID ffff:ffff. It turns out there is also some unrelated cheap IR receiver that does the same and if you are unlucky this driver gets loaded instead, leaving you wondering why the gamepad doesn't work.
[+] [-] amalag|12 years ago|reply
[+] [-] mncolinlee|12 years ago|reply
If they can't responsibly offer their product without revoking it for simply using it as intended, they are racketeers. The Open Source community has not broken any legal agreements in simply publicizing the idea of a shared VID. The USB Forum are completely in the wrong for their behavior.
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] CamperBob2|12 years ago|reply
http://www.mcselec.com/index.php?page=shop.product_details&f...
MCS is in Holland, where both their jurisdiction and the fact that they licensed their VID from USB-IF a long time ago make it impossible to enforce the prohibition against reselling PIDs. For EU 10 each, it's worth it just to kick sand in the face of the asshats at USB-IF.
[+] [-] joshvm|12 years ago|reply
http://www.obdev.at/products/vusb/license.html
[+] [-] tlarkworthy|12 years ago|reply
I use lots of hobby stuff with USB ports. I have to lookup the vendor ID to make it read write in linux by default.
Presumably getting a proper ID makes this pain point go away from consumers somehow?
What's the gain I don't understand it?
[+] [-] Sanddancer|12 years ago|reply
Also, a lot of this could very well be trying to avoid the pain of the Bad Old Days of pre-plug and play DOS, where you had to manually set things like interrupts and I/O ports, and hope and pray that your new device didn't conflict with something important. For example, many an oldschool game had dire warnings about not running the sound card autodetect if you had things like scsi cards, because the conflicts were near inevitable and pretty catastrophic.
[+] [-] cdawzrd|12 years ago|reply
Using your own VID/PID allows you to write and distribute a driver that can be tied to your gadget rather than using a generic driver. Widely distributing products (even if they are "hobby stuff") that re-use the microcontroller's default VID/PID is also usually against the license agreement with the chip vendor and can lead to problems down the road.
[+] [-] natch|12 years ago|reply
[+] [-] piqufoh|12 years ago|reply
Where can I donate to Arachnid Labs?
[+] [-] nicksdjohnson|12 years ago|reply
[+] [-] happywolf|12 years ago|reply
Also, if an open source is popular enough to the point a unique VID is needed for proper driver support, I will say this project will easily get fundings to go commercial (just like RedHat).
[+] [-] iXce|12 years ago|reply
[+] [-] JonFish85|12 years ago|reply
The fee is $5k if I recall. As others have mentioned, if you are planning on making a real product, it's something you can roll into the cost. Although I completely understand the difficulty of someone just looking to sell ~100 devices.
I wonder if there's a way to allow a "Bring-your-own" VID? As in maybe switches or something to set the VID by the purchaser?
[+] [-] nraynaud|12 years ago|reply
Following a link on the internet it look like they actually have a prototype VID/PID, but you have to contact the forum and sign some boilerplate (saying you won't release your product with the proto numbers) to get it.
[+] [-] unknown|12 years ago|reply
[deleted]