CX3 UVC reset to bootloader after serveral frames

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

cross mob
BeCh_1049336
Level 1
Level 1
10 replies posted 5 replies posted 5 sign-ins

Hello,

I download my UVC firmware to RAM with control center, and preview the images with "WebcamViewer".

I encounter one problem, that is the device reset to "Cypress USB BootLoader" device after grabbing several frames and UVC device is gone.

May I ask for the help to solve this issue, is it a hardware issue or software issue?

Thanks.

0 Likes
1 Solution

Hello,

Please find the result when I tested the same with Denebola Kit:

pastedImage_0.png

There is no re-enumeration issue. This test was done to understand if the problem is on the hardware side or on the firmware side. As 2 different firmware showed the same issue, the problem should be on hardware side. The test that I performed on Denebola Kit confirms this. Please refer to Page 28 and 29 of the document AN70707. The link to the same can be found below:

https://www.cypress.com/file/139936/download

Please check if you have followed all the guidelines properly. As this issue can also be caused by bad cables, please try testing with different cables also.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna

View solution in original post

0 Likes
15 Replies
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

According to my understanding, you are able to stream the video properly. At some point of time, the device gets reset and re-enumerates as a bootloader device. Please confirm that you are not doing any action from the host while you see this behaviour and it occurs automatically. If not, please let me know when does this happen. Please let me know which firmware you are using? Is it a custom firmware or an SDK example project? Also, are you using a custom board or the Denebola RDK?

In addition to this, please check if the firmware calls the API CyU3PDeviceReset(CyFalse); and please share the debug logs.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hello Jayakrishna,

Here is the operation flow video to show it occurs automatically. The frame data is test pattern from sensor.

https://1drv.ms/v/s!Ahy9o0Y1Om6rlPcNSV4ah7qO9eNTgA?e=bG0ZYi

By the way, if I don't get streaming with tools, like Camera in window 10 or WebcamViewer, the device is always keep "CX3-UVC" in device manager.

I'm working on OPNOUS TOF sensor, and created the project with "Create New CX3 Configuration" tool as below.

abc.jpg

I checked all the project, "CyU3PDeviceReset" is not called anywhere, and I also tested in another computer, there is the same issue on the other computer.

What's your suggestion for next step?

Thank you.

0 Likes

Hello,

Please let me know the following:

1. As this issue occurs automatically, is it happening after a fixed amount of time from the point of starting video streaming? And is this time constant always?

2. Please elaborate the following statement in your previous response:

"By the way, if I don't get streaming with tools, like Camera in window 10 or WebcamViewer, the device is always keep "CX3-UVC" in device manager."

3. Please share the complete debug logs so that I can understand if anything is going wrong anywhere.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Hello Jayakrishna,

1. As this issue occurs automatically, is it happening after a fixed amount of time from the point of starting video streaming? And is this time constant always?

No, the time is not constant. In the log file, you can see the frame count is different in each streaming.

2. Please elaborate the following statement in your previous response:

"By the way, if I don't get streaming with tools, like Camera in window 10 or WebcamViewer, the device is always keep "CX3-UVC" in device manager."

It means if I don’t start the streaming (Press “Connect” button),

the CX3-UVC is always listed in device manager.

3. Please share the complete debug logs so that I can understand if anything is going wrong anywhere.

Debug logs are attached.

Best Regards,

Bert

0 Likes

EDITED

Hello,

I do not find any problems or any APIs failing in the debug logs. So, please share the complete project so that I can have a look into it and give some suggestions for you. Also, please share the USB traces using wireshark.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Hello Jayakrishna,

Here is the project.

Best Regards,

Bert

0 Likes

Hello,

Please let me know if you have followed all the steps correctly as mentioned in the following KBA for generating the project:

Steps to Setup up MIPI CSI Camera Solution with CX3 – KBA225748

Also, please let me know which version of FX3 SDK you are using. If you are not using the latest version of FX3 SDK, please download and use the latest version. The latest version of FX3 SDK is 1.3.4. You can download it from the following link:

https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

Please let me know if you have followed the KBA properly and using SDK 1.3.4 and still facing this issue.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hello Jayakrishna,

Actually I start the project by following this article.

The SDK is already latest version, 1.3.4.

I’m curious that even though MIPI configuration is not correct, the device should not be re-enumerate to bootloader, it should get no or incorrect data.

I proceed to check if there is any hardware issue, and let you know if I find any points.

Best Regards,

Bert

0 Likes

Hello,

From your responses, and also after going through the code and the debugprints, you are able to stream the video properly. Yes, your understanding from the previous response is correct. Even if the configuration is wrong or if you perform any mistake in the firmware, then it should not stream the video and not re-enumerate the device. This could mean that the problem is caused by the hardware. Please try using different cables for testing your board as this can also cause re-enumeration issues.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hello,

At beginning, I think MIPI signal or timing is not match to "CX3 MIPI Interface Configuration",  but from the result of CyU3PMipicsiGetErrors, all the error counts are zeros.

The received data size is also matching my expectation.

I don't know why UVC device suddenly disconnected after several frames without any error log.

a) I tried to decrease frame rate to 10 fps, the working period is longer than 30 fps, but the UVC device is disconnected eventually.

b) I changed to test on other computers, the result is the same.

c) I tried to do "DMA reset and GPIF II restart" from KBA, it's not working.

I'm still working on this issue.

0 Likes

Hello,

Please try the following test and let me know the result:

1. Reset the device.

2. Load the BulkSrcSink firmware to the device. This firmware comes along with FX3 SDK and can be found in the following location:

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

3. Open Streamer application. This application also comes along with FX3 SDK and can be found in the following location:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\cpp\streamer\x86\Release

4. Choose the endpoint as IN endpoint available from the dropdown and perform start.

Please let me know if the device is re-enumerating as Bootloader device after performing this test.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hello,

1. After download firmware from "cyfxbulksrcsink", the device is enumerating as "Cypress FX3 USB StreamerExample Device".

2. Perform "Start" in Streamer, device is re-enumerating as "Cypress FX3 USB BootLoader Devoice", and the log is shown in snapshot.

pastedImage_0.png

pastedImage_0.png

The phenomenon is similar with my firmware, what does the test result mean?

0 Likes

Hello,

Please find the result when I tested the same with Denebola Kit:

pastedImage_0.png

There is no re-enumeration issue. This test was done to understand if the problem is on the hardware side or on the firmware side. As 2 different firmware showed the same issue, the problem should be on hardware side. The test that I performed on Denebola Kit confirms this. Please refer to Page 28 and 29 of the document AN70707. The link to the same can be found below:

https://www.cypress.com/file/139936/download

Please check if you have followed all the guidelines properly. As this issue can also be caused by bad cables, please try testing with different cables also.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hello,

I think the board quality is the main root cause of re-enumerating issue.

We will do board revision to solve the issue.

Thanks for your support.

0 Likes

1. 如果换用其他的软件,比如 E-cam Viewer,MPC-HC等,是否也会播放一会儿视频后,就出现设备复位?

2. 你这边是否尝试过,换用其他的质量合格的USB 连接线,或者换接主机另外一个USB接口,或者换一台主机进行过测试?

3. 看你传的log,是传输328*744,16 bits/pixel 的图像吗?DMA buffer设置的多大?

0 Likes