cx3 under linux do not display

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

cross mob
steven
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

hi:

Cx3 has an image under windows, but under linux, don not  displayed ,using guvcview   uart log  display

  CX3_DMA_RESET_EVENT eventFlag = 24

CB failure

AplnStop:SMState = 0x7

AplnStrt:SMState = 0x1

bRType = 0x2, bRequest = 0x1, wValue = 0x0, wIndex = 0x83, wLength= 0x0

AplnStop:SMState = 0x1

bRType = 0x21, bRequest = 0x1, wValue = 0x100, wIndex = 0x1, wLength= 0x22

UsbCB: evtype=10

bRType = 0xA1, bRequest = 0x82, wValue = 0x100, wIndex = 0x1, wLength= 0x22

USB Setup CB:CyCx3UvcAppGetProbeControlData-CY_U3P_HIGH_SPEED

UsbCB: evtype=10

bRType = 0xA1, bRequest = 0x83, wValue = 0x100, wIndex = 0x1, wLength= 0x22

USB Setup CB:CyCx3UvcAppGetProbeControlData-CY_U3P_HIGH_SPEED

UsbCB: evtype=10

bRType = 0x21, bRequest = 0x1, wValue = 0x100, wIndex = 0x1, wLength= 0x22

UsbCB: evtype=10

bRType = 0xA1, bRequest = 0x81, wValue = 0x100, wIndex = 0x1, wLength= 0x22

USB Setup CB:CyCx3UvcAppGetProbeControlData-CY_U3P_HIGH_SPEED

UsbCB: evtype=10

bRType = 0x21, bRequest = 0x1, wValue = 0x200, wIndex = 0x1, wLength= 0x22

USB Setup CB:Set video resultion =1

USBStpCB:CyU3PMipicsiSetIntfParams ->MT9P031_RAW8_5M

AplnStrt:SMState = 0x1

UsbCB: evtype=10

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

From the logs you shared, it seems that there is DMA_RESET_EVENT. In default cx3 examples,this event is generally set due to two reasons:

1) When there is timeout: Timeout occurs when time between the two frames is more than the timer value (generally 500 ms).

2) When CyU3PDmaMultiChannelCommitBuffer API fails. This API fails when the host is slower to consume the DMA buffers as compared to the incoming data (from the sensor).

Can you try debugging which of the two possibility is causing the DMA_RESET_EVENT?

- If the problem is due to commitbuffer failures, please refer to this KBA Invalid Sequence Error in Multi-Channel Commit Buffer - KBA218830 which is for FX3-UVC, similar changes can be done to your CX3  firmware.

- If the problem is due to timeout, try increasing the timer value to a value more than the frame period

Also refer to this thread with the same problem UVC streaming is failed on linux if using usb 3 hub.

If this still doesn't help, please share the firmware you are using. Meanwhile, i am trying to reproduce the issue at my end.

Regards,

Rashi

Regards,
Rashi

View solution in original post

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

Hello,

- Please let me know the kernel version and OS version that you are working with.

- Also, which firmware are you using for CX3  and is it the default or have you made any changes to the firmware. Please mention the changes.

-Did it work on Windows platform?

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi:

   Sorry, I just came back from my vacation. I used Ubuntu version 16.04.and  linux  kernel version linux-image-4.4.0-72 , I can use the firmware normally in the window without any changes.

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

Hello,

- Also, which firmware are you using for CX3  and is it the default or have you made any changes to the firmware. Please mention the changes.

Can you share your firmware?

If not, please share the debug prints to know where the error has occurred. I am not able to get the cause of the problem from the prints you have given in previous response. It would be a help if you can share the firmware or point out which API is failing from the debug prints.

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi:

     Can I bring the board to your company for debugging? It's not very stable now. Is there something wrong with my program structure? Can you help me to have a look at it on the spot。 thanks.

0 Likes
steven
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Rashi:

pastedImage_0.png

The above situation occurs after running for a period of time. What causes this generally。

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

Hello,

From the logs you shared, it seems that there is DMA_RESET_EVENT. In default cx3 examples,this event is generally set due to two reasons:

