SAM3S8/SD8 Software Package: Composite Host Drivers

SAM3S8/SD8 Software Package 1.2

# Composite Host Drivers

This page describes host support drivers for USB Composite Devices.

Usually the Operating System supports the composite device via two part of drivers - composite driver and the function drivers depending on the functions that are integrated. The OS will recognize the USB device as a composite device first then distinguish the included functions and install their driver modules one by one. Then the functions will appear as normal separated devices for OS to access.

Most OSs now include generic drivers for a wide variety of USB classes. This makes developing a function device simpler, since the host complexity is now handled by the OS. Manufacturers can thus concentrate on the device itself, not on developing specific host drivers.

As described before in USB Composite Basics, the IAD of multi-interface USB devices is a new feature introduced for composite device, there may be issues about how existing USB OS implementations will support devices with IAD. For Linux, it is supported now. For Windows you can refer to Support for USB Interface Association Descriptor in Windows, but patches may needed, only Windows XP with some hot fix or service pack 3 or later updates fully support this feature now (See Windows Driver Update For Composite).

Here is a brief list of the various function implementations supported by several OSs (for CDC maybe additional .inf file is required to install the device but the driver files themselves are from windows source disk):

- Windows (see Windows Supported USB Classes for more)
  - MSD: USB Storage disks
  - HID: USB Keyboard, Mouse, etc.
  - Audio: USB Desktop speaker, recorder.
  - CDC: Abstract Control Model, Remote NDIS ...
- Linux (see Linux Device Driver Support for more)
  - MSD: USB Storage disks
  - HID: USB Keyboard, Mouse, etc.
  - CDC: Abstract Control Model
  - CDC: Ethernet Model

Please refer to the sections about the functions or the class implement application notes for details about the OS compatibility on the device driver.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines