Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > UVC Endpoint companion descriptors

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



UVC Endpoint companion descriptors
Moderator:
RSKV

Post Reply
Follow this topic



UVC Endpoint companion descriptors

MacD posted on 03 Jan 2013 12:36 PM PST
Member
2 Forum Posts

I 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




Re: UVC Endpoint companion descriptors

AssemblyRequired posted on 08 Jan 2013 06:21 AM PST
Top Contributor
37 Forum Posts

I think it's complaining about a missing *UVC* endpoint descriptor. See section 3.8.2.2 of the UVC 1.1 spec.

Steve 



Re: UVC Endpoint companion descriptors

MacD posted on 08 Jan 2013 09:33 AM PST
Member
2 Forum Posts

I think I found the issue.  USBView (a MS Windows product) is still catching up to Superspeed 3.0, and I don't think it knows what to do with endpoint companion descriptors.  Looking that the configuration view in USB control center (supplied by Cypress in FDK) for the same code above, and everything looks fine.  Will try to confirm with MS. 

MacD






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.