Gstreamer nvarguscamerasrc not working at TX2 Custom Board with Serdes Gmsl Camera

Hello guys ~ !

We made TX2 Custom Board just same like Dev kit.
Only difference is camera connector soc for our camera board.
Our camera board use AR0820 with MAXIM GMSL Serializer & Deserializer.

We made sensor & serdes kernel driver successfully and checked driver probing is OK with sensor / serdes initializing is OK.

canlabtx2@canlabtx2-desktop:~$ dmesg | grep ar0820
[ 1.381857] ar0820ser 2-0040: probing serializer
[ 1.381894] ar0820ser 2-0040: ar0820ser_probe: success
[ 1.381960] ar0820dser 2-0048: probing deserializer
[ 1.381996] ar0820dser 2-0048: ar0820dser_probe: success
[ 1.382059] ar0820 2-0010: probing v4l2 sensor.
[ 1.382159] ar0820 2-0010: tegracam sensor driver:ar0820_v2.0.6
[ 10.381093] ar0820 2-0010: Detected AR0820 sensor
[ 10.824385] tegra-vi4 15700000.vi: subdev ar0820 2-0010 bound

MIPI CSI-2 Data format from Deserializer is Bayer RAW12 RGGB.
Resolution is 3840 x 2160, pixel clock is 840MHz and FPS is 30fps.

After that we can get raw image with v4l2-ctl commands.

canlabtx2@canlabtx2-desktop:~$ v4l2-ctl --set-fmt-video=width=3840,height=2160,pixelformat=RG12 --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=test.raw
<

v4l2-compliance check is OK.

canlabtx2@canlabtx2-desktop:~$ v4l2-compliance -d /dev/video0
v4l2-compliance SHA : not available

Driver Info:
Driver name : tegra-video
Card type : vi-output, ar0820 2-0010
Bus info : platform:15700000.vi:0
Driver version: 4.9.140
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format

Compliance test for device /dev/video0 (not using libv4l2):

Required ioctls:
test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
test second video open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK

Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
test VIDIOC_LOG_STATUS: OK

Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)

Test input 0:

Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 1 Private Controls: 12

Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
fail: v4l2-test-formats.cpp(1184): ret && node->has_frmintervals
test VIDIOC_G/S_PARM: FAIL
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)

Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test VIDIOC_EXPBUF: OK

Test input 0:

Total: 43, Succeeded: 42, Failed: 1, Warnings: 0

media-ctl check OK.

canlabtx2@canlabtx2-desktop:~$ media-ctl -p
Media controller API version 0.1.0

Media device information

driver tegra-vi4
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 0.0.0

