Author Topic: USB - Device Identification String  (Read 13785 times)

Burkhard

  • Member
  • ***
  • Posts: 1
USB - Device Identification String
« on: November 18, 2010, 03:12:48 am »
Hello,

Our company developed a set of different USB devices (different product IDs).
All devices are composite USB devices (bDeviceClass 0x00, bDeviceSubClass 0x00, bDeviceProtocoll 0x00) with two or more interfaces.
Interface 1 (bInterfaceNumber 0x00) is always a vendor specific interface (bInterfaceClass 0xFF, bInterfaceSubClass 0x0E, bInterfaceProtocol 0x01).
The other interfaces are standard USB interfaces such as HID.
We want to provide only one vendor specific INF file, that match all of our usb devices (different product IDs).

I can match between the information retrieved from the device and the information in the INF file with the following device identifier string in the model section of my INF file:
USB\VID_vvvv&PID_pppp&MI_ii

According to the 'Common Class Base Specification - http://www.usb.org/developers/devclass_docs/usbccs10.pdf'
I tried to provide a device identifier in the INF file with only the vendor ID and the interface subclass (idVendor & bInterfaceSubClass):
USB\VID_vvvv&SubClass_cc This doesn't work.
Does Windows XP support the matching strategies, described in the chapter 'Locating USB Drivers' of the 'Common Class Base Specification' document?

Next I tried with a compatible ID:
USB\CLASS_FF&SUBCLASS_0E&PROT_01
This works, but I have no reference to my vendor ID and it would be possible, that another vendor use the same subclass and protocol ID.

Does anyone have any idea how to solve this problem?
Thanks for your help.

Burkhard

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB - Device Identification String
« Reply #1 on: November 18, 2010, 10:49:59 am »
I don't know offhand if Windows supports this:

USB\VID_vvvv&SubClass_cc with bInterfaceClass = FFh

The setupapi log file might offer a clue.

Another option is to specify all of your Product IDs in the INF file.

Jan