FX3 UVC Linux

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

cross mob
Anonymous
Not applicable

Hello,

I am using the USB3 Development Kit by Lattice (Lattice USB3 Video Bridge Development Kit - Lattice Semiconductor ). I plan to connect it ultimatly to a raspberry Pi in order to Stream the HDMI Input.

While I am able to run it without any Problems as a videoinput on a Windows Device, it wont work with any Linux Device I tried.

I configured the CX3 output to 640x480p@60Hz. It was possible to use the Windows USB 2.0 Port with.

First I tried to get it work directly with the Rapberry Pi 3b+ running Raspbian (debian stretch), where it lists as video input ( $ ls /dev/video* ) but is not possible to use any further.

Second I tried to connect the Development Kit on PC running Ubuntu 16.04, here it is not even recognized as a video Input. Am I missing drivers?

I always though, anything with the cx3 should run "out of the box" if it is configured as a UVC-Device?

As I said, I would really like to get it working with the Raspberry Pi, but maybe its easier to start with the PC?

Best Regards,

Vitus

0 Likes
1 Solution

Hi,

Please try to stream the video using "cyfxuvcinmem" FW example that comes along with FX3SDK. I tried it on Ubuntu with USB 2.0, streaming is done on VLC media player and it is working fine. You can try it first so that we can debug the issue.

Link for the firmware:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\uvc_examples\cyfxuvcinmem

Thanks & Regards

Abhinav

View solution in original post

0 Likes
10 Replies
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello Vitus,

- Please try on a Ubuntu PC on a USB 2.0 port and check if it is working fine.

- Also, kindly, confirm if you are using FX3 or the CX3 device and if any app note firmware example is being used.

Best regards,

Srinath S

0 Likes
Anonymous
Not applicable

Hello Srinath,

Sorry about the confusion, I am using an FX3 Device. I am using software supplied by Lattice (http://www.latticesemi.com/en/FileExplorer?media={9B5BD0C2-27B1-4FBB-BF93-8729968DE1D2}&document_id=...

Also I can only try it on an Ubuntu PC with 3.0 Ports at the moment, because my available PC does not have any USB 2.0 Ports

Best Regards,

Vitus

0 Likes

Hello Vitus,

- I wanted to know if you are using the firmware from any of the Cypress provided examples. For your information, AN75779 App Note provides an example firmware for UVC application.

- Also, can you please disable the USB 3.0 mode in your device using the CyU3PUsbConnectState() API. This would cause the device to function in USB2.0 mode. Kindly, check if the device is recognized on the Ubuntu PC under this condition.

Best regards,

Srinath S

0 Likes
Anonymous
Not applicable

Hello Srinath,

I used an USB 2.0 Cable in order to establish an USB 2.0 connection. On the Ubuntu Device it is now recoginized as /dev/video0 but same as with the Raspberry I cant open the Stream.

The used Firmware was developed by a third party.

Best Regards,

Vitus

0 Likes
lock attach
Attachments are accessible only for community members.

Hi Vitus,

Are you able to stream the Video on Ubuntu 16.0.4 system with USB 2.0 cable?

Could you please delineate about your application.

I assume that you are streaming OUT video from third party video source and streaming it to Raspberry Pi via Lattice board. Please refer to the attached figure and confirm my assumption.

Thanks & Regards

Abhinav

0 Likes
Anonymous
Not applicable

Hi Abhinav,

Excactly, My Setup is:

Videosource     ---HDMI->     LatticeBoard     ---USB->     Raspberry Pi (Running Raspbian Stretch)

and

Videosource     ---HDMI->     LatticeBoard     ---USB->     PC (Running Ubuntu 16.04.4)

My intention is to stream the incoming video then as a media stream in my network.

I was not able to stream the Video with a USB2.0 cable on the Ubuntu system.

Best Regards,

Vitus

0 Likes

Hi Vitus,

Please check the bandwidth of video that you are trying to stream via USB 2.0. It has to be less than the maximum bandwidth of USB 2.0 i.e 480 MB/S. If possible, try to decrease the FPS of the video that you are streaming.

Thanks & Regards

Abhinav

0 Likes
Anonymous
Not applicable

Hello Abhinav,

decreasing the bandwidth does not change the outcome (I use 800x600 25fps).

I get the following Errorcode:

v4l2: unable to open '/dev/video0': Cannot assign requested address

Any suggestions about that?

Best Regards,

Vitus

0 Likes

Hi,

Please try to stream the video using "cyfxuvcinmem" FW example that comes along with FX3SDK. I tried it on Ubuntu with USB 2.0, streaming is done on VLC media player and it is working fine. You can try it first so that we can debug the issue.

Link for the firmware:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\uvc_examples\cyfxuvcinmem

Thanks & Regards

Abhinav

0 Likes
Anonymous
Not applicable

Have almost the same thing:

archlinux x86_64, fx is recognized as video device (got two devices /dev/video*), but cannot do anything with it. Tried cheese, vlc, guvcview.

All of them see device, but cannot play something from it.

I'm sending data from FPGA according to manual with according levels, resulutions, fps etc. It looks like OK on oscilloscope. Tried 1 fps with the same result.

Cannot debug it, because cannot run ezUsbSuite.

0 Likes