Device topology

  • entity 1: 150c0000.nvcsi–1 (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev0
    pad0: Sink
    ← “ar0820 2-0010”:0 [ENABLED]
    pad1: Source
    → “vi-output, ar0820 2-0010”:0 [ENABLED]

  • entity 4: ar0820 2-0010 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev1
    pad0: Source
    [fmt:SRGGB12_1X12/3840x2160 field:none colorspace:srgb]
    → “150c0000.nvcsi–1”:0 [ENABLED]

  • entity 6: vi-output, ar0820 2-0010 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video0
    pad0: Sink
    ← “150c0000.nvcsi–1”:1 [ENABLED]

And other v4l2-ctl test for check fps is OK too.

canlabtx2@canlabtx2-desktop:~$ v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.09 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.04 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps

Everything seems ok…

But…

We can’t get image with gtsreamer.

  1. v4l2src

canlabtx2@canlabtx2-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! ‘video/x-raw, format=YUY2, width=3840, height=2160, framerate=30/1’ ! xvimagesink -ev
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

  1. nvarguscamerasrc

canlabtx2@canlabtx2-desktop:~$ gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, format=(string)NV12, framerate=(fraction)30/1’ ! nvvidconv ! xvimagesink
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:532 No cameras available
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.373431559
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

here is debug message.

root@canlabtx2-desktop:/home/canlabtx2# cat /sys/kernel/debug/tracing/trace

tracer: nop

entries-in-buffer/entries-written: 74/74 #P:6

_-----=> irqs-off

/ _----=> need-resched

| / _—=> hardirq/softirq

|| / _–=> preempt-depth

||| / delay

TASK-PID CPU# |||| TIMESTAMP FUNCTION

| | | |||| | |

nvargus-daemon-11893 [002] … 2809.586684: tegra_channel_open: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.588014: tegra_channel_set_power: ar0820 2-0010 : 0x1
nvargus-daemon-11893 [002] … 2809.588025: camera_common_s_power: status : 0x1
nvargus-daemon-11893 [002] … 2809.588087: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x1
nvargus-daemon-11893 [002] … 2809.588114: csi_s_power: enable : 0x1
nvargus-daemon-11893 [002] … 2809.589791: tegra_channel_close: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.589797: tegra_channel_set_power: ar0820 2-0010 : 0x0
nvargus-daemon-11893 [002] … 2809.589802: camera_common_s_power: status : 0x0
nvargus-daemon-11893 [002] … 2809.589864: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x0
nvargus-daemon-11893 [002] … 2809.589866: csi_s_power: enable : 0x0
nvargus-daemon-11893 [002] … 2809.601806: tegra_channel_open: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.601834: tegra_channel_set_power: ar0820 2-0010 : 0x1
nvargus-daemon-11893 [002] … 2809.601843: camera_common_s_power: status : 0x1
nvargus-daemon-11893 [002] … 2809.601912: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x1
nvargus-daemon-11893 [002] … 2809.601915: csi_s_power: enable : 0x1
nvargus-daemon-11893 [002] … 2809.602120: tegra_channel_close: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.602124: tegra_channel_set_power: ar0820 2-0010 : 0x0
nvargus-daemon-11893 [002] … 2809.602127: camera_common_s_power: status : 0x0
nvargus-daemon-11893 [002] … 2809.602186: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x0
nvargus-daemon-11893 [002] … 2809.602188: csi_s_power: enable : 0x0
nvargus-daemon-11893 [002] … 2809.637828: tegra_channel_open: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.637843: tegra_channel_set_power: ar0820 2-0010 : 0x1
nvargus-daemon-11893 [002] … 2809.637853: camera_common_s_power: status : 0x1
nvargus-daemon-11893 [002] … 2809.637925: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x1
nvargus-daemon-11893 [002] … 2809.637928: csi_s_power: enable : 0x1
nvargus-daemon-11893 [002] … 2809.637962: tegra_channel_close: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.637966: tegra_channel_set_power: ar0820 2-0010 : 0x0
nvargus-daemon-11893 [002] … 2809.637969: camera_common_s_power: status : 0x0
nvargus-daemon-11893 [002] … 2809.638022: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x0
nvargus-daemon-11893 [002] … 2809.638024: csi_s_power: enable : 0x0
nvargus-daemon-11893 [002] … 2809.638318: tegra_channel_open: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.638322: tegra_channel_set_power: ar0820 2-0010 : 0x1
nvargus-daemon-11893 [002] … 2809.638325: camera_common_s_power: status : 0x1
nvargus-daemon-11893 [002] … 2809.638381: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x1
nvargus-daemon-11893 [002] … 2809.638383: csi_s_power: enable : 0x1
nvargus-daemon-11893 [002] … 2809.638628: tegra_channel_close: vi-output, ar0820 2-0010
nvargus-daemon-11893 [002] … 2809.638630: tegra_channel_set_power: ar0820 2-0010 : 0x0
nvargus-daemon-11893 [002] … 2809.638633: camera_common_s_power: status : 0x0
nvargus-daemon-11893 [002] … 2809.638689: tegra_channel_set_power: 150c0000.nvcsi–1 : 0x0
nvargus-daemon-11893 [002] … 2809.638690: csi_s_power: enable : 0x0

and… here is argus debug message.

=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections…=== camera_recording[10788]: Connection established (7F8E0B11D0)Thread 1 getting next capture
Thread 1 is waiting
Thread 2 getting next capture
Thread 2 is waiting
Thread 3 getting next capture
Thread 3 is waiting
Thread 4 getting next capture
Thread 4 is waiting
Thread 5 getting next capture
Thread 5 is waiting
Thread 6 getting next capture
Thread 6 is waiting
Thread 7 getting next capture
Thread 7 is waiting
Thread 8 getting next capture
Thread 8 is waiting
Thread 9 getting next capture
Thread 9 is waiting
Thread 10 getting next capture
Thread 10 is waiting
Thread 11 getting next capture
Thread 11 is waiting
Thread 12 getting next capture
Thread 12 is waiting
Starting services…
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread CaptureScheduler checkFramePending start
Worker thread CaptureScheduler frameStart start
Worker thread V4L2CaptureScheduler checkCaptureComplete start
Worker thread V4L2CaptureScheduler issueCaptures start
Worker thread PS handleRequests start
getInstance: s_instance(0x7f88748c70)
getInstance: s_instance(0x7f88748c70)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0x7f8874b270)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0x7f887507d0)
AC plugin not present: dlopen “acplugin.so”, acplugin.so: cannot open shared object file: No such file or directory
Services are started
NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition – Name: ar0820_front
NvPclHwPrintModuleDefinition – Position: 1
NvPclHwPrintModuleDefinition – CalibrationData Found: 1
NvPclHwPrintCameraSubModule – HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule – HwCamSubModule[0].DevName: AR0820_01
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: ar0820_front position1
NvPclHwScanExternalCameras – adding video0 to discover list
NvPclHwScanExternalCameras – adding video0 to discover list
NvPclHwScanExternalCameras – adding video0 to discover list
getHotplugMonitor: Getting hotplug monitor instance
initializeHotplug++
hotPlugfunc ++
addWatch: Watch added wd=‘1’
CheckProcDTExists: INFO: accessing /proc/device-tree/tegra-virtual-camera-platform/modules; No such file or directory
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
setHotplugCallback: Registered new callback client
hotPlugfunc: reading from inotify FD, Thread waiting
NvPclSetHotplugCallback: ----------------------
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 1 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f8868fde0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f886e1c40
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f886993c0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f88414650
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f886a86c0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f886a8630
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: stat(/Calib/camera_override.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/ar0820_front.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/ar0820_front.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/ar0820_front.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/ar0820_front.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/ar0820_front.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/ar0820_front.isp) call failed
---- imager: No override file found. ----
Imager: looking for override file [/mnt/factory/camera/factory.bin] 1/16
Imager: looking for override file [/Calib/factory.bin] 2/16
Imager: looking for override file [/Calib/calibration.bin] 3/16
Imager: looking for override file [(null)] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
Imager: looking for override file [/data/vendor/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/vendor/nvcam/settings/ar0820_front.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/ar0820_front.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/ar0820_front.bin] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
(NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
(NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
(NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 106)
NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f88414650
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f886a86c0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f886a8630
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f8868fde0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f886e1c40
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f886993c0
NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E)
NvPclStateControllerClose: Module ar0820_front closed
NvPclOpen: PCL Open Failed. Error: 0xf
NvPclClose: ++++++++++++++++++++++
NvPclClose: ----------------------
NvPclOpen: ----------------------
SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 582)
SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 295)
SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 458)
Acquiring SCF Camera device source via index 0 has failed. === camera_recording[10788]: CameraProvider initialized (0x7f8879bd90)=== camera_recording[10788]: CameraProvider destroyed (0x7f8879bd90)Stopping services…
Worker thread CaptureScheduler frameStart stop
Worker thread CaptureScheduler checkFramePending stop
Worker thread IspHw statsComplete stop
Worker thread IspHw frameComplete stop
Worker thread V4L2CaptureScheduler issueCaptures stop
Worker thread V4L2CaptureScheduler checkCaptureComplete stop
NvPclShutdown: ++++++++++++++++++++++
NvPclModuleListShutdown: Client still conntected, skipping shutdown
NvPclShutdown: ----------------------
Worker thread PS handleRequests stop
unsubscribe: SensorType(gyroscope)
unsubscribe: gyroscope sensor(0x7f8874b270)
unsubscribe: SensorType(accelerometer)
unsubscribe: accelerometer sensor(0x7f887507d0)
Services are stopped
closeInstance: ms_instance((nil))
NvPclRemoveHotplugCallback: ++++++++++++++++++++++
getHotplugMonitor: Getting hotplug monitor instance
shutdownHotplug: Requesting thread exit
hotPlugfunc: Read 16 bytes from inotify FD
hotPlugfunc: A File was Modified 00008000 NAME : CREATE : 00000100, DELETE : 00000200 IGNORED : 00008000 CLOSE_WRITE : 00000008
hotPlugfunc: Exit thread
hotPlugfunc: close failure error: ‘Bad file descriptor’ (9)
hotPlugfunc –
shutdownHotplug – : shutdown of hotplug is complete
Removed callback client
NvPclRemoveHotplugCallback: ----------------------
FiberScheduler: shutting down; 0 fibers still in map

