Sat Sep 14 13:02:21 EDT 2013

CDC SETUP requests

After getting all descriptors and receiving SET_CONFIGURATION, host
sends a SETUP request with the following data:

21 22 00 00 00 00 00 00

which seems to be incorrectly handled.  frome[1]:
21 = Class request to interface 0.
22 = Request type

/// SetLineCoding request code.
#define CDCGenericRequest_SETLINECODING             0x20
/// GetLineCoding request code.
#define CDCGenericRequest_GETLINECODING             0x21
/// SetControlLineState request code.
#define CDCGenericRequest_SETCONTROLLINESTATE       0x22

It seems best to just disable this in the capabilities:
See [2] p36

D7..D4: RESERVED (Reset to zero)

D3: 1 - Device supports the notification    Network_Connection.

D2: 1 - Device supports the request    Send_Break

D1: 1 - Device supports the request combination of Set_Line_Coding,
        Set_Control_Line_State, Get_Line_Coding, and the notification

D0: 1 - Device supports the request combination of Set_Comm_Feature,
        Clear_Comm_Feature, and Get_Comm_Feature.

Funny though, setting this byte to 0 still causes these requests to
come in.  Ignoring them seems fine, i.e. just sending a 0-size IN0.

[1] http://www.beyondlogic.org/usbnutshell/usb6.shtml
[2] http://www.usb.org/developers/devclass_docs/usbcdc11.pdf