28.1 HDMI2CSI error PXL_SOF syncpt timeout! err = -11

Hello,

I’ve enabled a tc358840 (HDMI2CSI) on my carrier board but I’ve many “PXL_SOF syncpt timeout! err=-11” in logs and only a green screen in the output

here is the output of v4l2-ctl --all

Driver Info (not using libv4l2):
Driver name : tegra-video
Card type : vi-output, tc358840 2-000f
Bus info : platform:15700000.vi:0
Driver version: 4.4.38
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (HDMI 0: no signal, no sync lock)
DV timings:
Active width: 0
Active height: 0
Total width: 0
Total height: 0
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 0 Hz
Horizontal frontporch: 0
Horizontal sync: 0
Horizontal backporch: 0
Vertical frontporch: 0
Vertical sync: 0
Vertical backporch: 0
Standards:
Flags:
DV timings capabilities:
Minimum Width: 1
Maximum Width: 10000
Minimum Height: 1
Maximum Height: 10000
Minimum PClock: 0
Maximum PClock: 297000000
Standards: CEA-861, DMT, CVT, GTF
Capabilities: Progressive, Reduced Blanking, Custom Formats
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : ‘UYVY’
Field : None
Bytes per Line : 3840
Size Image : 4147200
Colorspace : SMPTE 170M
Transfer Function : Default
YCbCr Encoding : Default
Quantization : Default
Flags :

User Controls

        audio_sampling_rate (int)    : min=0 max=768000 step=1 default=0 value=48000 flags=read-only
              audio_present (bool)   : default=0 value=0 flags=read-only
             splitter_width (int)    : min=320 max=1920 step=16 default=1920 value=1920 flags=read-only

Camera Controls

                bypass_mode (intmenu): min=0 max=1 default=0 value=0
            override_enable (intmenu): min=0 max=1 default=0 value=0
               height_align (int)    : min=1 max=16 step=1 default=1 value=1
                 size_align (intmenu): min=0 max=2 default=0 value=0
           write_isp_format (int)    : min=1 max=1 step=1 default=1 value=1

Digital Video Controls

              power_present (bitmask): max=0x00000001 default=0x00000000 value=0x00000001 flags=read-only

and here is the gstreamer command I’m using to stream

gst-launch-1.0 v4l2src ! ‘video/x-raw, width=1920, height=1080, framerate=60/1, format=UYVY’ ! nvvidconv ! ‘video/x-raw(memory:NVMM), format=I420’ ! queue ! omxh265enc bitrate=2000000 ! ‘video/x-h265, stream-format=(string)byte-stream’ ! h265parse ! mpegtsmux ! rtpmp2tpay ! udpsink port=5000 async=false sync=false host=10.0.200.40

same problem also using the integrated HDMI out

How about the v4l2-ctl

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test.raw

Hi xmerlin,

Have you tried the v4l2-ctl? Any update?

Thanks

Hi @ShaneCCC and @kayccc,

We do have the same problem for TC358840 on TX2. Our L4T version is R28.1, the command v4l2-ctl works fine, it can capture raw frames. The “PXL_SOF syncpt timeout” occur when we detected a new video resolution input, so we shutdown the V4L2 stream, and restart a new stream. we are not using gstreamer, we are using our own v4l2 IOCtls to setup the stream, when we polling on the v4l2 device and get a read event, we can not dequeue a new buffer successful, and the “PXL_SOF syncpt timeout” come up. Also, we have problem set the video format with “VIDIOC_G_FMT”, the device always return BUSY. it is ok setting at first time, once you start and stop a stream, You can not set it again.

Please give any suggestions, thank you.

Kevin

@usaarizona
You should try the v4l2-ctl to check if have the same problem to make sure not the APP problem.

Our APP works fine on TX1, v4l2-ctl works fine on TX2 also. Gstreamer have the same issue if the pipeline start just after resolution was changing. It may be the video is not stable which cause the “PXL_SOF syncpt timeout”. In our APP, we keep the video file descriptor open until APP is close, we restart the stream whenever we have the new resolution coming, the ioctl call for setting the video format is always return BUSY after first time.

@usaarizona
I think that could be the APP’s problem.