FiberScheduler: thread 2 exiting
FiberScheduler: thread 12 exiting
FiberScheduler: thread 3 exiting
FiberScheduler: thread 4 exiting
FiberScheduler: thread 12 has been joined
FiberScheduler: thread 10 exiting
FiberScheduler: thread 11 exiting
FiberScheduler: thread 9 exiting
FiberScheduler: thread 5 exiting
FiberScheduler: thread 11 has been joined
FiberScheduler: thread 7 exiting
FiberScheduler: thread 9 has been joined
FiberScheduler: thread 8 exiting
FiberScheduler: thread 1 exiting
FiberScheduler: thread 6 exiting
FiberScheduler: thread 8 has been joined
FiberScheduler: thread 7 has been joined
FiberScheduler: thread 6 has been joined
FiberScheduler: thread 5 has been joined
FiberScheduler: thread 3 has been joined
FiberScheduler: thread 10 has been joined
FiberScheduler: thread 4 has been joined
FiberScheduler: thread 2 has been joined
FiberScheduler: thread 1 has been joined
=== camera_recording[10788]: Connection closed (7F8E0B11D0)=== camera_recording[10788]: Connection cleaned up (7F8E0B11D0)

We already checked device-tree again and gain…

We checked compatible, devnode, reg, line_length, active_h/w, embedded_metadata_height, pix_clk_hz, discontinuous_clk, cil_settletime, devname… etc all of we can check.

But we can’t catch any other mistake.

What should we do for now?

Thank you for read our topic !

hello kyubeom21camqf0,

  1. may I know which Jetpack release you’re working with?
  2. please also note that, for sensor modules that use ser/des chip;
    the SerDes pixel clock must be specified correctly to configure the SoC-camera interface correctly and avoid buffer overrun issues. you may also check SerDes Pixel Clock session to examine your device tree property settings.
  3. according to your failure messages, it seems there’s no cameras available for gstreamer.
    please also refer to Debugging Tips session for checking your sensor drivers.
    thanks