UVC device appearing in windows but not showing in Linux?

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

cross mob
SaLa_1789541
Level 3
Level 3
5 likes given First like given

I have created a program which is used for sending the data from 32 bit GPIO to USB,

this USB device is described by the UVC descriptors (source files are attached below).

but when i dumped my program to FX3, it is appearing on windows and UVC device is created on it but it is not appearing in linux ubuntu or any other linux. Why is this happening?

Thanks for your help

0 Likes
1 Solution

Hello,

In order to implement the UVC class, the firmware must handle the class specific requests in addition to the descriptor file modifications. Since you have mentioned that you have modified the descriptors, initialization and callback function, I guess you would not have added the request handling. Kindly, refer to the AN75779 example firmware to handle the UVC class specific requests. The 'uvcAppEP0Thread' in the app note firmware handles these requests.

EDIT: Also, the 'Probe Control' structure needs to be passed to the host as a part of these requests.

Best regards,

Srinath S

View solution in original post

0 Likes
10 Replies
lock attach
Attachments are accessible only for community members.
SaLa_1789541
Level 3
Level 3
5 likes given First like given

Code attachment are given below

0 Likes

Hello,

Please try using a USB2.0 cable or modify the below statement in the firmware.

     CyU3PConnectState(CyTrue, CyFalse);

This would put the device into USB2.0 mode. Kindly, use the lsusb command in Linux Ubuntu to see if the device is detected or not.

Best regards,

Srinath S

0 Likes
SaLa_1789541
Level 3
Level 3
5 likes given First like given

I have tried by editing my code with

CyU3PConnectState(CyTrue, CyFalse);

but still i am not getting video device in linux

0 Likes

Hello,

- Can you please post the screenshot of the lsusb command in Ubuntu?

- Also, please let me know if you are using a PC or a virtual machine for Ubuntu.

Best regards,

Srinath S

0 Likes

My HOST machine is ubuntu and i am using virtual machine on it which is windows

Screenshot from 2018-08-07 10-48-15.png

0 Likes

Hello,

- VID/PID - 0x04B4/0x00F8 corresponds to the USB Video Device in case you have used the AN75779 example code as base.

- Kindly, check using the ls command in the /dev directory and look for video0 device.

Best regards,

Srinath S

0 Likes

I am not getting video0 device i am attaching my screenshotScreenshot from 2018-08-07 11-22-01.png

0 Likes

Hello,

Are you using AN75779 example firmware or is it custom?

Best regards,

Srinath S

0 Likes

I have done some modification, i have taken two examples as a reference.

from GpiftoUsb i have took gpif input

and from UVC class example i took descriptors and their initialization and callback funtion

0 Likes

Hello,

In order to implement the UVC class, the firmware must handle the class specific requests in addition to the descriptor file modifications. Since you have mentioned that you have modified the descriptors, initialization and callback function, I guess you would not have added the request handling. Kindly, refer to the AN75779 example firmware to handle the UVC class specific requests. The 'uvcAppEP0Thread' in the app note firmware handles these requests.

EDIT: Also, the 'Probe Control' structure needs to be passed to the host as a part of these requests.

Best regards,

Srinath S

0 Likes