Wednesday, October 5, 2011

A brief introduction to Linux USB drivers (2)

This is the second part for the USB under Linux. The first part is here: http://jianggmulab.blogspot.com/2011/03/brief-introduction-to-linux-usb-drivers.html

Following are excerpts from LDD3.

Endpoints: the most basic form of USB communication. It has four types: control, interrupt, bulk, and isochronous.

Interfaces: may include many endpoints. Each interface handles one logical USB functions, such as a mouse, a keyboard or a audio stream.

Configurations: A USB device can have multiple configurations and switch between them. A single configuration can be enabled only at one point in time.

So to summarize, USB devices are quite complex and are made up of lots of different
logical units. The relationships among these units can be simply described as follows:
• Devices usually have one or more configurations.
• Configurations often have one or more interfaces.
• Interfaces usually have one or more settings.
• Interfaces have zero or more endpoints.

No comments: