LIBUSB_CONTROL_TRANSFER on Infineon Cypress FX3

225 Views Asked by At

I am trying to send a control transfer using int err = libusb_control_transfer(_handle, 0x40, 42, 0x1234, 0, data, length, 1000); I keep getting LIBUSB_TRANSFER_TIMED_OUT, I am not sure why I have looked all over but no luck. Does anyone know how to fix this error or have a link to a solution or even an example of a working control transfer?

1

There are 1 best solutions below

0
Ramoliya.Biren On

Will get LIBUSB_TRANSFER_TIMED_OUT when the Transfer timed out, so first you can check if the ACK by USB device or not or you can change the timeout from 1000 to a high number for the test.

You can log to the FX3 side to check device gets this request or not.

And you can check USB traces using a USB analyzer (like Wireshark) to understand the status of the USB control transfer.

also, https://community.infineon.com/t5/USB-superspeed-peripherals/bd-p/usb-superspeed-peripherals can help you to debug your FW code.