Avoiding USB-IF Fees for OSHW Designs - Page 1
Forum section: electronics / general

author: redshift
author_rank: Contributor
timestamp: April 29, 2015, 08:12:10 pm
content: Hi everyone! I'm a long time lurker and this is my first post.Lately I've been interested in making some usb devices and I've come upon something interesting:USB Vendor and Product ID numbers(VID's and PID's) help operating systems quickly assign the correct drivers to a usb device. To avoid conflicting ID's, the USB Implementers Forum(USB-IF) regulates VID's. For this service they charge expensive and recurring fees:Link.Nick Johnson, of Arachnid Labs, wrote an interesting article about potentially sub-leasing VID's:Link. Unfortunately, it seems that USB-IF adamantly forbids this.Theydohave free VID's for prototypes that must never be sold. However, I believe this is still an issue for anyone who wants to sell usb devices in small runs or for any OSHW projects since the right for others to sell your hardware design exists.So how can OSHW designers make legal and usb-compliant devices without emptying their wallets?One solution might be to use a usb-compliant component in your design like those made by FTDI. I'm not sure whether this makes your entire design technically usb-compliant though.Another solution might be to ignore USB-IF and sub-licence someone else's ID's anyways. From the V-USB documentation:QuoteLastly, maybe one might ignore USB-IF and pick a random VID/PID pair. Since each is 16-bits long, perhaps the odds of a conflict are remote anyways.I'd love to hear other people's ideas and opinions on this issue.

author: marshallh
author_rank: Unknown
timestamp: April 29, 2015, 09:07:17 pm
content: Easy route is to use FTDI/other uart/fifo and borrow their VID/PID. You can always set them up to report a custom device string.Or hunt around for the 2-3 websites that will issue PIDs for oshw stuff, flouting the USBIF.

author: tesla500
author_rank: Regular Contributor
timestamp: April 29, 2015, 09:19:05 pm
content: The USB-IF didn't always forbid selling product IDs. Older customers who bought vendor ID rights before the rules were changed in 2009 are allowed to resell them, like this one who will sell you a product ID for about 10 Euro:http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1David

author: sleemanj
author_rank: Super Contributor
timestamp: April 29, 2015, 09:32:47 pm
content: Sublicense, or just pick an unused (dead) vid and pid as they can not be reissued officially anyway. You just can't say it is usb compliant or stick the usb logo on it, but usb compatible is a factual statement :-)I seem to recall there was a website setup somewhere tht you could stake a claim to a pid in a some certain dead vid out there, specifically for oshw

author: redshift
author_rank: Contributor
timestamp: April 29, 2015, 09:34:18 pm
content: Thanks for the replies.So is this a non-issue? Do most people just buy PID's under someone else's VID or use FTDI, et al. chips?Why are VID's so pricey anyhow? Isn't USB-IF a non-profit?

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: April 30, 2015, 09:34:44 am
content: There are effectively two options for the small user:1) you want to make a USBIF certified device, and use USB_IF logos etc.-> use an FTDI chipset, which is "prequalified". This limits you to the FTDI VID/PID, and a vanilla USB-serial device.2) Use an unofficial VID/PID. This will not allow USBIF certification.For genuine OSHW projects, OpenMoko will allocate you a PID from their range :http://wiki.openmoko.org/wiki/USB_Product_IDs.There is alsohttp://pid.codes/about/-> full flexibility with USB devices, should avoid ID clashes.Some of the unofficial PID suppliers get closed down after legal threats from USB_IF. Other ways of getting VID/PID include picking ones at random, using dead or blacklisted VIDs, depends on how worried you are about collisions.An additional problem for Windows users is getting signed drivers. It seems that Microsoft do not check for approved VID/PID when you submit a driver, but you still need to pay money to get a signing certificate. If you don't want to submit drivers to WHQL, there are ways to get drivers signed.

author: Bassman59
author_rank: Super Contributor
timestamp: April 30, 2015, 10:36:52 pm
content: Quote from: redshift on April 29, 2015, 09:34:18 pm"non-profit" does not mean "no income," nor does it mean, "no operating expenses."

author: redshift
author_rank: Contributor
timestamp: May 01, 2015, 03:16:05 am
content: QuoteThis is true. In fact I've personally worked for a non-profit myself and I dealt with these misconceptions a lot.I was just being cynical about the big price tag on VID's. But you have to admit, $2000+ for your own 16bit integer seems a little steep. Perhaps it's just a matter of scarcity...Anyways, sorry if I offended anyone in the Implementer's Forum

