UVC Endpoint companion descriptors
michael.macdougal Aug 18, 2017 3:54 PMI am working to create firmware for USB Video class, and I am using the USB VideoClassBulk and the HD example to send uncompressed data. So far, I seem to be succesful in transmitting test patterns (using the DMA as the source), but when I use USB Device Viewer (from Visual Studio) to view the USB descriptors, I see some errors related to the Endpoint compansion descriptor. Here is the suspect code:
/* Video control status interrupt endpoint descriptor */
0x07, /* Descriptor size */
CY_U3P_USB_ENDPNT_DESCR, /* Endpoint descriptor type */
CY_FX_EP_CONTROL_STATUS, /* Endpoint address and description */
CY_U3P_USB_EP_INTR, /* Interrupt end point type */
0x00,0x04, /* Max packet size = 1024 bytes */
0x01, /* Servicing interval */
/* Super speed endpoint companion descriptor */
0x06, /* Descriptor size */
CY_U3P_SS_EP_COMPN_DESCR, /* SS endpoint companion descriptor type */
0x00, /* Max no. of packets in a Burst : 1 */
0x00, /* Mult.: Max number of packets : 1 */
0x00,0x04, /* Bytes per interval : 1024 */
This is what USB Device Viewer shows:
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x82 -> Direction: IN - EndpointID: 2
bmAttributes: 0x03 -> Interrupt Transfer Type, Usage Type = Periodic
*!*ERROR: Endpoint Companion Descriptor missing
wMaxPacketSize: 0x0400
bInterval: 0x01
*!*CAUTION: Unknown bDescriptorSubtype
===>Descriptor Hex Dump<===
bLength: 0x06
bDescriptorType: 0x30
06 30 00 00 00 04
Any thoughts for why this is happening? I tried this with the supplied code, and I see the same error.
As I said, I am still getting video, so this is not a fatal error, but I get concerned when I see these things. Any ideas?
Thanks
MM