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

USB superspeed peripherals Forum Discussions

ViKu_2048416
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

Hi,

For my initial evaluation of USB3 Vision, I am using the source code shared in the forum. Using that source code, I am able to enumerate the device as a USB3 Vision device, but I cannot connect to any GenICAM application to test the streaming. Any guidance on this would be appreciated.

Thanks in Advance,

Vigneshkumar R.

0 Likes
1 Solution

Hello Vigneshkumar,

Please find the u3v firmware (from the thread) with slight modifications.

With the attached firmware the device comes up in ebus player. But to load the device, the requests from the host on the CMD endpoint should be handled and responded onto the RSP endpoint.

Please note that in the current firmware, the processing of command is directly done in the for loop of thread entry function. But you can set an event in DMA callback for CMD DMA channel and then handle the requests in the for loop after calling get event Api.

The firmware doesn't support set feature and clear feature requests. Please modify the firmware to handle those requests.

Please let me know if you need any help in modifications

Regards,
Rashi

View solution in original post

0 Likes
16 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Please confirm if you are referring to the firmware attached in this post  FX3 application note for USB3 Vision - Infineon Developer Community  

If yes, please let me know if you are using the XML generated for your sensor module. Please refer to this thread  Solved: Re: Use FX3 design USB3 Vision camera, how to prop... - Infineon Developer Community  

Regards,
Rashi
0 Likes

Hi Rashi,

The source code I am using is downloaded from the thread that you mentioned in your previous reply. I just want to transfer static data from the device to the application for now. So that I am going to change the XML file now. If I install Labview SDK I am able to load the driver for the device and it successfully enumerated as USB3Vision camera after that if I try to select the device from Labview application I am not able to select the device. Please refer to the screen shots below

ViKu_2048416_0-1651744587239.pngViKu_2048416_1-1651744602900.pngViKu_2048416_2-1651744615086.png

I guess I am missing some basic thing, could you please guide me to overcome this issue.

Thanks and Regards,

Vigneshkumar R.



 

0 Likes

Hello Vigneshkumar,

It seems that the issue is driver binding. 

Can you check if the latest driver version is binded to the device?

Regards,
Rashi
0 Likes

Hi Rashi,

It was the latest version that I installed. Is it necessary to use an older version? If so, can you explain why? A screenshot of the version I am using is attached below. 

ViKu_2048416_0-1652083024060.png

Thanks and Regards,

Vigneshkumar R.

 

0 Likes

Hi Rashi,

 Are there any other details you need from my side?  If so, please let me know.

Thanks and Regards,

Vigneshkumar R.

0 Likes

Hi Rashi,

Has the USB3 Vision firmware been tested in any of the GenICam applications? If so, please let me know the details, that will be enough for me.

Regards,

Vigneshkumar R.

 

0 Likes

One more thing, does this firmware pass the USB3Vision compliance test?  

0 Likes

Hello Vigneshkumar,

Is it possible for you to test the firmware with eBus Player? It seems that the firmware shared in the post is a test firmware and not an example project. You need to make changes to the firmware according to the XML generated by you. 

Please let me know if the device is seen/detected in the host application.

Regards,
Rashi
0 Likes

Hi Rashi,

I have installed eBus player, now the device is enumerated successfully as below.

ViKu_2048416_0-1652429711624.png

But it is not detected in the host application, please find the screenshot below for your reference,

ViKu_2048416_1-1652429810318.png

 

Are there any other working examples besides this test firmware? I'd be grateful if you could provide one.

Thanks and Regards,

Vigneshkumar R.

0 Likes

Hi Vignesh kumar,

Unfortunately, we do not have example for this.

If possible, can you share your firmware so that I can reproduce the issue at my end

Regards,
Rashi
0 Likes

Hi Rashi,

I am using the firmware that was shared in the thread that you mentioned only. I have not modified anything in that. Even with that firmware, the device is not shown in the eBus Player on my PC. I am testing on Windows 10. 

Regards,

Vigneshkumar R. 

 

0 Likes

Hello Vigneshkumar,

Please find the u3v firmware (from the thread) with slight modifications.

With the attached firmware the device comes up in ebus player. But to load the device, the requests from the host on the CMD endpoint should be handled and responded onto the RSP endpoint.

Please note that in the current firmware, the processing of command is directly done in the for loop of thread entry function. But you can set an event in DMA callback for CMD DMA channel and then handle the requests in the for loop after calling get event Api.

The firmware doesn't support set feature and clear feature requests. Please modify the firmware to handle those requests.

Please let me know if you need any help in modifications

Regards,
Rashi
0 Likes

Hi Rashi,

Thanks a lot for your efforts. I will look into this further. 

Regards,

Vigneshkumar R.

 

0 Likes
ViKu_2048416
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

Hi Rashi,

I have tested the firmware that you have shared, and with that, I am facing an issue related to the power parameter. The device is enumerated in eBus player application now, but there is an issue related to the power parameter please check the below screenshot for reference,

ViKu_2048416_0-1654519200091.png

If I try to connect the device with this issue,  it fails with the below error.

ViKu_2048416_2-1654519377051.png

I have another vendor's USB3 Vision compliant device that does not experience this issue with the eBus player. So that I captured the communication between the host and another vendor's device, and I found there is a difference in responding to the Get Device Status request between our device and another vendor's device. Please refer the screenshots below,

Another Vendor's device response for Get Device Status (Denotes the device is self-powered). 

ViKu_2048416_3-1654520866788.png

Our device's response (Denotes self-powered but reserved bits were set to one).

ViKu_2048416_4-1654520935403.png

Does setting reserve bits cause this issue? That particular command does not reach the application layer in our firmware so I cannot change the value and check. Is it possible for you to change that value or allow that command to reach the application layer so that I can change the value and check the behavior? Please guide us to over come this issue.

Thanks and Regards,

Vignesh Kumar R.

 

0 Likes

Hello Vigneshkumar,

The "ensure correct power" could be due to the device not responding to the U3V requests sent by the host. Please confirm if you are re-opening the eBus Player when the device is freshly programmed. When you open the eBus Player freshly after programming FX3 with firmware, you will see some of the U3V requests from the host. As the shared firmware is not handling the requests properly, the manifest read error message is seen. As suggested earlier, the firmware will need modifications as mentioned in my previous response.

The issue is not due to GET_STATUS response. The GET_STATUS  request from the host is issued twice - once with target as interface and other one with target as device. When the device is the target, the FX3 library handles the request when Fast enumeration is enabled by setting second parameter of CyU3PUsbRegisterSetupCallback as CyTrue. IF you want to handle the control request from firmware, you can set this parameter as CyFalse and handle it in the USB Setup Callback

Regards,
Rashi
0 Likes

Thank you, Rashi, for the detailed explanation. 

Regards,

Vigneshkumar R.

0 Likes