USB device classes

26 USB classes. The class (e.g. 03 for HID or 08 for mass storage) decides which generic driver handles a USB device without a vendor driver.

CodeNameClass drivers (Linux)
00Defined at interface level
01Audiosnd_usb_audio
02Communications (CDC)cdc_acm, cdc_eem, cdc_ether, cdc_mbim, cdc_ncm, cdc_wdm, rndis_host
03Human interface device (HID)usbhid
05Physical interface device
06Imaging
07Printerusblp
08Mass storageuas, usb_storage
09Hubusbcore
0aCDC data
0bChip/smart card
0dContent security
0eVideouvcvideo
0fPersonal healthcare
10Audio/video
11Billboard
12USB Type-C bridge
13Bulk display
14MCTP over USB
3cI3C
58Xboxxpad
dcDiagnostic
e0Wireless controllerbtusb, rndis_host
efMiscellaneousrndis_host
feApplication specificir_usb, usbtmc
ffVendor specific