We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Greetings,
i am just beginner of USB as initial steps i read USB 2.0 Specification document, one thing i don't understand that why the VID(vendor id), PID(product id) is needed?? as in enumaration after connecting the USB device to the host, the host will send the reset signal then the device will repond to that reset signal. after that the usb will send unique id/address to the device and that address the device should have to store in corresponding appropriate field. after that the host will request to the device about descriptor like(device,configuration,string,endpoint....etc), as a response for that the device will transmit the descriptor filled structure. In device descriptor i observed that there will be a vid and pid field which will be assigned by USB-IF and product manufacturer my doubt was already the host send unique address/id to the device through which it will respond but why this VID and PID?? hope you clear about my question.
Thanks and Regards.
You could also think that the IDs form a HW ID in an organized way. They all together are used to find out the right driver for that particular kind of HW. Allocating certain number range (VID-part) for a certain manufacturer (or vendor) and a certain product ID (PID) for a product helps keeping the ID(s) unique so a driver can trust that if the chip responds with certain numbers, the driver is right for it.
I'm not sure what unique ID/address you are referring to, but I wonder if you mean Microsoft's way of identifying drivers and the unique address that USB host allocates to a device.
This is about Microsoft's "Device Unique Identifier"
https://msdn.microsoft.com/en-us/library/windows/hardware/ff552563%28v=vs.85%29.aspx
This is what the USB descriptor looks like through Microsoft's eyes:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff539280%28v=vs.85%29.aspx
This might cast some light on the uniquely identifying devices:
http://www.osronline.com/showthread.cfm?link=256146
This is a list of vendor IDs/product IDs. It shows how they are used:
http://www.linux-usb.org/usb.ids