You are on page 1of 7

USB.org - Defined 1.

0 Class Codes

Search
Home About USB-IF Channel Press Developers Members Products

SuperSpeed USB Home > Developers > Defined 1.0 Class Codes

Wireless USB USB Class Codes


Hi-Speed USB November 17, 2009

USB On-The-Go and USB defines class code information that is used to identify a device’s functionality and to nominally load a device driver based on that
Embedded Host functionality. The information is contained in three bytes with the names Base Class, SubClass, and Protocol. (Note that ‘Base Class’ is used in
this description to identify the first byte of the Class Code triple. That terminology is not used in the USB Specification). There are two places on
Tools a device where class code information can be placed.One place is in the Device Descriptor, and the other is in Interface Descriptors. Some
USB-IF eStore defined class codes are allowed to be used only in a Device Descriptor, others can be used in both Device and Interface Descriptors, and some
can only be used in Interface Descriptors. The table below shows the currently defined set of Base Class values, what the generic usage is, and
Documents where that Base Class can be used (either Device or Interface Descriptors or both).
USB-IF Compliance
Program Base Class Descriptor Usage Description
USB FAQ 00h Device Use class information in the Interface Descriptors
01h Interface Audio
Events
02h Both Communications and CDC Control
Discussion Forum 03h Interface HID (Human Interface Device)
05h Interface Physical
Join USB-IF, Inc.
06h Interface Image
Resources 07h Interface Printer
08h Interface Mass Storage
09h Device Hub
0Ah Interface CDC-Data
0Bh Interface Smart Card
0Dh Interface Content Security
0Eh Interface Video
0Fh Interface Personal Healthcare
DCh Both Diagnostic Device
E0h Interface Wireless Controller

http://www.usb.org/developers/defined_class(第 1/7 页)2010-01-06 16:43:23


USB.org - Defined 1.0 Class Codes

EFh Both Miscellaneous


FEh Interface Application Specific
FFh Both Vendor Specific

Base Class 00h (Device)


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

Base Class 01h (Audio)


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

Base Class 02h (Communications and CDC Control)

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

Base Class 03h (HID – Human Interface Device)


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

http://www.usb.org/developers/defined_class(第 2/7 页)2010-01-06 16:43:23


USB.org - Defined 1.0 Class Codes

Base Class 05h (Physical)


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

Base Class 06h (Still Imaging)


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

Base Class 07h (Printer)


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

Base Class 08h (Mass Storage)


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

Base Class 09h (Hub)


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


00h Full speed Hub
09h 00h 01h Hi-speed hub with single TT
http://www.usb.org/developers/defined_class(第 3/7 页)2010-01-06 16:43:23
USB.org - Defined 1.0 Class Codes

02h Hi-speed hub with multiple TTs

Base Class 0Ah (CDC-Data)


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

Base Class 0Bh (Smart Card)


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

Base Class 0Dh (Content Security)


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

Base Class 0Eh (Video)


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

Base Class 0Fh (Personal Healthcare)


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.
http://www.usb.org/developers/defined_class(第 4/7 页)2010-01-06 16:43:23
USB.org - Defined 1.0 Class Codes

Base Class SubClass Protocol Meaning


0Fh xxh xxh Personal Healthcare device

Base Class DCh (Diagnostic Device)


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


USB2 Compliance Device. Definition for this device can be
DCh 01h 01h
found at http://www.intel.com/technology/usb/spec.htm

Base Class E0h (Wireless Controller)


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 SubClass Protocol Meaning


Class

01h Bluetooth Programming Interface. Get specific information from www.bluetooth.com.

02h UWB Radio Control Interface. Definition for this is found in the Wireless USB Specification in
Chapter 8.

01h 03h Remote NDIS. Information can be found at: http://www.microsoft.com/windowsmobile/


mobileoperators/default.mspx

04h Bluetooth AMP Controller. Get specific information from www.bluetooth.com.


E0h

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
2h
Specification in Chapter 8.

http://www.usb.org/developers/defined_class(第 5/7 页)2010-01-06 16:43:23


USB.org - Defined 1.0 Class Codes

03h Device Wire Adapter Isochronous interface. Definition can be found in the Wireless USB
Specification in Chapter 8.

Base Class EFh (Miscellaneous)


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


Active Sync device. This class code can be used in either
01h Device or Interface Descriptors. Contact Microsoft for more
01h information on this class.
02h Palm Sync. This class code can be used in either Device or
Interface Descriptors.
Interface Association Descriptor. The usage of this class
code triple is defined in the Interface Association Descriptor
01h ECN that is provided on www.usb.org . This class code may
EFh only be used in Device Descriptors.
02h
Wire Adapter Multifunction Peripheral programming
interface. Definition can be found in the Wireless USB
02h
Specification in Chapter 8. This class code may only be
used in Device Descriptors
Cable Based Association Framework. This is defined in the
Association Model addendum to the Wireless USB
03h 01h
specification. This class code may only be used in Interface
Descriptors.

Base Class FEh (Application Specific)


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


Device Firmware Upgrade. Device class definition provided
01h 01h
on www.usb.org .
IRDA Bridge device. Device class definition provided on
02h 00h
www.usb.org .

FEh

http://www.usb.org/developers/defined_class(第 6/7 页)2010-01-06 16:43:23


USB.org - Defined 1.0 Class Codes

USB Test and Measurement Device. Definition provided in


00h the USB Test and Measurement Class spec found on www.
usb.org .
03h
USB Test and Measurement Device conforming to the
01h USBTMC USB488 Subclass Specification found on www.
usb.org.

Base Class FFh (Vendor Specific)


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

Site sponsored by USB Implementers Forum, Inc., creators of USB technology. VTM Association Management | KAVI® where .orgs work
About Us | Privacy Statement

http://www.usb.org/developers/defined_class(第 7/7 页)2010-01-06 16:43:23

You might also like