UVC based on CX3 with Linux - Second SET request fails while still working at the first | Cypress Semiconductor
UVC based on CX3 with Linux - Second SET request fails while still working at the first
I struggle to get a firmware for an UVC Camera with CX3 chipset working on Linux. I follow the UVC Spec 1.1 and the Compliance Tests says "OK".
Linux triggers a 'Set Commit Control' request when an application trys to open the camera. So I use CyU3PUsbGetEP0Data to read the data from EP0 and then I have to configure the MIPI interface, NAK the bulk video endpoint, reset the DMA channel etc. I also have to configure the sensor for the requested resolution and restart the capturing.
While I am doing all this Linux is sending a 'Set Probe Control' request, because CyU3PUsbGetEP0Data sends the status change for EP0 immediately. The second set request fails. So the camera is not working at all under Linux.
Under Windows and MacOS there is no 'Set Probe Control' request straight after the 'Set Commit Control'. The camera works fine.
Does anyone has an idea how to solve that with Linux or any hints? Thanks.
Atteched is a schematic flow what I am doing at these 2 requests.