USB-ID-FAQ, PCB, Programowanie, usbasp.2011-05-28, firmware, usbdrv

[ Pobierz całość w formacie PDF ]
Version 2009-08-22==========================WHY DO WE NEED THESE IDs?==========================USB is more than a low level protocol for data transport. It also defines acommon set of requests which must be understood by all devices. And as partof these common requests, the specification defines data structures, theUSB Descriptors, which are used to describe the properties of the device.From the perspective of an operating system, it is therefore possible to findout basic properties of a device (such as e.g. the manufacturer and the nameof the device) without a device-specific driver. This is essential becausethe operating system can choose a driver to load based on this information(Plug-And-Play).Among the most important properties in the Device Descriptor are the USBVendor- and Product-ID. Both are 16 bit integers. The most simple form ofdriver matching is based on these IDs. The driver announces the Vendor- andProduct-IDs of the devices it can handle and the operating system loads theappropriate driver when the device is connected.It is obvious that this technique only works if the pair Vendor- plusProduct-ID is unique: Only devices which require the same driver can have thesame pair of IDs.=====================================================HOW DOES THE USB STANDARD ENSURE THAT IDs ARE UNIQUE?=====================================================Since it is so important that USB IDs are unique, the USB Implementers Forum,Inc. (usb.org) needs a way to enforce this legally. It is not forbidden bylaw to build a device and assign it any random numbers as IDs. Usb.orgtherefore needs an agreement to regulate the use of USB IDs. The agreementbinds only parties who agreed to it, of course. Everybody else is free to useany numbers for their IDs.So how can usb.org ensure that every manufacturer of USB devices enters intoan agreement with them? They do it via trademark licensing. Usb.org hasregistered the trademark "USB", all associated logos and related terms. Ifyou want to put an USB logo on your product or claim that it is USBcompliant, you must license these trademarks from usb.org. And this is whereyou enter into an agreement. See the "USB-IF Trademark License Agreement andUsage Guidelines for the USB-IF Logo" atLicensing the USB trademarks requires that you buy a USB Vendor-ID fromusb.org (one-time fee of ca. 2,000 USD), that you become a member of usb.org(yearly fee of ca. 4,000 USD) and that you meet all the technicalspecifications from the USB spec.This means that most hobbyists and small companies will never be able tobecome USB compliant, just because membership is so expensive. And you can'tbe compliant with a driver based on V-USB anyway, because the AVR's port pinsdon't meet the electrical specifications for USB. So, in principle, allhobbyists and small companies are free to choose any random numbers for theirIDs. They have nothing to lose...There is one exception worth noting, though: If you use a sub-component whichimplements USB, the vendor of the sub-components may guarantee USBcompliance. This might apply to some or all of FTDI's solutions.=======================================================================WHY SHOULD YOU OBTAIN USB IDs EVEN IF YOU DON'T LICENSE USB TRADEMARKS?=======================================================================You have learned in the previous section that you are free to choose anynumbers for your IDs anyway. So why not do exactly this? There is still thetechnical issue. If you choose IDs which are already in use by somebody else,operating systems will load the wrong drivers and your device won't work.Even if you choose IDs which are not currently in use, they may be in use inthe next version of the operating system or even after an automatic update.So what you need is a pair of Vendor- and Product-IDs for which you have theguarantee that no USB compliant product uses them. This implies that nooperating system will ever ship with drivers responsible for these IDs.==============================================HOW DOES OBJECTIVE DEVELOPMENT HANDLE USB IDs?==============================================Objective Development gives away pairs of USB-IDs with their V-USB licenses.In order to ensure that these IDs are unique, Objective Development has anagreement with the company/person who has bought the USB Vendor-ID fromusb.org. This agreement ensures that a range of USB Product-IDs is reservedfor assignment by Objective Development and that the owner of the Vendor-IDwon't give it to anybody else.This means that you have to trust three parties to ensure uniqueness ofyour IDs:- Objective Development, that they don't give the same PID to more thanone person.- The owner of the Vendor-ID that they don't assign PIDs from the rangeassigned to Objective Development to anybody else.- Usb.org that they don't assign the same Vendor-ID a second time.==================================WHO IS THE OWNER OF THE VENDOR-ID?==================================Objective Development has obtained ranges of USB Product-IDs under twoVendor-IDs: Under Vendor-ID 5824 from Wouter van Ooijen (Van OoijenTechnische Informatica, www.voti.nl) and under Vendor-ID 8352 from JasonKotzin (Clay Logic, www.claylogic.com). Both VID owners have received theirVendor-ID directly from usb.org.=========================================================================CAN I USE USB-IDs FROM OBJECTIVE DEVELOPMENT WITH OTHER DRIVERS/HARDWARE?=========================================================================The short answer is: Yes. All you get is a guarantee that the IDs are neverassigned to anybody else. What more do you need?============================WHAT ABOUT SHARED ID PAIRS?============================Objective Development has reserved some PID/VID pairs for shared use. Youhave no guarantee of uniqueness for them, except that no USB compliant deviceuses them. In order to avoid technical problems, we must ensure that alldevices with the same pair of IDs use the same driver on kernel level. Fordetails, see the file USB-IDs-for-free.txt.======================================================I HAVE HEARD THAT SUB-LICENSING OF USB-IDs IS ILLEGAL?======================================================A 16 bit integer number cannot be protected by copyright laws. It is notsufficiently complex. And since none of the parties involved entered into theUSB-IF Trademark License Agreement, we are not bound by this agreement. Sothere is no reason why it should be illegal to sub-license USB-IDs.=============================================WHO IS LIABLE IF THERE ARE INCOMPATIBILITIES?=============================================Objective Development disclaims all liabilities which might arise from theassignment of IDs. If you guarantee product features to your customerswithout proper disclaimer, YOU are liable for that. [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • emaginacja.xlx.pl
  •