top | item 6591208

USB Implementers Forum Says No to Open Source

305 points| p4bl0 | 12 years ago |hackaday.com | reply

95 comments

order
[+] jrockway|12 years ago|reply
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.)

[+] eksith|12 years ago|reply
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.
[+] samworm|12 years ago|reply
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.

[+] ZeroGravitas|12 years ago|reply
They have:

"There are a number of ideas to get around VTM Group that include squatting on USB VID 0xF055"

[+] bborud|12 years ago|reply
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.
[+] nraynaud|12 years ago|reply
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.

[+] wiml|12 years ago|reply
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.

Some ancient history: https://forum.sparkfun.com/viewtopic.php?t=931

[+] Aardwolf|12 years ago|reply
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?

[+] NonEUCitizen|12 years ago|reply
A device has a Vendor ID (VID) and a Product ID (PID). For example, the following is output from lsusb:

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

http://www.ftdichip.com/Support/Knowledgebase/index.html?can...

[+] ck2|12 years ago|reply
Just do what all the $1 Chinese USB devices on ebay do - clone an existing VID
[+] VLM|12 years ago|reply
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.

[+] pantalaimon|12 years ago|reply
That's pretty messy though.

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
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.
[+] mncolinlee|12 years ago|reply
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.

[+] CamperBob2|12 years ago|reply
It looks like not enough people know that you can license individual PIDs from MCS Electronics:

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.

[+] tlarkworthy|12 years ago|reply
I don't understand.

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

[+] cdawzrd|12 years ago|reply
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.

[+] natch|12 years ago|reply
Who are the members of the forum? Can they be replaced?
[+] piqufoh|12 years ago|reply
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

Where can I donate to Arachnid Labs?

[+] happywolf|12 years ago|reply
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).

[+] iXce|12 years ago|reply
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.
[+] JonFish85|12 years ago|reply
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?

[+] nraynaud|12 years ago|reply
Nope I couldn't find any in the specification.

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.