Class | Usage | Description | Examples |
---|---|---|---|
00h | Device | Unspecifiedclass 0 | (Device class is unspecified. Interface descriptors are used for determining the required drivers.) |
01h | Interface | Audio | Speaker, microphone, sound card |
02h | Both | Communications and CDC Control | Ethernet adapter, modem, serial port adapter |
03h | Interface | Human Interface Device (HID) | Keyboard, mouse, joystick |
05h | Interface | Physical Interface Device (PID) | Force feedback joystick |
06h | Interface | Image | Digital camera (Most cameras function as Mass Storage for direct access to storage media). |
07h | Interface | Printer | Laser printer, Inkjet printer |
08h | Interface | Mass Storage | USB flash drive, memory card reader, digital audio player, external drives |
09h | Device | USB hub | Full speed hub, hi-speed hub |
0Ah | Interface | CDC-Data | (This class is used together with class 02h - Communications and CDC Control.) |
0Bh | Interface | Smart Card | USB smart card reader |
0Dh | Interface | Content Security | - |
0Eh | Interface | Video | Webcam |
0Fh | Interface | Personal Healthcare | - |
DCh | Both | Diagnostic Device | USB compliance testing device |
E0h | Interface | Wireless Controller | Wi-Fi adapter, Bluetooth adapter |
EFh | Both | Miscellaneous | ActiveSync and Palm sync device |
FEh | Interface | Application Specific | IrDA Bridge |
FFh | Both | Vendor Specific | (This class code indicates that the device needs vendor specific drivers.) |
This base class is defined to be used in Device Descriptors to indicate that class information should be determined from the Interface Descriptors in the device. There is one class code definition in this base class. All other values are reserved.
This value is also used in Interface Descriptors to indicate a null class code triple.
Base Class |
SubClass |
Protocol |
Meaning |
00h |
00h |
00h |
Use class code info from Interface Descriptors |
This base class is defined for Audio capable devices that conform to the Audio Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved.These class codes may only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
01h |
xxh |
xxh |
Audio device |
This base class is defined for devices that conform to the Communications Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. Note that the Communication Device Class spec requires some class code values (triples) to be used in Device Descriptors and some to be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
02h |
xxh |
xxh |
Communication device class |
This base class is defined for devices that conform to the HID Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
03h |
xxh |
xxh |
HID device class |
This base class is defined for devices that conform to the Physical Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
05h |
xxh |
xxh |
Physical device class |
This base class is defined for devices that conform to the Imaging Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved.
Base Class |
SubClass |
Protocol |
Meaning |
06h |
01h |
01h |
Still Imaging device |
This base class is defined for devices that conform to the Printer Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
07h |
xxh |
xxh |
Printer device |
This base class is defined for devices that conform to the Mass Storage Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
08h |
xxh |
xxh |
Mass Storage device |
This base class is defined for devices that are USB hubs and conform to the definition in the USB specification. That specification defines the complete triples as shown below. All other values are reserved. These class codes can only be used in Device Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
09h |
00h |
00h |
Full speed Hub |
01h |
Hi-speed hub with single TT |
||
02h |
Hi-speed hub with multiple TTs |
This base class is defined for devices that conform to the Communications Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
0Ah |
xxh |
xxh |
CDC data device |
This base class is defined for devices that conform to the Smart Card Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values.Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
0Bh |
xxh |
xxh |
Smart Card device |
This base class is defined for devices that conform to the Content Security Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
0Dh |
00h |
00h |
Content Security device |
This base class is defined for devices that conform to the Video Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
0Eh |
xxh |
xxh |
Video device |
This base class is defined for devices that conform to the Personal Healthcare Device Class Specification found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes should only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
0Fh |
xxh |
xxh |
Personal Healthcare device |
The USB Audio/Video (AV) Device Class Definition describes the methods used to communicate with devices or functions embedded in composite devices that are used to manipulate audio, video, voice, and all image- and sound-related functionality. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
10h |
01h
02h
03h
|
00h |
Audio/Video Device – AVControl Interface |
00h |
Audio/Video Device – AVData Video Streaming Interface |
||
00h |
Audio/Video Device – AVData Audio Streaming Interface |
This base class is defined for devices that diagnostic devices. There is currently only one value defined. All other values are reserved. This class code can be used in Device or Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
DCh |
01h |
01h |
USB2 Compliance Device. Definition for this device can be found athttp://www.intel.com/technology/usb/spec.htm |
This base class is defined for devices that are Wireless controllers. Values not shown in the table below are reserved. These class codes are to be used in Interface Descriptors, with the exception of the Bluetooth class code which can also be used in a Device Descriptor.
Base Class |
SubClass |
Protocol |
Meaning |
E0h |
01h |
01h |
Bluetooth Programming Interface. Get specific information fromwww.bluetooth.com. |
02h |
UWB Radio Control Interface. Definition for this is found in the Wireless USB Specification in Chapter 8. |
||
03h |
Remote NDIS. Information can be found at:http://www.microsoft.com/windowsmobile/mobileoperators/default.mspx |
||
04h
|
Bluetooth AMP Controller. Get specific information fromwww.bluetooth.com. |
||
2h |
01h |
Host Wire Adapter Control/Data interface. Definition can be found in the Wireless USB Specification in Chapter 8. |
|
02h |
Device Wire Adapter Control/Data interface. Definition can be found in the Wireless USB Specification in Chapter 8. |
||
03h |
Device Wire Adapter Isochronous interface. Definition can be found in the Wireless USB Specification in Chapter 8. |
This base class is defined for miscellaneous device definitions. Values not shown in the table below are reserved. The use of these class codes (Device or Interface descriptor) are specifically annotated in each entry below.
Base Class |
SubClass |
Protocol |
Meaning |
|
EFh |
01h |
01h |
Active Sync device. This class code can be used in either Device or Interface Descriptors. Contact Microsoft for more information on this class. |
|
02h |
Palm Sync. This class code can be used in either Device or Interface Descriptors. |
|||
02h |
01h |
Interface Association Descriptor. The usage of this class code triple is defined in the Interface Association Descriptor ECN that is provided onwww.usb.org . This class code may only be used in Device Descriptors. |
||
02h |
Wire Adapter Multifunction Peripheral programming interface. Definition can be found in the Wireless USB Specification in Chapter 8. This class code may only be used in Device Descriptors |
|||
03h |
01h |
Cable Based Association Framework. This is defined in the Association Model addendum to the Wireless USB specification. This class code may only be used in Interface Descriptors. |
||
04h |
01h |
RNDIS over Ethernet. Connecting a host to the Internet via Ethernet mobile device. The device appears to the host as an Ethernet gateway device. This class code may only be used in Interface Descriptors. |
||
02h |
RNDIS over WiFi. Connecting a host to the Internet via WiFi enabled mobile device. The device represents itself to the host as an 802.11 compliant network device. This class code may only be used in Interface Descriptors. |
|||
03h |
RNDIS over WiMAX Connecting a host to the Internet via WiMAX enabled mobile device. The device is represented to the host as an 802.16 network device. This class code may only be used in Interface Descriptors. |
|||
04h |
RNDIS over WWAN Connecting a host to the Internet via a device using mobile broadband, i.e. WWAN (GSM/CDMA). This class code may only be used in Interface Descriptors. |
|||
05h |
RNDIS for Raw IPv4 Connecting a host to the Internet using raw IPv4 via non-Ethernet mobile device. Devices that provide raw IPv4, not in an Ethernet packet, may use this form to in lieu of other stock types. This class code may only be used in Interface Descriptors. |
|||
06h |
RNDIS for Raw IPv6 Connecting a host to the Internet using raw IPv6 via non-Ethernet mobile device. Devices that provide raw IPv6, not in an Ethernet packet, may use this form to in lieu of other stock types. This class code may only be used in Interface Descriptors. |
|||
07h |
RNDIS for GPRS Connecting a host to the Internet over GPRS mobile device using the device’s cellular radio |
|||
05h |
00h |
USB3 Vision Control Interface |
Machine Vision Device conforming to the USB3 Vision specification. This standard covers cameras and other related devices that are typically used in machine vision, industrial, and embedded applications. Reference:http://visiononline.org/ This class code may only be used in Interface Descriptors. |
|
01h |
USB3 Vision Event Interface |
|||
02h |
USB3 Vision Streaming Interface |
This base class is defined for devices that conform to several class specifications found on the USB-IF website. That specification defines the usable set of SubClass and Protocol values. Values outside of that defined spec are reserved. These class codes can only be used in Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
FEh |
01h |
01h |
Device Firmware Upgrade. Device class definition provided onwww.usb.org . |
02h |
00h |
IRDA Bridge device. Device class definition provided onwww.usb.org . |
|
03h |
00h |
USB Test and Measurement Device. Definition provided in the USB Test and Measurement Class spec found on www.usb.org . |
|
01h |
USB Test and Measurement Device conforming to the USBTMC USB488 Subclass Specification found on www.usb.org. |
This base class is defined for vendors to use as they please. These class codes can be used in both Device and Interface Descriptors.
Base Class |
SubClass |
Protocol |
Meaning |
FFh |
xxh |
xxh |
Vendor specific
|