FX3 - Isosrcsnk FW - isod3 not working in xhci host controller

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,

I'm working on a FX3 firmware using isosrcsnk (usb2.0), when I set the HS device descriptor to isod3 using this line in  cyfxisosrcsink.c:

    /* Endpoint descriptor for producer EP */

    0x07,                           /* Descriptor size */

    CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint descriptor type */

    CY_FX_EP_PRODUCER,              /* Endpoint address and description */

    CY_U3P_USB_EP_ISO,              /* ISO endpoint type */

    0x00,0x14,  /* Max packet size = 1024 bytes, mult CY_FX_ISO_PKTS */

    0x01,                           /* Servicing interval for data transfers */

    /* Endpoint descriptor for consumer EP */

    0x07,                           /* Descriptor size */

    CY_U3P_USB_ENDPNT_DESCR,        /* Endpoint descriptor type */

    CY_FX_EP_CONSUMER,              /* Endpoint address and description */

    CY_U3P_USB_EP_ISO,              /* ISO endpoint type */

    0x00,0x14,  /* Max packet size = 1024 bytes, mult CY_FX_ISO_PKTS */

    0x01                            /* Servicing interval for data transfers */

I get a refusal from Host controller when I do set_Altarnate_Setting 1 using libusb1.0 telling me "no available bandwitdh" .

this cannot be the case becuse there aren'nt any devices connected to the host controller that can take much bandwidth, only keyboard and mouse.

this happenes only when using xhci host controller. older ehci works fine.

am I doing anything wrong ?

thanks,

Tal

0 Likes
2 Replies
Anonymous
Not applicable

Hi!,

The endpoint descriptors are correct.

We have seen this issue ('Insufficient bandwidth') with some of the Host Controllers. Can you test with another PC or reduce the MULT to 2 (i.e. CY_FX_ISO_PKTS =2)

0 Likes
Anonymous
Not applicable

Hi,

when testing it with ehci controllers I could not see the issue.

testing it on other PC's with xhci the problem remains.

when setting CY_FX_ISO_PKTS to 2 -  I can see ISOD2 transfers properly.

I need to use the total throughput of the device so ISOD3 is important to me

0 Likes