[<<][usb][>>][..]
Sat Aug 31 12:24:06 EDT 2013

Staapl USB ACM serial driver

The Staapl descriptor language might be too abstract.

Overall, when dealing with design-by-commitee specs, it seems best to
just keep the structure definitions as close as possible to what is
found in the documents.


The ACM needs a couple of descriptors:

- There are two interface descriptors

- The descriptor list found in
  at91lib/usb/device/cdc-serial/CDCDSerialDriverDescriptors.c :

  - CDC Abstract Control Model

  - Call manageement

  - Abstract Control Management



What I do not understand:

- Where to add class-specific descriptors
- How are these distinguished from USB standard descriptors?
- Are all descriptors simply concatenated?


It seems the host just does these:
- Device
- Configuration (which has all interfaces concatenated)
- String

It seems that GET_DESCRIPTOR isn't called for INTERFACE, at least in
the Staapl USB firmware this isn't implemented.

Found an answer[2]:

  Set Descriptor/Get Descriptor is used to return the specified
  descriptor in wValue. A request for the configuration descriptor
  will return the device descriptor and all interface and endpoint
  descriptors in the one request.

    Endpoint Descriptors cannot be accessed directly by a
    GetDescriptor/SetDescriptor Request.

    Interface Descriptors cannot be accessed directly by a
    GetDescriptor/SetDescriptor Request.

    String Descriptors include a Language ID in wIndex to allow for
    multiple language support.


  
[1] http://www.lvr.com/usb_virtual_com_port.htm
[2] http://www.beyondlogic.org/usbnutshell/usb6.shtml



[Reply][About]
[<<][usb][>>][..]