1) When there is timeout: Timeout occurs when time between the two frames is more than the timer value (generally 500 ms).

2) When CyU3PDmaMultiChannelCommitBuffer API fails. This API fails when the host is slower to consume the DMA buffers as compared to the incoming data (from the sensor).

Can you try debugging which of the two possibility is causing the DMA_RESET_EVENT?

- If the problem is due to commitbuffer failures, please refer to this KBA Invalid Sequence Error in Multi-Channel Commit Buffer - KBA218830 which is for FX3-UVC, similar changes can be done to your CX3  firmware.

- If the problem is due to timeout, try increasing the timer value to a value more than the frame period

Also refer to this thread with the same problem UVC streaming is failed on linux if using usb 3 hub.

If this still doesn't help, please share the firmware you are using. Meanwhile, i am trying to reproduce the issue at my end.

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi:

      Hello, the test is normal at present, but one bug is that the intermediate program is turned off. You need to plug in and dial a cx3 hardware again before you can turn on the software again. What should I do about this.

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

Hello,

Please restate your meaning of intermediate program.

Is it the host application that closes ?

Please confirm if it the host application that is turned off and CX3 needs to be reset to start the host application again?

Which host application are you using? IS the behaviour same when CX3 is programmed with the default firmware?

Please probe the usb lines and share the traces. You can use wireshark (usbmon - linux) for that.

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi:

   Thank you for your reply,The upper computer software can only be used once. After it is turned off,  need to Plugged cx3 again to use the upper computer software.

0 Likes

Rashi:

   Thank you for your reply,The upper computer software can only be used once. After it is turned off,  need to Plugged cx3 again to use the upper computer software.   Can we get through on the phone? My phone number is 18911808268。thanks

0 Likes

Rashi:

   HI  ,  I am 4.15.0-72-generic in the Ubuntu 18.04 USB2.0 kernel. When I load the firmware, I continuously prompt the attachment log. This is the control. Is it not corresponding?@ ! !

[10:52:15:414] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:15:421] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:15:421] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:15:426] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:15:926] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:15:926] ␍␊

[10:52:15:926] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:15:932] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:15:932] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:15:939] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:16:438] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:16:438] ␍␊

[10:52:16:438] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:16:446] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:16:446] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:16:453] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:16:950] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:16:950] ␍␊

[10:52:16:950] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:16:957] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:16:957] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:16:964] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:17:462] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:17:462] ␍␊

[10:52:17:462] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:17:469] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:17:469] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:17:474] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:17:974] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:17:974] ␍␊

[10:52:17:974] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:17:983] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:17:983] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:17:991] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:18:485] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:18:485] ␍␊

[10:52:18:485] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:18:495] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:18:495] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:18:505] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:18:997] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:18:997] ␍␊

[10:52:18:997] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:19:006] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:19:006] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:19:013] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:19:510] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:19:510] ␍␊

[10:52:19:510] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:19:519] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:19:519] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:19:526] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:20:022] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:20:022] ␍␊

[10:52:20:022] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:20:029] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:20:029] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:20:036] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:20:533] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:20:535] ␍␊

[10:52:20:535] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:20:542] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:20:542] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:20:548] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:21:044] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:21:046] ␍␊

[10:52:21:046] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:21:052] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:21:052] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:21:061] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:21:558] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:21:558] ␍␊

[10:52:21:558] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:21:566] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:21:566] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:21:572] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:22:071] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:22:071] ␍␊

[10:52:22:071] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:22:078] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:22:078] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:22:084] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:22:578] ␍bRType = 0xA1, bRequest = 0x87, wValue = 0x200, wIndex = 0x100, wLength= 0x1␊

[10:52:22:581] ␍␊

[10:52:22:581] ␍Line:968⇥ VC:T ID 0x1 CS 0x200 Req 0x87 ␊

[10:52:22:588] ␍USBStpCB:VCI SendEP0Data = 64␊

