USB PIDs For All

The USB Implementers’ Forum doesn’t make things easy for anyone building a product with a USB port. To sell anything with USB and have it work like USB should, you need to buy a USB Vendor ID, a $5000 license that grants you exclusive use of 65,536 USB Product IDs. Very few companies will ever release 65,000 products, and there are a lot of unused PIDs sitting around out there.

Now, someone has finally done the sensible thing and put an unused USB VID to work. pid.codes obtained the rights to a single VID – 0x1209 – and now they’re parceling off all the PIDs that remain to open source hardware projects.

This is not a project supported by the USB Implementers’ Forum, and is more of a legal game of chicken on the part of pid.codes. The only thing the USB-IF could do to stop this is revoke the original VID; useless, because they can’t reassign it to anyone else. The original owners of the VID, InterBiometrics, licensed their VID before transferring or sublicensing VIDs and PIDs was prohibited by the USB-IF.

You can get a PID by forking the pid.codes repo, claiming a PID, and sending a pull request. Once that’s accepted, that PID is yours forever.

46 thoughts on “USB PIDs For All

    1. It’s an artifact of git’s incredibly painful process flow.

      To make a change you fork the entire target repo, make your changes,
      and then submit a request to the original maintainers to merge your fork back into the trunk.

      1. It is hardly painful. How else will you test your changes if you do not have a copy of the repo?

        In any case, can’t you just use patches if you are not fond of the alternative?

      2. Since the last time I had to update a single working copy of an SVN repo took ten times longer than cloning the entire git version, I don’t really agree with your “incredibly painful” claim.

      3. It makes sense when dealing with source code. For this purpose though… why the pids couldn’t be stored in a database with claims handled through a simple web interface is totally beyond me. Just about any amateur web developer should be able to do that in a single evening. A good one could have it up in a few hours (and that includes lots of testing time).

        Ok.. actually not so beyond me. I’m pretty sure it’s because using git for everything is a big fad. Using git for something proves you are one of the cool kids in certain parts of the open source crowd. That and the old “when the only tool you know is a hammer everything looks like a nail” analogy.

        1. Setting up a website + database would take considerable effort – at least a few hours, by your estimate.
          Putting a plain text file in a github repo takes seconds.

          Why go through additional effort for something that doesn’t need to be particularly polished?

  1. There are at least two other companies who decided to do the same thing. One of them offers PIDs for free, and the other for like $5 (they say to recoup their money paid to USB-IF).

    It’s absolutely ridiculous that a VID comes with 65k PIDs. There really needs to be something like an open-source USB software standard. By “OpenUSB” devices all sharing the same primary VID/PID and then adding another layer for “OpenVID/PID”, not only can it get by the 65k VID limit and USB-IF, but it stays compatible with the USB spec.

    1. I think the reason they get so many PIDs is the result of rounding VIDs to nice even hex values. But agreed, there needs to be a more sensible approach to PIDs.

      Perhaps there is a way they could be reappropriated without the need of people like pid.codes coughing up $5k of their own money.

      1. There is – by open source fiat. There’s nothing the USB-IF can do to non-members who don’t follow their rules, provided that they don’t the USB logo (which is trademarked). If the entire community just picks a VID to use, there isn’t anything they can do. If they try to assign it to someone, that party will refuse it as substandard due to others using it like this. If the Linux kernel were to adopt this approach, the USB-IF would have to simply concede to them.

        The chances of this are actually pretty good – Greg KH posted the following on G+:
        “At this point in time, I really don’t care what the USB-IF says, as they have explicitly shown that they do not care about Linux, or tiny companies that just want to use the USB technology. They kicked Linux out of the USB-IF for no reason at all, after taking our money, with no recourse. Good thing is the USB-IF can’t really “do anything” about people using different vid/pid values, as they have no way to prevent people from doing stuff like this.”

        1. Except, look at what happened to the last attempt to do this. 0xf055.org set up, let people ‘reserve’ PIDs on a squatted VID, set their robots.txt not to allow indexing, then vanished, taking any record of who’s been assigned what PID with them.

  2. That’s really silly. The only reason to get an “official” VID/PID pair is to sell your device, and you can’t call it an USB compatible device unless it was, in fact, sanctioned by USB-IF, or they’ll come for you with pitchforks.

    Anyway, there’s already a service that gives away *completely legitimate* PIDs from an official VID number for open hardware projects: http://wiki.openmoko.org/wiki/USB_Product_IDs

    1. There are plenty of people – myself included – selling USB devices who don’t have $5000 to spare to send to the USB-IF for our own VIDs. And even after you pay them $5000, you _still_ can’t use the USB logo; logo licensing is separate. You can say “USB compatible” all you like.

    2. While usb.org said no to sub-licensing, there a quite a few chip vendors that would assign a PI under their VID as long as you are using their chip and do not sell more than 10,000 of your product. Once you reached that number, hopefully you could then afford to get your own VID/PID.

    1. Anybody know what happened? f055 got a lot of exposure fairly recently with the FTDI debacle. Unfortunately, their robots.txt prevented the Wayback Machine from archiving the registry of assigned numbers. Continuing the game requires only cooperation within the community, not a central authority.

  3. MCS electronics purchased a PID before the rule about reselling VIDs went into effect (June 2009). MCS started selling PIDs to people, then USB-ORG added the rule and told MCS that they could no longer sell PIDs, and MCS pointed out that they cannot change the terms of an agreement after purchase (per Netherlands law), and USB-ORG offered to refund their money, MCS refused, so USB-ORG revoked MCS’s VID.

    However, that VID cannot be reused by USB-ORG, so go ahead and purchase one from MCS for €9.95, you can legitimately use it and legally say that you are USB compliant.

    USB-ORG can make a stink about it, they might legally threaten you, and they *might* even attempt to sue, but they would not prevail in court (and they know this).

    http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1

    1. all you get is a vid/pid pair that you can be reasonably sure no one else uses, you can’t claim anything USB unless you pay the USB-IF and get the product through certification

    1. You actually need an existing public repository containing a PID-requiring device schematic under an open license, so no.

      They’re not likely to run out, though, so just wait until you actually need one.

  4. This is a nice offering by these guys, but I don’t think that I will bother… I tend to use HID when at all possible (so no drivers required), and since I don’t sell anything I just grab whatever VID I choose. If someone else uses my code they are welcome to use the same one, or change it as they see fit. I suppose that if I were distributing drivers or selling products it would be different. Oh well.

    Kudos to these guys, still.

    Cheers

  5. The USB Logo and certification have zero value nowadays – everyone knows what a USB port looks like, so there is just no need to use the logo. Paying USB-IF to do it “properly” is a just waste of money – it adds no value to your product.

      1. No, they can’t and won’t. They can take legal action if you use the USB logo without being a licensee, but there’s no obligation to be a licensee in order to produce a USB-compatible device and sell it.

  6. One quick tip for those who (for whatever reason) actually want to acquire a valid VID (I recently did). While you can pay the USB-IF $5000 for a one-off purchase of a VID, there is a (slightly) cheaper option.

    Join the USB-IF for an annual fee of $4000 – this has sundry advantages (none of which were the slightest bit of use to me) – but also includes a free VID if you don’t already have one. If you allow your membership to lapse at any time (there is no auto-renewal) the VID remains valid and continues to belong to you officially, as well as de facto.

    It’s certainly not as cheap as other options here, but it is a way of doing it all “by the book” and saving $1000.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s