Hi,
To my understanding device and interface descriptors contain a USB device
class type that recognizes the functions the device implements (audio,
storage, printer, etc.).
There are a few things I do not understand about the USB device class
concept:
-
Interface Class .vs. Device Class -
What is the purpose of the device class mentioned in the device descriptor?
The class is mentioned in the interface descriptor and a device may have
many interfaces.
Are there cases where the class in the device descriptor is not 0xFF or 0x00
or the same as in the interface?
-
Credibility of USB device class -
Say a USB mass storage device reports an interface class of 0x03 (HID), but
it still reports “USB Mass Storage Device” in its device description.
Am I right in guessing that the USBSTOR.SYS will still be loaded and a file
system will still be mounted regularly?
If so, what is the credibility of this parameter if Windows doesn’t really
care what it value is?
-
Coverage of USB device class -
Isn’t there a networking USB device class?
The WI-FI USB device I just bought reports a interface class of 0xFE and
subclass 0x01 which according to the documentation is an infra-red device
and the infra-red device I bought reports 0xFF in the device class and 0x00
in the interface class (and 0x00 is illegal to my understanding).
-
USB device class and Compatible IDs -
From my observation the compatible ID’s a PDO for a USB device sometime
contain the class and sub class from the device descriptor and sometimes
from the interface descriptor.
What is the algorithm for this decision?
-
Composite Devices -
To my understanding when a device implements more than one interface the PDO
reports a USB\COMPOSITE compatible ID, yet the PDO for the blue-tooth
adapter I bought does not report this ID.
How can this be? Can someone explain what a Compound Device is (I think I
saw it once in a Power Point presentation.)?
I hope this is not too many questions in one shot…
Thank you
Shahar
Search MSDN for “Identifiers for USB Devices”.
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
----- Original Message -----
From: Shahar Talmi
To: Windows System Software Devs Interest List
Sent: Thursday, August 12, 2004 7:41 PM
Subject: [ntdev] About USB Device and Interface Descriptors
Hi,To my understanding device and interface descriptors contain a USB device class type that recognizes the functions the device implements (audio, storage, printer, etc.).There are a few things I do not understand about the USB device class concept: 1) Interface Class .vs. Device Class -What is the purpose of the device class mentioned in the device descriptor?The class is mentioned in the interface descriptor and a device may have many interfaces.Are there cases where the class in the device descriptor is not 0xFF or 0x00 or the same as in the interface? 2) Credibility of USB device class -Say a USB mass storage device reports an interface class of 0x03 (HID), but it still reports “USB Mass Storage Device” in its device description.Am I right in guessing that the USBSTOR.SYS will still be loaded and a file system will still be mounted regularly?If so, what is the credibility of this parameter if Windows doesn’t really care what it value is? 3) Coverage of USB device class -Isn’t there a networking USB device class?The WI-FI USB device I just bought reports a interface class of 0xFE and subclass 0x01 which according to the documentation is an infra-red device and the infra-red device I bought reports 0xFF in the device class and 0x00 in the interface class (and 0x00 is illegal to my understanding). 4) USB device class and Compatible IDs -From my observation the compatible ID’s a PDO for a USB device sometime contain the class and sub class from the device descriptor and sometimes from the interface descriptor.What is the algorithm for this decision? 5) Composite Devices -To my understanding when a device implements more than one interface the PDO reports a USB\COMPOSITE compatible ID, yet the PDO for the blue-tooth adapter I bought does not report this ID.How can this be? Can someone explain what a Compound Device is (I think I saw it once in a Power Point presentation.)? I hope this is not too many questions in one shot…Thank youShahar
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com