[10:52:22:588] ␍current event is CY_FX_UVC_VIDEO_CONTROL_REQUEST_EVENT!!! wIndex_mv = 0x100␊

[10:52:22:595] ␍Unsupported request. Fail by stalling the control endpoint␊

[10:52:25:101] ␍U<break>

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

Hello,

Please let me know why are you probing usb lines while programming?

Is there a problem while programming cx3?

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi:

    My program is normal under windows, but not under Ubuntu 18.04 USB 2.0 and USB 3.0. My upper computer software uses the same image of qtcam guvcview, which is black screen. This problem bothers me for a long time. Please guide me

0 Likes

Hi Rashi:

     Can I have your email?

[09:48:30:799] ␍SensorRead2B SlaveAddr = 0x1C ,Reg = 0xC , buf[0] = 0xBE , buf[1] = 0x87 ␊

[09:48:30:807] ␍[CyCx3UvcAppThread_Entry]CX3_DMA_RESET_EVENT eventFlag = 24␊

[09:48:30:815] ␍CB failure␊

[09:48:30:815] ␍AplnStop:SMState = 0x5␊

[09:48:30:851] ␍AplnStrt:SMState = 0x1␊

when I open qtcam  , Now the debug print   up log.

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

Hello,

The DMA reset event can occur due to two reasons (as per default firmware). You need to check which among this two reason is causing DMA reset

- the CyU3PDmaMultiChannelCommitBuffer API fails. You can know the error code/ return value for this to know the reason of API to fail.

You can refer to this KBA if the error code is 71 (0x47) Invalid Sequence Error in Multi-Channel Commit Buffer - KBA218830

- the CyCx3AppProgressTimer overflows . The timer overflows when the first frame from the starting of application doesn't come in a given timer value or if the time between two frames is more than timer value.

The timer value is #define TIMER_PERIOD    (500)                          /* Maximum frame transfer time in milli-seconds. */ in Ov5640 deafult firmware.

If the frame period is more than 500 ms in your case the timer will overflow. you can try increasing this to value much higher than the frame period.

Please let me know which among the above reason is causing DMA reset

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi;

I can't set it to 46fps. It has exceeded the conversion capability of cx3。Can you help me configure it? ! !

resloultion:2562*1024    [399.4mbps/lane pclk99.84mhz 46.8fps]

pastedImage_0.png

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

Hello,

you need to change the sensor settings accordingly. The configuration utility should not throw any error.

The sensor and CX3 configuration utility should be in sync

I can not give the configurations because the sesnore should be configured similarly. Are you able to configure it for any frequency of CSI clock irrespective of resolution?

Regards,

Rashi

Regards,
Rashi
0 Likes

Hi, Rashi,

   CSI clock is proportional to pixclk. If CSI clock is improved, pixclk will be improved correspondingly. Now pixclk is the largest 99.84, so CSI clock should not be increased. How should I modify it?

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

Hello,

Please confirm what is the video output format the sensor is streaming is it RAW10 or RAW8.

As per our previous discussion, it was RAW8 and now RAW10.

Please let me know the sensor output so that i can work on the CX3 configuration tool to get the proper configuration

H active

Vactive

H blanking

V blanking

ths prepare

ths zero

data format (output from sensor)

fps

CSI clock

Regards,

Rashi

Regards,
Rashi
0 Likes

Hi, Rashi

    It has been sent to your email。thanks

0 Likes
steven
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Hi  Rashi:

     Have you received your email? I've been stuck with this problem for a long time, thank you.

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

Hello,

Please check the sensor configuration and let me know if this works

cx3_config_2.PNG

Regards,

Rashi

Regards,
Rashi
0 Likes

Hi Rashi:

I move the initialization sensor to the “cycx3uvcappstart” function, and judge that if smstate = = 2 is set, the frame will be printed, but the screen will still be black

   pastedImage_1.pngpastedImage_0.png

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

Hello,

Amcap doesn't support RAW8 format. You would need a custom host application for viewing the video.

Can you check the usb traces you can use wireshark for that. Please share the .pcap file

Regards,

Rashi

Regards,
Rashi
0 Likes