Add new sensor driver with Orin NX (t234)

Thanks for the help @JerryChang .
Now I have vi errors when using the v4l2-ctl to stream the /dev/video0. For example:

(NULL device *): vi_capture_control_message: NULL VI channel received

I saw you answered this issue before in another thread for the AGX Orin.
I didn’t understand both the cause and solution for this error. Does it related to some mismatch config data between the sensor and the vi? (different resolution for example)

Thanks

hello BSP_User,

please refer to developer guide, To verify the port binding result and Debugging Tips for troubleshooting.
you may also gather the complete logs for reference.

Hi @JerryChang ,
I followed this chapters and noticed that the compliance test fails in 2 out of 45 tests.
Following is the log of executing the test and executing the v4l2 stream that fails.
log.log (14.6 KB)

From the error messages I see there is something NULL. Is it related to a missing function or something else?

Thanks

Hi @JerryChang ,
I played a little with the settings on both driver and device tree.
I still fail in 2 tests out of 45 from the previous log I sent, but now I’m able to record the frames using the v4l2-ctl command without getting the “VI NULL errors.”

Now I wish to verify the recorded frames (the source is de-serializer pattern generator)
I can’t use gstreamer. I read here:

  1. I have the same AB24 format. What can I do in order to be able to display the video on GUI?
  2. What I need to do in order to pass the 2 tests out of 45.
    Thanks

hello BSP_User,

it might be an issue with v4l2 utility, since you’re able to fetch sensor via v4l2, you may ignore the failures of v4l2-compliance at the moment.

please revise the VI-5 to extend the pixel formats to support AB24 in your use-case.

Hi @JerryChang ,
Can you please instruct me how to do that?

I found the file:
$public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/vi5_formats.h

But I didn’t understand what I need to do in order to support the format and play it with gstreamer.

Thanks a lot.

hello BSP_User,

could you please try below…
$ gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 num-buffers=300 ! 'video/x-raw(memory:NVMM),format=(string)BGRA, width=(int)1280, height=(int)1024,framerate=(fraction)60/1' ! videoconvert ! fpsdisplaysink video-sink=fakesink text-overlay=false sync=false -v

Hi @JerryChang ,
this is the output:

WARNING: erroneous pipeline: could not link nvv4l2camerasrc0 to videoconvert0, nvv4l2camerasrc0 can’t handle caps video/x-raw(memory:NVMM), format=(string)BGRA, width=(int)640, height=(int)480, framerate=(fraction)60/1

Hi @JerryChang ,
I wish to thank you for your help and patience. I’ve learned a lot.
I saw that on JP5.1.3 the v4l2 plugin doesn’t support RGB888 and it requires a patch.

We decided to go with YUV for now and it works.
I’ll close this thread and thank you again.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.