author: Jeroen3
author_rank: Super Contributor
timestamp: May 01, 2015, 05:43:07 am
content: You can use any usb vid/pid you like if you do not carry the usb logo. That implicitly says you're not compatible with usb. But the connector is pretty standard, so most end-users won't even notice. Until they get conflicts...The same applies to mac addresses. But you can buy those in small ID chips.Fortunately, there are locally administered mac addresses, so you can sell small prototype runs with those.

author: bitwelder
author_rank: Super Contributor
timestamp: May 01, 2015, 06:11:16 am
content: Quote from: Bassman59 on April 30, 2015, 10:36:52 pmAlso, I think the high price may act as a barrier so that the limited VID range doesn't get polluted with all kinds of one-off prototypes.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: May 01, 2015, 08:03:39 am
content: Quote from: bitwelder on May 01, 2015, 06:11:16 amIf there is a sensible reason, it would be this. The decision to make the VID 16 bits, with approx 65,000 numbers now looks terribly small. Look at the amount of hassle running out of IP4 addresses caused. I haven't heard of a plan to extend the VID range, and running out would be a major headache. So the high price might simply be to ration the VID space.I am sure the other effect is that those already with a VID, see it as nice way to exercise cartel powers, and lock out the small players. You would never hear that opinion expressed though, for obvious reasons.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: May 01, 2015, 02:31:32 pm
content: Quote from: mojo-chan on May 01, 2015, 09:29:57 amDoesn't work on several levels.If they gave them away free, then they would run out. Simple economics.It's quite to easy to verify a company, it's impossible to prove someone is not a company. That would be a huge burden for an OS organization, in practice they would just dole them out to whoever requested. Hardly any company would ever bother buying a VID. Someone will request all the free PIDs and resell them.

author: andersm
author_rank: Super Contributor
timestamp: May 02, 2015, 04:59:08 pm
content: Some device manufacturers (eg. Microchip and I believe NXP) can provide PIDs for small-volume customers. IIRC Dangerous Prototypes went that route for their first products.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: May 04, 2015, 10:17:20 am
content: Quote from: mojo-chan on May 04, 2015, 09:07:34 amRight, same as IP v4 addresses...

author: Len
author_rank: Frequent Contributor
timestamp: May 04, 2015, 03:24:12 pm
content: Quote from: donotdespisethesnake on May 04, 2015, 10:17:20 amExcept that PIDs are perproductnot perdevice

author: miguelvp
author_rank: Super Contributor
timestamp: May 05, 2015, 04:05:30 am
content: Easy, makehttp://www.oshwa.orgpurchase a VID and to offer their members that pay, say, general membership @$100 per year PIDs for $25 each/year. It should be adequate and you support the open hardware community.http://www.oshwa.org/membership/If you only have one product your cost would be just $125/year, 2 products with different PIDs, $150/year. (200 total member products per year would make it break even)Edit: of course the owner of the product is OSHWA, but since it's open source it doesn't matter, right?Edit2: as a member you are part of OSHWA with voting rights, so nothing would prevent you to sell your device using your product id as long as it has the OHSW logo and you are a member of that "Vendor"Edit3: of course being open source, it doesn't prevent anyone else using your PID for a copy of your project for them to use or resell or modify etc. Or maybe OHSWA should place a stipulation regarding VID/PID OSHW projects that require people using them to also be members

author: miguelvp
author_rank: Super Contributor
timestamp: May 05, 2015, 04:29:25 am
content: Ok, by reading:http://www.usb.org/developers/vendor/OSHWA only has to pay $4,000/year for the VID, additional VIDs go for $3,500 for 2 years.So for the 1st VID you only need 160 opensource projects that need a PID to break even, the rest are money for the association you are a member of.If the 1st VID is exhausted it will only require 70 new projects per year that require a PID on a 2nd VID.So mojo-chan, since you are so adamant about all this open hardware, why don't you approach them and tell them to do this? you can take all the credit if you want, because I'm not going to do it.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: May 05, 2015, 09:00:34 am
content: Quote from: miguelvp on May 05, 2015, 04:05:30 amI believe that an approach has already been made to USBIF to provide PIDs for Open Source projects and they were firmly rebuffed, so I don't think an initiative by OSHWA wold be any different. The actions of USBIF have indicated they are simply not interested in making access to "official" USB cheaper or easier.

author: miguelvp
author_rank: Super Contributor
timestamp: May 05, 2015, 02:49:00 pm
content: That's the thing, it's not sublicensed. It's acquired by OSHWA and only used by OSHWA members and you must be part of OSHWA in order to be able to legally use it, and since members have voting rights, they are part of that entity. So as long as your member fees are paid up and the hardware design and software is owned by the OSHWA I don't think they could stand a chance in denying the license.Company, Organization, Entity, Association would be the only thing that might put a stop to that. But as the law is in the US I would think an association like OSHWA has the same rights as any other corporate entity, other than it's a non-profit and therefore has tax breaks.

author: c4757p
author_rank: Super Contributor
timestamp: May 05, 2015, 03:28:47 pm
content: Stupid artificial scarcity. The IDs should have been 128 bits long and given away for no more than it costs to keep people from loading down the registration servers with autoreg scripts.I'm all for the 0xf055 / pid.codes approach. Shame the web site for 0xf055 seems to have disappeared - I wonder if pid.codes could pick it up. USB-IF doesn't get to own a number, and what's the benefit of being able to claim official USB compliance anyway? Fuck 'em.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: May 06, 2015, 07:23:30 am
content: Quote from: miguelvp on May 05, 2015, 02:49:00 pmThat might be a clever technical loophole. Problem is, USBIF can cancel your VID whenever they want, for any reason. They already changed their terms to prevent sublicensing, threatened people with lawyers, then revoked their VID. So if you USBIF don't like your scheme, you will end up having to sue them.These discussions always end up in circles. There is really no other way to get an official PID without signing up to USBIF and following their rules. If you want to stuff the USBIF, there are several ways to pick your own VID/PID, but they will never go on the official list.On a more positive note, has anyone seenhttps://hackaday.io/project/4994-bsu-bs-free-usb/discussion-24086?Looks like a workable attempt to ease the use of USB, even if it has a limited functionality.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: May 06, 2015, 08:15:07 am
content: USB-IF have shown themselves to be a bunch of dicks so you just need to ignore them.Nobody gives a toss about having a USB logo - that is the only thing USB-IF actually own. If you don't use this there is nothing the USB Police can do about itAs long as you pick/guess/find/buy a PID/VID that isn't included in standard builds of Windoze/Mac/Linux then it just won't be a problem.There are VID/PIDs available for OSHW projects, and for commercial products you can still buy them from someone who bought before they changed their terms.Way way too much time has been wasted by people discussing this. It is a solved problem. Just get on and make stuff.

author: tszaboo
author_rank: Super Contributor
timestamp: May 06, 2015, 10:07:24 am
content: Unless you designed your own hardware for it, I dont se the problem using the PID, VID of the silicon manufacturer. The chips came with a library, drivers the whole shebang which is USB certified. If you want your own VID, pay for it, but why really do you want it? I mean you have to support drivers, microsoft, everything else, otherwise it is a half measure.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: May 06, 2015, 10:27:47 am
content: Quote from: NANDBlog on May 06, 2015, 10:07:24 amThere can be issues with this - e.g. if the manufacturer updates their driver and breaks something (I've had this with FTDI), or if you need some specific settings (e.g. latency timer settings & odd baudrates with FTDI COM driver).Also if you two different devices with the same chipset it can cause major problems - e.g. your software tries taking to something that is actually a completely different thing.If you ship "your" driver with a custom VID/PID, at least you retain some control.

author: cyr
author_rank: Frequent Contributor
timestamp: May 06, 2015, 10:31:31 am
content: Quote from: NANDBlog on May 06, 2015, 10:07:24 amYou could do that if you just put a fixed-function USB chip on a board, like a serial converter or audio device. Doesn't work for anything custom.Also, being able to tell devices apart is rather nice. Have you never lost track of which "generic USB serial device" connected to your computer is which?

author: tszaboo
author_rank: Super Contributor
timestamp: May 06, 2015, 10:40:52 am
content: Quote from: cyr on May 06, 2015, 10:31:31 amQuote from: cyr on May 06, 2015, 10:31:31 amYou can rewrite the product, manufacturer and serial number string without any restriction AFAIK, and your driver can rely on those. Of course if you are making some non standard interface this doesnt work, but there always seemed to be a workaround for this.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: May 06, 2015, 05:49:15 pm
content: Quote from: mikeselectricstuff on May 06, 2015, 08:15:07 amIn reality, it is not even half-solved. If you want to create a legitimate commercial product, e.g. like Arduno, you need to go through USB-IF. The only alternative is if you restrict the class supported to one supported by off the shelf FTDI (etc) chips.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: May 06, 2015, 05:59:40 pm
content: Quote from: donotdespisethesnake on May 06, 2015, 05:49:15 pmDefine "legitimate".You can legally make and sell a USB device using a VID/PID bought from MCS, or made up, or lifted from a long-dead product.You do NOT need to involve the USB cartel unless you want to use the USB logo. nobody will not buy a product due to not having the logo.Like I said, for all practical purposes it's a solved problem.

author: Jeroen3
author_rank: Super Contributor
timestamp: May 06, 2015, 08:22:15 pm
content: Literally form the USB website:QuoteI'm not aware of any import restrictions, or legal cases based on non-official USB-IF Logo carrying products. Please share if you you know any.

author: f4eru
author_rank: Super Contributor
timestamp: May 06, 2015, 09:29:34 pm
content: Simply get an ID here :http://dangerousprototypes.com/2012/05/23/openmoko-usb-product-id-and-ieee-oui-ethernet-mac-address-range-available/))

author: coflynn
author_rank: Regular Contributor
timestamp: May 12, 2015, 07:56:22 pm
content: QuoteI'm hoping that will happen... not sure if I'll have time to finish this realistically! But the idea is to play ball with USB-IF, in that I'm explicitly *not* sub-licensing the PID (i.e. you cannot get your own PID from me, nor can you compile the code and re-use my PID). It's a product being sold (a pre-programmed microcontroller with fixed function), although it's sold in a manner that is more flexible than a regular product.I'm trying to write a sufficiently flexible API to implement most functions you might need. But if you need something beyond what is implemented, having the source code gives you an easier path (i.e. compile source, use your own VID/PID then) to make a commercial product.It's not a ton different from existing solutions (FTDI, bus-pirate, etc) but am trying to make it cheaper, along with having an easier path from prototype-->production. From what I've seen a lot of products/designs choose a part early on in prototyping, and if you need more functionality it can be very difficult to swap, since it's both the hardware and API that changes. If you can keep the API relatively constant, changing the hardware isn't such a big deal.But this is 99% proof-of-concept code right now compared to anything useful, so don't hold your breath as at this point it might not go much further unfortunately! Wish I had more time in each day...

author: funkathustra
author_rank: Regular Contributor
timestamp: July 22, 2015, 02:33:17 am
content: This thread is ridiculous. If you want a USB PID/VID, call up your chip manufacturer and get one -- it's that simple. All of the MCU manufacturers I've ever designed USB products around (Microchip, NXP, Freescale, Silicon Labs) have given me a PID for free if I've asked or filled out their online form. If they ask about product volume, it's because they want to make sure you're making less than 10k units (or whatever their internal policy says is the limit).If you're making more than 10k units, you should pony up the cash for a VID. The money the USB-IF makes from VID sales goes to organizing the developer committees, which helps keep USB development moving along as an open standard that anyone can access -- it's a good cause to support.As for driver signing on Windows, it's really not that big of a deal. As long as you're using an existing kernel driver (like WinUSB, HID, or one of the USB class drivers), you don't need to do any driver development, and you don't need a trusted code certificate. Microsoftdoes, however, require that you sign your driver INF package -- code signing certificates can be purchased for around $40 from StartSSL, so it's not much of a financial burden. Please save your breath when complaining about driver signing. It keeps a lot of nasty shit off a lot of stupid people's computers.And during testing, just self-sign your drivers by creating a key pair, import it into your trusted root certificates, and then sign your code with it. It takes 20 seconds to do. Stop bitching about it.

author: Pajeh
author_rank: Newbie
timestamp: July 22, 2015, 05:54:02 am
content: Quote from: funkathustra on July 22, 2015, 02:33:17 am+1easy game, partly they send you the data in automated messages. Some take 2 days to review and send it.

author: charlespax
author_rank: Regular Contributor
timestamp: July 28, 2015, 07:52:09 pm
content: The problem is now solved. You can get a USB ID fromhttp://pid.codes.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: August 29, 2015, 09:51:00 am
content: People like StartSSL might be cheap, but getting a cert is not necessarily a slam dunk for small developers.https://danconnor.com/post/50f65364a0fd5fd1f7000001/avoid_startcom_startssl_like_the_plague_The fact is, to be useful they can't give certs out to anyone. So it is quite likely that if you don't fit their quick model of what a certified user looks like, you will get a lot of hassle and maybe no cert. However, for $60 and a few easily faked documents, I don't think that is going to stop serious cyber criminals. Identity theft is so easy, it's hardly a barrier.Clearly, if you are conventional brick and mortar incorporated company with a decent budget, getting a cert is another bureaucratic hurdle, like USBIF, UL, FCC etc, but is just another thing to be done. For OSHW designers without the backing of all that, it remains a hassle.