Camera: DPB and MjstreamingSocket read error

Hello,jachen:
I have used pkg v23.2 and v24.1.
When use v23.2,/dev/videoX doesn’t exist after system up.
And I can’t run gst pipeline to get correct image after rmmod/modprobe.
But I can capture data with yavta.
When use v24.1,/dev/videoX exist after system up.
But when run command “modprobe tegra_camera” ,it print error,such as “a module is being used,soc_camera”.
I can’t run gst pipeline to get correct image ,and can’t capture data with yavta.

Hello, yifei:
At this point, please focus on R24.1 first. (If there’s no special reason, please keep your SDK updated.)
For sensor (you are using self-developed sensor or on-board OV5693?), please make sure that the hardware can be detected correctly (through I2C). Otherwise, please check corresponding hardware/driver, etc.

if yavta can capture the raw data (please also confirm the raw data content shows correct image), you can try gst pipeline. Also, capture the image file first. if that does not work, grab the log (gst log and syslog) and analyze where error occurs.

br
ChenJian

Hi,jachen:
I also want to use R24.1.But R24.1’s V4L2 part of ducument “Tegra_Linux_Driver_Package_Documents_R24.1” has not updated.
I can’t capture data with both gst pipeline and yavta,and can’t find out updated documents about the new driver framework.
So I use 2 developing version,R23.2 and R24.1.

We use the sensor OV5693,but redesign and layout the hardware board.
With R23.2,I’m sure that I have captured valid data because I have written a program to convert bayear data to RGB565 and
displayed correctly.

I just want to get the updated documents of R24.1 abaut driver package.If you have it,could you send to me?
Thanks a lot!

Hello, yifei:
OK. So for R23.2, after yavta works, please provide log for GStreamer pipeline. (gst log and syslog.)

br
Chenjian

Hi,jachen:
For R23.2,the log for Gstreamer pipeline as follows:
Before lsmod/modprobe and yavta works,
root@tegra-ubuntu:/home/ubuntu# gst-launch-1.0 nvcamerasrc fpsRange=“30.0 30.0” ! ‘video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1’ ! nvtee ! nvvidconv flip-method=2 ! ‘video/x-raw(memory:NVMM), format=(string)I420’ ! nvoverlaysink -e
Setting pipeline to PAUSED …
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and MjstreamingSocket read error. Camera Daemon stopped functioning…
gst_nvcamera_open() failed ret=0
ERROR: Pipeline doesn’t want to pause.
Setting pipeline to NULL …

After lsmod/modprobe and yavta works,
Setting pipeline to PAUSED …
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit s[ 483.812284] pgd = ffffffc0e4775000
et DPB and Mjstreaming[ 483.818821] [10000000] *pgd=0000000164112003, *pmd=0000000000000000
[ 483.827207] Library at 0xf6a8c078: 0xf699c000 /usr/lib/arm-linux-gnueabihf/tegra/libscf.so
[ 483.835517] Library at 0x0: 0x8000 /usr/sbin/nvcamera-daemon
[ 483.841418] vdso base = 0xf708f000
Socket read error. Camera Daemon stopped functioning…

Hello, yifei:
For the first log, it seems that the camera device does not work correct.

Have you ever changed the kernel config/driver?

please check the driver dependencies and figure out why you need rmmod/modprobe to make yavta work.

br
ChenJian

Hi,jachen:
Yes,I have changed the kernel config in order to modprobe V4L2 driver module tegra_camera.ko.
As nvidia’s Driver_Package_Document recommended,I must run the following commands if want to use yavta,
rmmod nvhsot_vi
modprobe tegra_camera

Because we have changed some GPIO pins,so I have changed the driver’s dts file.
As yavta can work correctly,so I can sure the V4L2 driver has no problem.
But gst pipeline use nvcamerasrc which use nvhsot_vi.I’m not sure if nvhsot_vi driver’s config is same as
the V4LS driver’s in dts file and can’t find bugs in nvhost_vi.

yifei,

For R23.2, it’s expected that nvcamerasrc was not working, as it enables NVIDIA ISP, which was not supported explicitly at that moment(although you can enable some kconfigs and make some modifications upon dts to get it working, but I don’t suggest it)
For R24.1, we start supporting nvcamerasrc, and it should be working if you have the on-board ov5693 mounted. But the working path in R23.2(yavta style) is no longer working. Thus, you can’t use R23.2 doc for R24.1 development.
Sorry for the confusing documentation we provided, and we are working on improving it on next big release, a.k.a R24.2, which is coming soon.
Let me know if it’s clear.

nVConan,
Thank you for your reply!
But I’m still not clear with two points.
Firstly,for R23.2,does nvcamerasrc use nvhost_vi.ko?Does this driver’s source code loacate at /drivers/media/
platform/tegra/vi/tegra_vi.c?And if it relate to dts file?

Secondly,for R24.2/R24.1,does it support V4L2 driver framework and capturing with yavta?How to get into V4L2 and
yavta mode?
Thank you!

yifei,

nvhost_vi is deprecated. You can find NVIDIA’s VI/CSI driver from,

kernel/drivers/media/platform/soc_camera/tegra_camera

As to R24.1, it doesn’t support standard v4l2 application by default.
But with the coming R24.2, we can support both NVIDIA style application and standard v4l2 application. Also, we will have completely new documentation for your reference, which is amazing and better than ever.:)

nVConan,
Thank you!
I’m looking forwarding to your R24.2!

Hello nVConan and jachen,

In order to develop our v4l2 camera driver, we used R23.2 image for baseline because ov5693 v4l2 camera driver was not working in R24.1. And,we got the same problem of nvcamerasrc in R23.2 image. So, I want to clarify whether we must wait for the R24.2 to solve this problem. Or can you kindly help to provide any work around method to avoid this issue before releasing R24.2 ? Finally, do you have the timeline of releasing R24.2 image ?

Thank you very much.

James,
Please review the previous discussion with yifei in this topic.
There should be clear explanation for your questions.
[url]https://devtalk.nvidia.com/default/topic/927182/jetson-tx1/camera-dpb-and-mjstreamingsocket-read-error/post/4958897/#4958897[/url]

nVConan,

Thanks for your response. We will wait for your R24.2.