- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried to replace all the UAC1 descriptors with UAC2 descriptors, but Windows says "This device cannot start. (Code 10)" and tdd.exe says *** ERROR: Descriptor has errors! ***
For example:
Endpoint Descriptor:
------------------------------
0x09 bLength
0x05 bDescriptorType
*** ERROR: Invalid descriptor length 0x09
Hex dump:
0x09 0x05 0x86 0x03 0x02 0x00 0x1E 0x00 0x00
It looks like this was length 9 in UAC1 (Table 4-17: Standard AC Interrupt Endpoint Descriptor) but is now supposed to be length 7 (Table 4-25: Standard AC Interrupt Endpoint Descriptor). The bRefresh and bSynchAddress fields have been removed. But USBFS component does not have "Endpoint Descriptor 2.0", it just has "Endpoint Descriptor" with bRefresh and bSynchAddress fields that cannot be turned off?
It has similar errors for other interfaces and endpoints:
AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
*** ERROR: Invalid descriptor size 0x07
Hex dump:
0x07 0x24 0x01 0x01 0x01 0x01 0x00
Endpoint Descriptor:
------------------------------
0x09 bLength
0x05 bDescriptorType
*** ERROR: Invalid descriptor length 0x09
Hex dump:
0x09 0x05 0x01 0x05 0x86 0x01 0x01 0x00 0x88
AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
*** ERROR: Invalid descriptor size 0x07
Hex dump:
0x07 0x25 0x01 0x01 0x00 0x00 0x00
Endpoint Descriptor:
------------------------------
0x09 bLength
0x05 bDescriptorType
*** ERROR: Invalid descriptor length 0x09
Hex dump:
0x09 0x05 0x88 0x11 0x03 0x00 0x04 0x03 0x00
- Labels:
-
PSoC Creator & Designer Software
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @JoBr_1593366 ,
Can you please let us know which device are you using? PSoC devices only support USB 2.0 which means full speed device capability is supported. There could be some backward compatibility issue that is happening here.
Please let us know in case of any further query.
Best Regards,
Aashita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
PSoC 4200L and PSoC3 CY8C34
USB version, USB speed, and USB Audio Class are each different things. Your example code is already USB 2.0:
------------------------------
Connection Information:
------------------------------
Device current bus speed: FullSpeed
…
------------------------------
Device Descriptor:
------------------------------
…
0x0200 bcdUSB
…
AC Interface Header Descriptor:
------------------------------
…
0x0100 bcdADC
In other words, currently your example code (and our products based on it) is:
- USBFS, USB 2.0, UAC1
I would like to change it to
- USBFS, USB 2.0, UAC2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I missed the AS General 2.0 descriptors. Now that I've updated them, the "AS Interface Descriptor" problem is gone.
But the Endpoint Descriptors are still all saying "Invalid descriptor size".
I can manually edit them in USB_descr.c and manually edit the sizes to be consistent, and it no longer shows the "Descriptor has errors!" message.
So I think when UAC2 was added in USBFS 2.0 ("Audio Class 2.0 class support"), it was forgotten to add "Endpoint Descriptor 2.0" and "AS Endpoint Descriptor 2.0" and this still needs to be added to the USBFS component.
Or else there is some setting that I missed that automatically changes these?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Looks like it's also missing the "Type I Format Type Descriptor". Should be listed as "AS Format Type I 2.0".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you at least confirm that the functionality doesn't exist and I'm not missing something? These UAC2 descriptors were added in USBFS component version 2.0, over 10 years ago. Has no one ever actually tested that they work in all that time?
The website says "The best way to reach out to our Applications Engineers is through our Developer Community" yet it is rare to get any response or solutions to anything posted on here. ☹️
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @JoBr_1593366 ,
Apologies for the delay caused. I was loaded with some engagements. Can you please attach the usb_descriptor.c of your application here? I have read your responses and wanted to go through your UAC2 descriptor.
Best Regards,
Aashita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can I email them to you? It's for a commercial product.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @JoBr_1593366 ,
Apologies for the delayed response. Yes! You can mail them to me. I will look into it.
Best Regards,
Aashita