Porting TX1 camera driver to kernel 4.4.15 - PXL_SOF syncpt timeout

Hi,

we’re in the process of porting our 6 camera TX1 3.10.96 kernel driver to the TX2.
The driver itself was easy to port, just fix a few video4linux-related structures compile errors.
We changed to device tree in following ways:

  • removed the camera-plugin-manager and the camera-modules dtsi files form tegra186-quill-p3310-1000-a00-00-base.dts and included our own dtsi file.
  • we edited our dtsi file according to the camera-e3322-a00.dtsi, adding the vi@15700000, nvcsi@150c0000 and “num_csi_lanes = <12>;[…]” blocks accordingly.

Compiling and installing the kernel, we find /dev/video[0-5] devices like intended.
When trying to capture a picture with yafta (yavta /dev/video[0…5] -c5 -n1 -s1920x1080 -fSRGGB10 -Fov#.raw), we get two different errors:

  1. /dev/video[0…1] (using i2c-1 and CSI A/B): The screen flashes white each time a picture is taken. dmesg shows following error:
[  126.287892] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x90011, cb=18, sid=4(0x4 - VI), pgd=0, pud=0, pmd=0, pte=0
[  127.232040] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11

the captured images contain 4/5 black, then some distorted image data.

  1. /dev/video[2…5] Nothing flashes, we get the error:
[  100.904056] tegra_mipi_cal 3990000.mipical: Mipi cal timeout,val:7661, lanes:400000
[  100.911946] tegra_mipi_cal 3990000.mipical: MIPI_CAL_CTRL                  0x04 0x2a000010
[  100.920249] tegra_mipi_cal 3990000.mipical: CIL_MIPI_CAL_STATUS            0x0c 0x00007661
[  100.928561] tegra_mipi_cal 3990000.mipical: CIL_MIPI_CAL_STATUS_2          0x10 0x00000000
[  100.936843] tegra_mipi_cal 3990000.mipical: CILA_MIPI_CAL_CONFIG           0x18 0x00000000
[  100.945149] tegra_mipi_cal 3990000.mipical: CILB_MIPI_CAL_CONFIG           0x1c 0x00000000
[  100.953429] tegra_mipi_cal 3990000.mipical: CILC_MIPI_CAL_CONFIG           0x20 0x00200000
[  100.961733] tegra_mipi_cal 3990000.mipical: CILD_MIPI_CAL_CONFIG           0x24 0x00000000
[  100.970012] tegra_mipi_cal 3990000.mipical: CILE_MIPI_CAL_CONFIG           0x28 0x00000000
[  100.978294] tegra_mipi_cal 3990000.mipical: CILF_MIPI_CAL_CONFIG           0x2c 0x00000000
[  100.986555] tegra_mipi_cal 3990000.mipical: DSIA_MIPI_CAL_CONFIG           0x3c 0x00000000
[  100.994837] tegra_mipi_cal 3990000.mipical: DSIB_MIPI_CAL_CONFIG           0x40 0x00000000
[  101.003102] tegra_mipi_cal 3990000.mipical: DSIC_MIPI_CAL_CONFIG           0x44 0x00000000
[  101.011387] tegra_mipi_cal 3990000.mipical: DSID_MIPI_CAL_CONFIG           0x48 0x00000000
[  101.019650] tegra_mipi_cal 3990000.mipical: MIPI_BIAS_PAD_CFG0             0x5c 0x00000000
[  101.027932] tegra_mipi_cal 3990000.mipical: MIPI_BIAS_PAD_CFG1             0x60 0x00000000
[  101.036195] tegra_mipi_cal 3990000.mipical: MIPI_BIAS_PAD_CFG2             0x64 0x00000000
[  101.044479] tegra_mipi_cal 3990000.mipical: DSIA_MIPI_CAL_CONFIG_2         0x68 0x00000000
[  101.052740] tegra_mipi_cal 3990000.mipical: DSIB_MIPI_CAL_CONFIG_2         0x6c 0x00000000
[  101.061022] tegra_mipi_cal 3990000.mipical: DSIC_MIPI_CAL_CONFIG_2         0x74 0x00000000
[  101.069283] tegra_mipi_cal 3990000.mipical: DSID_MIPI_CAL_CONFIG_2         0x78 0x00000000
[  102.076079] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  103.080073] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11

The captured images are completely black.

Since we didn’t change the drivers code, I guess the mistake has to be in the device tree, or the new kernel needs some adjustments. Did this error occur to anyone else yet?

And is there a release date for the updated documentation? Because the 27.1 documentation still contains the “Sensor Driver Programming Guide” for the TX1 structure.

Best regards!

hello schwartz,

please try these kernel patches in the attachment,
thanks
vi_patches.tar.gz (6.8 KB)

Hi JerryChang,

thank you for your quick response.
The patch adds an include for <media/sensor_common.h> (in 0001-vi4-Allocate-buffer-for-embedded-data.patch line 74)
This file does not exist in the kernel sources. The patch adds sensor_common.c, maybe there is another patch which adds the header?

Best regards!

hello schwartz,

update the comment to replace the attachment with the new patch added.
please check again, thanks

Hi JerryChang,

I got it to compile, by adding sensor_common.o to the right Makefile and removing two V4L2_PIX_FMTs from sensor_common.c which seem to not be implemented yet.

Unfortunately, the error still exists and a second error emerged:

tegra-vi4 15700000.vi: master error

This happens after set_fmt is called and before before s_stream is called. The mipi cal timeout and “PXL_SOF syncpt timeout! err = -11” appear after successful execution of set_stream.

Unfortunately, all three error messages seem to be rather general. Any hints where I could look into?

Do I need to load additional modules? Right now my lsmod looks like this:

Module                  Size  Used by
fuse                   89120  2
bnep                   15733  2
bluetooth             555204  7 bnep
bcmdhd               7638999  0
pci_tegra              72837  0
bluedroid_pm           14002  0

I’m using the tegra18_defconfig configuration, it’s only change being the addition of our driver (drivers/media/i2c), compiled into the kernel.

What information could I provide that would help you track this error?

Best regards and thank you for your support!

We were having similar issues with our efforts, I believe we were seeing those PXL_SOF syncpt timeout errors when we still had some misconfiguration in the sensor, nvcsi, vi device tree linking. The configuration seeming to work for us is sensor should be bound to a csi_in, the csi_in should be bound to the sensor, the csi out should be bound to vi in, and vi in should be bound to csi out.

I’m not exactly sure what our current issue is, but the “cdma_handle_timeout” errors seem very suspect:

[   51.829964] imx377 9-001a: imx377_power_off: power off
[   51.875051] imx377 11-001a: imx377_power_on: power on
[   51.889207] imx377 11-001a: imx377_set_frame_rate: val: 251658240
[   51.895393] imx377 11-001a: imx377_set_gain - val = 88080384
[   51.901453] imx377 11-001a: input gain value: 5376
[   51.906334] imx377 11-001a: imx377_set_gain: gain 1500 val: 079f
[   51.916197] imx377 11-001a: imx377_s_stream++ enable 1
[   52.012140] imx377 11-001a: imx377_set_gain - val = 4194304
[   52.017745] imx377 11-001a: input gain value: 256
[   52.022526] imx377 11-001a: imx377_set_gain: gain 0100 val: 0000
[   52.029300] imx377 11-001a: imx377_set_frame_rate: val: 125829120
[   52.035453] imx377 11-001a: imx377_set_exposure: val: 125829120
[   52.041412] imx377 11-001a: imx377_set_coarse_time
[   52.046238] imx377 11-001a: imx377_set_coarse_time: input val: 2400000
[   52.052801] imx377 11-001a: imx377_clamp_coarse_time: 2400000 to 4538
[   52.059280] imx377 11-001a: imx377_set_coarse_time: set val: 12
[   52.192720] imx377 11-001a: imx377_set_gain - val = 88080384
[   52.198695] imx377 11-001a: input gain value: 5376
[   52.203495] imx377 11-001a: imx377_set_gain: gain 1500 val: 079f
[   52.212525] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 50 (15700000.vi_2) clientid 11, HW thresh 0, done 1
[   52.223141] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 49 (15700000.vi_1) clientid 11, HW thresh 1, done 1
[   52.233761] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 48 (15700000.vi_0) clientid 11, HW thresh 1, done 1
[   52.244382] ---- mlocks ----
[   52.244393] 8: locked by channel 7

[   52.244409] ---- syncpts ----
[   52.244434] id 18 (17000000.gp10b_507) min 4952 max 4952 refs 1 (previous client : 17000000.gp10b_507)
[   52.244438] id 19 (17000000.gp10b_506) min 24 max 24 refs 1 (previous client : 17000000.gp10b_506)
[   52.244442] id 20 (17000000.gp10b_505) min 288 max 288 refs 1 (previous client : 17000000.gp10b_505)
[   52.244447] id 21 (15600000.isp_nvcamera-daemon_0) min 0 max 4 refs 4 (previous client : )
[   52.244453] id 24 (15600000.isp_nvcamera-daemon_3) min 1 max 2 refs 4 (previous client : )
[   52.244457] id 25 (15600000.isp_nvcamera-daemon_4) min 13 max 24 refs 9 (previous client : )
[   52.244462] id 28 (15600000.isp_nvcamera-daemon_5) min 1 max 2 refs 4 (previous client : )
[   52.244470] id 33 (17000000.gp10b_500) min 2 max 2 refs 1 (previous client : )
[   52.244474] id 35 (17000000.gp10b_498) min 9 max 9 refs 1 (previous client : 15700000.vi_0)
[   52.244479] id 36 (17000000.gp10b_497) min 6 max 6 refs 1 (previous client : 15700000.vi_0)
[   52.244484] id 39 (17000000.gp10b_494) min 8 max 8 refs 1 (previous client : 150c0000.nvcsi_0)
[   52.244491] id 44 (17000000.gp10b_493) min 2 max 2 refs 1 (previous client : )
[   52.244496] id 46 (17000000.gp10b_491) min 6 max 6 refs 1 (previous client : )
[   52.244500] id 47 (15700000.vi_0) min 8 max 8 refs 2 (previous client : )
[   52.244504] id 48 (15700000.vi_0) min 1 max 2 refs 4 (previous client : )
[   52.244507] id 49 (15700000.vi_1) min 1 max 2 refs 4 (previous client : )
[   52.244510] id 50 (15700000.vi_2) min 0 max 2 refs 4 (previous client : )
[   52.244514] id 51 (150c0000.nvcsi_0) min 6 max 6 refs 2 (previous client : )

[   52.244904] ---- channels ----
[   52.244913] 
               channel 0 - 15810000.se

[   52.244917] NvHost basic channel registers:
[   52.244920] CMDFIFO_STAT_0:  00002040
[   52.244923] CMDFIFO_RDATA_0: 4884840c
[   52.244926] CMDP_OFFSET_0:   00000000
[   52.244929] CMDP_CLASS_0:    00000000
[   52.244932] CHANNELSTAT_0:   00000000
[   52.244934] The CDMA sync queue is empty.

[   52.244940] 
               channel 1 - 15820000.se

[   52.244943] NvHost basic channel registers:
[   52.244946] CMDFIFO_STAT_0:  00002040
[   52.244948] CMDFIFO_RDATA_0: b1887494
[   52.244951] CMDP_OFFSET_0:   00000000
[   52.244954] CMDP_CLASS_0:    00000000
[   52.244957] CHANNELSTAT_0:   00000000
[   52.244959] The CDMA sync queue is empty.

[   52.244964] 
               channel 2 - 15830000.se

[   52.244967] NvHost basic channel registers:
[   52.244970] CMDFIFO_STAT_0:  00002040
[   52.244973] CMDFIFO_RDATA_0: 56000c10
[   52.244975] CMDP_OFFSET_0:   00000000
[   52.244978] CMDP_CLASS_0:    00000000
[   52.244981] CHANNELSTAT_0:   00000000
[   52.244983] The CDMA sync queue is empty.

[   52.244989] 
               channel 3 - 15840000.se

[   52.244992] NvHost basic channel registers:
[   52.244995] CMDFIFO_STAT_0:  00002040
[   52.244998] CMDFIFO_RDATA_0: 439cd057
[   52.245000] CMDP_OFFSET_0:   00000000
[   52.245003] CMDP_CLASS_0:    00000000
[   52.245005] CHANNELSTAT_0:   00000000
[   52.245008] The CDMA sync queue is empty.

[   52.245013] 
               channel 7 - 15600000.isp

[   52.245016] NvHost basic channel registers:
[   52.245019] CMDFIFO_STAT_0:  00000000
[   52.245022] CMDFIFO_RDATA_0: 004e0041
[   52.245025] CMDP_OFFSET_0:   00000050
[   52.245027] CMDP_CLASS_0:    00000001
[   52.245030] CHANNELSTAT_0:   00000000
[   52.245034] 
               ffffffc1a9432e00: JOB, syncpt_id=21, syncpt_val=2, first_get=5a51c1b0, timeout=10000, num_slots=15
[   52.245042]     GATHER at 5a710000+5b68, 8 words
[   52.245045] 20000001 00006415 20000001 00007c18 20000001 0000741c 200c0001 00000005 
[   52.245058]     GATHER at 5a710000+5b88, 2 words
[   52.245060] 20000001 00000019 

[   52.245067] 
               channel 6 - 150c0000.nvcsi

[   52.245071] NvHost basic channel registers:
[   52.245074] CMDFIFO_STAT_0:  00002040
[   52.245076] CMDFIFO_RDATA_0: 00000033
[   52.245079] CMDP_OFFSET_0:   00000000
[   52.245082] CMDP_CLASS_0:    00000001
[   52.245084] CHANNELSTAT_0:   00000000
[   52.245087] The CDMA sync queue is empty.

[   52.245091] 
               channel 4 - 15700000.vi

[   52.245095] NvHost basic channel registers:
[   52.245097] CMDFIFO_STAT_0:  00002040
[   52.245100] CMDFIFO_RDATA_0: 0000002f
[   52.245103] CMDP_OFFSET_0:   00000000
[   52.245105] CMDP_CLASS_0:    00000001
[   52.245108] CHANNELSTAT_0:   00000000
[   52.245110] The CDMA sync queue is empty.

[   52.245114] 
               channel 5 - 15700000.vi

[   52.245117] NvHost basic channel registers:
[   52.245120] CMDFIFO_STAT_0:  00000022
[   52.245123] CMDFIFO_RDATA_0: 304e0005
[   52.245125] CMDP_OFFSET_0:   00000050
[   52.245128] CMDP_CLASS_0:    00000001
[   52.245131] CHANNELSTAT_0:   00000000
[   52.245134] 
               ffffffc06c873800: JOB, syncpt_id=50, syncpt_val=1, first_get=5a514000, timeout=10000, num_slots=7
[   52.245140]     GATHER at 5a718000+0000, 6 words
[   52.245142] 304e0005 0000000d 00000019 304e0005 00000000 00000031 
[   52.245151]     GATHER at 5a718000+0018, 22 words
[   52.245153] 90000002 a0004008 00043f1f 00000b3f 9000000c a000400c 00001008 00000bf6 00000001 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00001008 00000bf6 90000002 a0004018 007f0000 00000104 
[   52.245180]     GATHER at 5a718000+0070, 23 words
[   52.245182] 90000001 a0000401 00000000 90000001 a000404d 00000001 90000003 a0004042 5a526000 00000000 00000001 90000001 a0004048 00000000 90000001 a000400a 00000000 90000001 a0004001 00000001 90000001 a0004007 00000003 
[   52.245209]     GATHER at 5a718000+00cc, 2 words
[   52.245211] 20000001 00000030 

[   52.245218] 
               ---- host general irq ----

[   52.245223] sync_intc0mask = 0x00000001
[   52.245225] sync_intmask = 0x50000003
[   52.245227] 
               ---- host syncpt irq mask ----

[   52.245231] 
               ---- host syncpt irq status ----

[   52.245236] syncpt_thresh_cpu0_int_status(0) = 0x00000000
[   52.245239] syncpt_thresh_cpu0_int_status(1) = 0x00000000
[   52.245242] syncpt_thresh_cpu0_int_status(2) = 0x00000000
[   52.245244] syncpt_thresh_cpu0_int_status(3) = 0x00000000
[   52.245247] syncpt_thresh_cpu0_int_status(4) = 0x00000000
[   52.245250] syncpt_thresh_cpu0_int_status(5) = 0x00000000
[   52.245253] syncpt_thresh_cpu0_int_status(6) = 0x00000000
[   52.245256] syncpt_thresh_cpu0_int_status(7) = 0x00000000
[   52.245258] syncpt_thresh_cpu0_int_status(8) = 0x00000000
[   52.245261] syncpt_thresh_cpu0_int_status(9) = 0x00000000
[   52.245264] syncpt_thresh_cpu0_int_status(10) = 0x00000000
[   52.245267] syncpt_thresh_cpu0_int_status(11) = 0x00000000
[   52.245270] syncpt_thresh_cpu0_int_status(12) = 0x00000000
[   52.245273] syncpt_thresh_cpu0_int_status(13) = 0x00000000
[   52.245275] syncpt_thresh_cpu0_int_status(14) = 0x00000000
[   52.245278] syncpt_thresh_cpu0_int_status(15) = 0x00000000
[   52.245281] syncpt_thresh_cpu0_int_status(16) = 0x00000000
[   52.245284] syncpt_thresh_cpu0_int_status(17) = 0x00000000
[   52.245294] tegra-vi4 15700000.vi:     SYNCPT_ID   50
[   52.250361] tegra-vi4 15700000.vi:     SYNCPT_VAL  1
[   52.255336] tegra-vi4 15700000.vi:     FIRST_GET   0x5a514000
[   52.261086] tegra-vi4 15700000.vi:     TIMEOUT     10000
[   52.266396] tegra-vi4 15700000.vi:     NUM_SLOTS   7
[   52.271369] tegra-vi4 15700000.vi:     NUM_HANDLES 2
[   52.276348] tegra-vi4 15700000.vi:     SYNCPT_ID   50
[   52.281402] tegra-vi4 15700000.vi:     SYNCPT_VAL  2
[   52.286364] tegra-vi4 15700000.vi:     FIRST_GET   0x5a514038
[   52.292119] tegra-vi4 15700000.vi:     TIMEOUT     10000
[   52.297444] tegra-vi4 15700000.vi:     NUM_SLOTS   6
[   52.302415] tegra-vi4 15700000.vi:     NUM_HANDLES 2
[   53.708182] fence timeout on [ffffffc1a94be500] after 1500ms
[   53.713930] name=[nvhost_sync:21], current value=0 waiting value=1
[   53.713940] fence timeout on [ffffffc1b22b8f00] after 1500ms
[   53.713957] name=[nvhost_sync:24], current value=1 waiting value=2
[   53.713968] ---- mlocks ----
[   53.713985] 8: locked by channel 7

[   53.714009] ---- syncpts ----
[   53.714048] id 18 (17000000.gp10b_507) min 4952 max 4952 refs 1 (previous client : 17000000.gp10b_507)
[   53.714059] id 19 (17000000.gp10b_506) min 24 max 24 refs 1 (previous client : 17000000.gp10b_506)
[   53.714071] id 20 (17000000.gp10b_505) min 288 max 288 refs 1 (previous client : 17000000.gp10b_505)
[   53.714082] id 21 (15600000.isp_nvcamera-daemon_0) min 0 max 4 refs 4 (previous client : )
[   53.714096] id 24 (15600000.isp_nvcamera-daemon_3) min 1 max 2 refs 4 (previous client : )
[   53.714106] id 25 (15600000.isp_nvcamera-daemon_4) min 13 max 24 refs 9 (previous client : )
[   53.714118] id 28 (15600000.isp_nvcamera-daemon_5) min 1 max 2 refs 4 (previous client : )
[   53.714133] id 33 (17000000.gp10b_500) min 2 max 2 refs 1 (previous client : )
[   53.714145] id 35 (17000000.gp10b_498) min 9 max 9 refs 1 (previous client : 15700000.vi_0)
[   53.714155] id 36 (17000000.gp10b_497) min 6 max 6 refs 1 (previous client : 15700000.vi_0)
[   53.714168] id 39 (17000000.gp10b_494) min 8 max 8 refs 1 (previous client : 150c0000.nvcsi_0)
[   53.714182] id 44 (17000000.gp10b_493) min 2 max 2 refs 1 (previous client : )
[   53.714193] id 46 (17000000.gp10b_491) min 6 max 6 refs 1 (previous client : )
[   53.714203] id 47 (15700000.vi_0) min 8 max 8 refs 2 (previous client : )
[   53.714213] id 48 (15340000.vic_queue0:src_0) min 5 max 5 refs 1 (previous client : 15700000.vi_0)
[   53.714222] id 49 () min 2 max 2 refs 0 (previous client : 15700000.vi_1)
[   53.714231] id 50 () min 2 max 2 refs 0 (previous client : 15700000.vi_2)
[   53.714241] id 51 (150c0000.nvcsi_0) min 6 max 6 refs 2 (previous client : )

[   53.714859] ---- channels ----
[   53.714886] 
               channel 0 - 15810000.se

[   53.714891] NvHost basic channel registers:
[   53.714899] CMDFIFO_STAT_0:  00002040
[   53.714906] CMDFIFO_RDATA_0: 4884840c
[   53.714912] CMDP_OFFSET_0:   00000000
[   53.714918] CMDP_CLASS_0:    00000000
[   53.714923] CHANNELSTAT_0:   00000000
[   53.714928] The CDMA sync queue is empty.

[   53.714941] 
               channel 1 - 15820000.se

[   53.714945] NvHost basic channel registers:
[   53.714951] CMDFIFO_STAT_0:  00002040
[   53.714956] CMDFIFO_RDATA_0: b1887494
[   53.714962] CMDP_OFFSET_0:   00000000
[   53.714966] CMDP_CLASS_0:    00000000
[   53.714971] CHANNELSTAT_0:   00000000
[   53.714975] The CDMA sync queue is empty.

[   53.714987] 
               channel 2 - 15830000.se

[   53.714991] NvHost basic channel registers:
[   53.714996] CMDFIFO_STAT_0:  00002040
[   53.715001] CMDFIFO_RDATA_0: 56000c10
[   53.715006] CMDP_OFFSET_0:   00000000
[   53.715011] CMDP_CLASS_0:    00000000
[   53.715016] CHANNELSTAT_0:   00000000
[   53.715020] The CDMA sync queue is empty.

[   53.715031] 
               channel 3 - 15840000.se

[   53.715034] NvHost basic channel registers:
[   53.715040] CMDFIFO_STAT_0:  00002040
[   53.715045] CMDFIFO_RDATA_0: 439cd057
[   53.715050] CMDP_OFFSET_0:   00000000
[   53.715055] CMDP_CLASS_0:    00000000
[   53.715059] CHANNELSTAT_0:   00000000
[   53.715063] The CDMA sync queue is empty.

[   53.715076] 
               channel 7 - 15600000.isp

[   53.715080] NvHost basic channel registers:
[   53.715085] CMDFIFO_STAT_0:  00000000
[   53.715090] CMDFIFO_RDATA_0: 004e0041
[   53.715095] CMDP_OFFSET_0:   00000050
[   53.715100] CMDP_CLASS_0:    00000001
[   53.715105] CHANNELSTAT_0:   00000000
[   53.715121] 
               ffffffc1a9432e00: JOB, syncpt_id=21, syncpt_val=2, first_get=5a51c1b0, timeout=10000, num_slots=15
[   53.715133]     GATHER at 5a710000+5b68, 8 words
[   53.715167] 20000001 00006415 20000001 00007c18 20000001 0000741c 200c0001 00000005 
[   53.715178]     GATHER at 5a710000+5b88, 2 words
[   53.715190] 20000001 00000019 

[   53.715203] 
               channel 6 - 150c0000.nvcsi

[   53.715207] NvHost basic channel registers:
[   53.715213] CMDFIFO_STAT_0:  00002040
[   53.715218] CMDFIFO_RDATA_0: 00000033
[   53.715223] CMDP_OFFSET_0:   00000000
[   53.715229] CMDP_CLASS_0:    00000001
[   53.715234] CHANNELSTAT_0:   00000000
[   53.715238] The CDMA sync queue is empty.

[   53.715249] 
               channel 4 - 15700000.vi

[   53.715253] NvHost basic channel registers:
[   53.715258] CMDFIFO_STAT_0:  00002040
[   53.715263] CMDFIFO_RDATA_0: 0000002f
[   53.715268] CMDP_OFFSET_0:   00000000
[   53.715273] CMDP_CLASS_0:    00000001
[   53.715278] CHANNELSTAT_0:   00000000
[   53.715282] The CDMA sync queue is empty.

[   53.715292] 
               ---- host general irq ----

[   53.715298] sync_intc0mask = 0x00000001
[   53.715304] sync_intmask = 0x50000003
[   53.715307] 
               ---- host syncpt irq mask ----

[   53.715312] 
               ---- host syncpt irq status ----

[   53.715321] syncpt_thresh_cpu0_int_status(0) = 0x00000000
[   53.715328] syncpt_thresh_cpu0_int_status(1) = 0x00000000
[   53.715334] syncpt_thresh_cpu0_int_status(2) = 0x00000000
[   53.715340] syncpt_thresh_cpu0_int_status(3) = 0x00000000
[   53.715345] syncpt_thresh_cpu0_int_status(4) = 0x00000000
[   53.715351] syncpt_thresh_cpu0_int_status(5) = 0x00000000
[   53.715357] syncpt_thresh_cpu0_int_status(6) = 0x00000000
[   53.715363] syncpt_thresh_cpu0_int_status(7) = 0x00000000
[   53.715369] syncpt_thresh_cpu0_int_status(8) = 0x00000000
[   53.715374] syncpt_thresh_cpu0_int_status(9) = 0x00000000
[   53.715381] syncpt_thresh_cpu0_int_status(10) = 0x00000000
[   53.715387] syncpt_thresh_cpu0_int_status(11) = 0x00000000
[   53.715393] syncpt_thresh_cpu0_int_status(12) = 0x00000000
[   53.715400] syncpt_thresh_cpu0_int_status(13) = 0x00000000
[   53.715406] syncpt_thresh_cpu0_int_status(14) = 0x00000000
[   53.715412] syncpt_thresh_cpu0_int_status(15) = 0x00000000
[   53.715418] syncpt_thresh_cpu0_int_status(16) = 0x00000000
[   53.715424] syncpt_thresh_cpu0_int_status(17) = 0x00000000
[   53.732808] ---- mlocks ----
[   53.732828] 8: locked by channel 7

[   53.732858] ---- syncpts ----
[   53.732917] id 18 (17000000.gp10b_507) min 4952 max 4952 refs 1 (previous client : 17000000.gp10b_507)
[   53.732932] id 19 (17000000.gp10b_506) min 24 max 24 refs 1 (previous client : 17000000.gp10b_506)
[   53.732946] id 20 (17000000.gp10b_505) min 288 max 288 refs 1 (previous client : 17000000.gp10b_505)
[   53.732959] id 21 (15600000.isp_nvcamera-daemon_0) min 0 max 4 refs 4 (previous client : )
[   53.733006] id 24 (15600000.isp_nvcamera-daemon_3) min 1 max 2 refs 4 (previous client : )
[   53.733019] id 25 (15600000.isp_nvcamera-daemon_4) min 13 max 24 refs 9 (previous client : )
[   53.733033] id 28 (15600000.isp_nvcamera-daemon_5) min 1 max 2 refs 4 (previous client : )
[   53.733049] id 33 (17000000.gp10b_500) min 2 max 2 refs 1 (previous client : )
[   53.733063] id 35 (17000000.gp10b_498) min 9 max 9 refs 1 (previous client : 15700000.vi_0)
[   53.733080] id 36 (17000000.gp10b_497) min 6 max 6 refs 1 (previous client : 15700000.vi_0)
[   53.733094] id 39 (17000000.gp10b_494) min 8 max 8 refs 1 (previous client : 150c0000.nvcsi_0)
[   53.733110] id 44 (17000000.gp10b_493) min 2 max 2 refs 1 (previous client : )
[   53.733123] id 46 (17000000.gp10b_491) min 6 max 6 refs 1 (previous client : )
[   53.733135] id 47 (15700000.vi_0) min 8 max 8 refs 2 (previous client : )
[   53.733152] id 48 (15340000.vic_queue0:src_0) min 5 max 5 refs 1 (previous client : 15700000.vi_0)
[   53.733164] id 49 () min 2 max 2 refs 0 (previous client : 15700000.vi_1)
[   53.733175] id 50 () min 2 max 2 refs 0 (previous client : 15700000.vi_2)
[   53.733187] id 51 (150c0000.nvcsi_0) min 6 max 6 refs 2 (previous client : )

[   53.733733] ---- channels ----
[   53.733755] 
               channel 0 - 15810000.se

[   53.733769] NvHost basic channel registers:
[   53.733778] CMDFIFO_STAT_0:  00002040
[   53.733788] CMDFIFO_RDATA_0: 4884840c
[   53.733803] CMDP_OFFSET_0:   00000000
[   53.733811] CMDP_CLASS_0:    00000000
[   53.733820] CHANNELSTAT_0:   00000000
[   53.733827] The CDMA sync queue is empty.

[   53.733845] 
               channel 1 - 15820000.se

[   53.733857] NvHost basic channel registers:
[   53.733870] CMDFIFO_STAT_0:  00002040
[   53.733879] CMDFIFO_RDATA_0: b1887494
[   53.733887] CMDP_OFFSET_0:   00000000
[   53.733895] CMDP_CLASS_0:    00000000
[   53.733903] CHANNELSTAT_0:   00000000
[   53.733910] The CDMA sync queue is empty.

[   53.733928] 
               channel 2 - 15830000.se

[   53.733945] NvHost basic channel registers:
[   53.733953] CMDFIFO_STAT_0:  00002040
[   53.733961] CMDFIFO_RDATA_0: 56000c10
[   53.733969] CMDP_OFFSET_0:   00000000
[   53.733977] CMDP_CLASS_0:    00000000
[   53.733985] CHANNELSTAT_0:   00000000
[   53.733992] The CDMA sync queue is empty.

[   53.734008] 
               channel 3 - 15840000.se

[   53.734024] NvHost basic channel registers:
[   53.734032] CMDFIFO_STAT_0:  00002040
[   53.734040] CMDFIFO_RDATA_0: 439cd057
[   53.734048] CMDP_OFFSET_0:   00000000
[   53.734056] CMDP_CLASS_0:    00000000
[   53.734064] CHANNELSTAT_0:   00000000
[   53.734072] The CDMA sync queue is empty.

[   53.734089] 
               channel 7 - 15600000.isp

[   53.734105] NvHost basic channel registers:
[   53.734113] CMDFIFO_STAT_0:  00000000
[   53.734121] CMDFIFO_RDATA_0: 004e0041
[   53.734130] CMDP_OFFSET_0:   00000050
[   53.734138] CMDP_CLASS_0:    00000001
[   53.734146] CHANNELSTAT_0:   00000000
[   53.734161] 
               ffffffc1a9432e00: JOB, syncpt_id=21, syncpt_val=2, first_get=5a51c1b0, timeout=10000, num_slots=15
[   53.734181]     GATHER at 5a710000+5b68, 8 words
[   53.734191] 20000001 00006415 20000001 00007c18 20000001 0000741c 200c0001 00000005 
[   53.734235]     GATHER at 5a710000+5b88, 2 words
[   53.734244] 20000001 00000019 

[   53.734274] 
               channel 6 - 150c0000.nvcsi

[   53.734287] NvHost basic channel registers:
[   53.734295] CMDFIFO_STAT_0:  00002040
[   53.734304] CMDFIFO_RDATA_0: 00000033
[   53.734312] CMDP_OFFSET_0:   00000000
[   53.734320] CMDP_CLASS_0:    00000001
[   53.734329] CHANNELSTAT_0:   00000000
[   53.734341] The CDMA sync queue is empty.

[   53.734357] 
               channel 4 - 15700000.vi

[   53.734369] NvHost basic channel registers:
[   53.734377] CMDFIFO_STAT_0:  00002040
[   53.734385] CMDFIFO_RDATA_0: 0000002f
[   53.734394] CMDP_OFFSET_0:   00000000
[   53.734402] CMDP_CLASS_0:    00000001
[   53.734415] CHANNELSTAT_0:   00000000
[   53.734422] The CDMA sync queue is empty.

[   53.734437] 
               ---- host general irq ----

[   53.734451] sync_intc0mask = 0x00000001
[   53.734459] sync_intmask = 0x50000003
[   53.734466] 
               ---- host syncpt irq mask ----

[   53.734479] 
               ---- host syncpt irq status ----

[   53.734499] syncpt_thresh_cpu0_int_status(0) = 0x00000000
[   53.734508] syncpt_thresh_cpu0_int_status(1) = 0x00000000
[   53.734517] syncpt_thresh_cpu0_int_status(2) = 0x00000000
[   53.734526] syncpt_thresh_cpu0_int_status(3) = 0x00000000
[   53.734535] syncpt_thresh_cpu0_int_status(4) = 0x00000000
[   53.734544] syncpt_thresh_cpu0_int_status(5) = 0x00000000
[   53.734552] syncpt_thresh_cpu0_int_status(6) = 0x00000000
[   53.734561] syncpt_thresh_cpu0_int_status(7) = 0x00000000
[   53.734574] syncpt_thresh_cpu0_int_status(8) = 0x00000000
[   53.734583] syncpt_thresh_cpu0_int_status(9) = 0x00000000
[   53.734592] syncpt_thresh_cpu0_int_status(10) = 0x00000000
[   53.734601] syncpt_thresh_cpu0_int_status(11) = 0x00000000
[   53.734610] syncpt_thresh_cpu0_int_status(12) = 0x00000000
[   53.734618] syncpt_thresh_cpu0_int_status(13) = 0x00000000
[   53.734627] syncpt_thresh_cpu0_int_status(14) = 0x00000000
[   53.734636] syncpt_thresh_cpu0_int_status(15) = 0x00000000
[   53.734650] syncpt_thresh_cpu0_int_status(16) = 0x00000000
[   53.734658] syncpt_thresh_cpu0_int_status(17) = 0x00000000
[   54.254194] imx377 11-001a: imx377_s_stream++ enable 0
[   54.354284] imx377 11-001a: imx377_set_gain - val = 4194722
[   54.359924] imx377 11-001a: input gain value: 256
[   54.364760] imx377 11-001a: imx377_set_gain: gain 0100 val: 0000
[   54.371681] imx377 11-001a: imx377_set_frame_rate: val: 125829120
[   54.377861] imx377 11-001a: imx377_set_exposure: val: 125829120
[   54.383853] imx377 11-001a: imx377_set_coarse_time
[   54.388686] imx377 11-001a: imx377_set_coarse_time: input val: 2400000
[   54.395268] imx377 11-001a: imx377_clamp_coarse_time: 2400000 to 4538
[   54.401756] imx377 11-001a: imx377_set_coarse_time: set val: 12
[   54.408952] imx377 11-001a: imx377_power_off: power off
[   62.220218] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 21 (15600000.isp_nvcamera-daemon_0) clientid 1, HW thresh 0, done 2
[   62.232344] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 24 (15600000.isp_nvcamera-daemon_3) clientid 1, HW thresh 1, done 1
[   62.244420] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 28 (15600000.isp_nvcamera-daemon_5) clientid 1, HW thresh 1, done 1
[   62.256520] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 25 (15600000.isp_nvcamera-daemon_4) clientid 1, HW thresh 13, done 13
[   62.268783] ---- mlocks ----
[   62.268807] 8: locked by channel 7

[   62.268837] ---- syncpts ----
[   62.268867] id 18 (17000000.gp10b_507) min 4960 max 4960 refs 1 (previous client : 17000000.gp10b_507)
[   62.268878] id 19 (17000000.gp10b_506) min 24 max 24 refs 1 (previous client : 17000000.gp10b_506)
[   62.268910] id 20 (17000000.gp10b_505) min 304 max 304 refs 1 (previous client : 17000000.gp10b_505)
[   62.268921] id 21 (15600000.isp_nvcamera-daemon_0) min 0 max 4 refs 3 (previous client : )
[   62.268932] id 24 (15600000.isp_nvcamera-daemon_3) min 1 max 2 refs 3 (previous client : )
[   62.268941] id 25 (15600000.isp_nvcamera-daemon_4) min 13 max 24 refs 8 (previous client : )
[   62.268952] id 28 (15600000.isp_nvcamera-daemon_5) min 1 max 2 refs 3 (previous client : )
[   62.268966] id 33 () min 2 max 2 refs 0 (previous client : 17000000.gp10b_500)
[   62.268976] id 35 () min 9 max 9 refs 0 (previous client : 17000000.gp10b_498)
[   62.268985] id 36 () min 6 max 6 refs 0 (previous client : 17000000.gp10b_497)
[   62.268996] id 39 () min 8 max 8 refs 0 (previous client : 17000000.gp10b_494)
[   62.269010] id 44 () min 2 max 2 refs 0 (previous client : 17000000.gp10b_493)
[   62.269020] id 46 () min 6 max 6 refs 0 (previous client : 17000000.gp10b_491)
[   62.269029] id 47 () min 8 max 8 refs 0 (previous client : 15700000.vi_0)
[   62.269039] id 48 (15340000.vic_queue0:src_0) min 2105 max 2105 refs 1 (previous client : 15700000.vi_0)
[   62.269049] id 49 () min 2 max 2 refs 0 (previous client : 15700000.vi_1)
[   62.269057] id 50 () min 2 max 2 refs 0 (previous client : 15700000.vi_2)
[   62.269067] id 51 () min 6 max 6 refs 0 (previous client : 150c0000.nvcsi_0)

[   62.269562] ---- channels ----
[   62.269583] 
               channel 0 - 15810000.se

[   62.269594] NvHost basic channel registers:
[   62.269605] CMDFIFO_STAT_0:  00002040
[   62.269613] CMDFIFO_RDATA_0: 4884840c
[   62.269620] CMDP_OFFSET_0:   00000000
[   62.269626] CMDP_CLASS_0:    00000000
[   62.269633] CHANNELSTAT_0:   00000000
[   62.269639] The CDMA sync queue is empty.

[   62.269653] 
               channel 1 - 15820000.se

[   62.269663] NvHost basic channel registers:
[   62.269671] CMDFIFO_STAT_0:  00002040
[   62.269682] CMDFIFO_RDATA_0: b1887494
[   62.269688] CMDP_OFFSET_0:   00000000
[   62.269694] CMDP_CLASS_0:    00000000
[   62.269701] CHANNELSTAT_0:   00000000
[   62.269707] The CDMA sync queue is empty.

[   62.269720] 
               channel 2 - 15830000.se

[   62.269729] NvHost basic channel registers:
[   62.269740] CMDFIFO_STAT_0:  00002040
[   62.269746] CMDFIFO_RDATA_0: 56000c10
[   62.269753] CMDP_OFFSET_0:   00000000
[   62.269759] CMDP_CLASS_0:    00000000
[   62.269765] CHANNELSTAT_0:   00000000
[   62.269771] The CDMA sync queue is empty.

[   62.269784] 
               channel 3 - 15840000.se

[   62.269793] NvHost basic channel registers:
[   62.269803] CMDFIFO_STAT_0:  00002040
[   62.269809] CMDFIFO_RDATA_0: 439cd057
[   62.269815] CMDP_OFFSET_0:   00000000
[   62.269822] CMDP_CLASS_0:    00000000
[   62.269828] CHANNELSTAT_0:   00000000
[   62.269833] The CDMA sync queue is empty.

[   62.269847] 
               channel 7 - 15600000.isp

[   62.269860] NvHost basic channel registers:
[   62.269867] CMDFIFO_STAT_0:  00000000
[   62.269873] CMDFIFO_RDATA_0: 004e0041
[   62.269880] CMDP_OFFSET_0:   00000050
[   62.269886] CMDP_CLASS_0:    00000001
[   62.269892] CHANNELSTAT_0:   00000000
[   62.269903] 
               ffffffc1a9432e00: JOB, syncpt_id=21, syncpt_val=2, first_get=5a51c1b0, timeout=10000, num_slots=15
[   62.269918]     GATHER at 5a710000+5b68, 8 words
[   62.269926] 20000001 00006415 20000001 00007c18 20000001 0000741c 200c0001 00000005 
[   62.269960]     GATHER at 5a710000+5b88, 2 words
[   62.269967] 20000001 00000019 

[   62.269994] 
               ---- host general irq ----

[   62.270005] sync_intc0mask = 0x00000001
[   62.270013] sync_intmask = 0x50000003
[   62.270018] 
               ---- host syncpt irq mask ----

[   62.270029] 
               ---- host syncpt irq status ----

[   62.270044] syncpt_thresh_cpu0_int_status(0) = 0x00000000
[   62.270052] syncpt_thresh_cpu0_int_status(1) = 0x00000000
[   62.270059] syncpt_thresh_cpu0_int_status(2) = 0x00000000
[   62.270066] syncpt_thresh_cpu0_int_status(3) = 0x00000000
[   62.270073] syncpt_thresh_cpu0_int_status(4) = 0x00000000
[   62.270079] syncpt_thresh_cpu0_int_status(5) = 0x00000000
[   62.270086] syncpt_thresh_cpu0_int_status(6) = 0x00000000
[   62.270096] syncpt_thresh_cpu0_int_status(7) = 0x00000000
[   62.270103] syncpt_thresh_cpu0_int_status(8) = 0x00000000
[   62.270109] syncpt_thresh_cpu0_int_status(9) = 0x00000000
[   62.270116] syncpt_thresh_cpu0_int_status(10) = 0x00000000
[   62.270123] syncpt_thresh_cpu0_int_status(11) = 0x00000000
[   62.270130] syncpt_thresh_cpu0_int_status(12) = 0x00000000
[   62.270137] syncpt_thresh_cpu0_int_status(13) = 0x00000000
[   62.270144] syncpt_thresh_cpu0_int_status(14) = 0x00000000
[   62.270154] syncpt_thresh_cpu0_int_status(15) = 0x00000000
[   62.270161] syncpt_thresh_cpu0_int_status(16) = 0x00000000
[   62.270168] syncpt_thresh_cpu0_int_status(17) = 0x00000000
[   62.290960] isp 15600000.isp:     SYNCPT_ID   21
[   62.295621] isp 15600000.isp:     SYNCPT_VAL  2
[   62.300192] isp 15600000.isp:     FIRST_GET   0x5a51c1b0
[   62.305535] isp 15600000.isp:     TIMEOUT     10000
[   62.310431] isp 15600000.isp:     NUM_SLOTS   15
[   62.315076] isp 15600000.isp:     NUM_HANDLES 1
[   62.319653] isp 15600000.isp:     SYNCPT_ID   25
[   62.324324] isp 15600000.isp:     SYNCPT_VAL  15
[   62.328971] isp 15600000.isp:     FIRST_GET   0x5a51c228
[   62.334306] isp 15600000.isp:     TIMEOUT     10000
[   62.339205] isp 15600000.isp:     NUM_SLOTS   10
[   62.343829] isp 15600000.isp:     NUM_HANDLES 1
[   62.348392] isp 15600000.isp:     SYNCPT_ID   25
[   62.353010] isp 15600000.isp:     SYNCPT_VAL  17
[   62.357630] isp 15600000.isp:     FIRST_GET   0x5a51c278
[   62.362940] isp 15600000.isp:     TIMEOUT     10000
[   62.367820] isp 15600000.isp:     NUM_SLOTS   9
[   62.372349] isp 15600000.isp:     NUM_HANDLES 1
[   62.376907] isp 15600000.isp:     SYNCPT_ID   25
[   62.381525] isp 15600000.isp:     SYNCPT_VAL  19
[   62.386146] isp 15600000.isp:     FIRST_GET   0x5a51c2c0
[   62.391453] isp 15600000.isp:     TIMEOUT     10000
[   62.396332] isp 15600000.isp:     NUM_SLOTS   9
[   62.400873] isp 15600000.isp:     NUM_HANDLES 1
[   62.405472] isp 15600000.isp:     SYNCPT_ID   25
[   62.410096] isp 15600000.isp:     SYNCPT_VAL  21
[   62.414718] isp 15600000.isp:     FIRST_GET   0x5a51c308
[   62.420064] isp 15600000.isp:     TIMEOUT     10000
[   62.424948] isp 15600000.isp:     NUM_SLOTS   9
[   62.429481] isp 15600000.isp:     NUM_HANDLES 3
[   62.434039] isp 15600000.isp:     SYNCPT_ID   21
[   62.438656] isp 15600000.isp:     SYNCPT_VAL  4
[   62.443189] isp 15600000.isp:     FIRST_GET   0x5a51c350
[   62.448500] isp 15600000.isp:     TIMEOUT     10000
[   62.453381] isp 15600000.isp:     NUM_SLOTS   15
[   62.457997] isp 15600000.isp:     NUM_HANDLES 1
[   62.462596] isp 15600000.isp:     SYNCPT_ID   25
[   62.467215] isp 15600000.isp:     SYNCPT_VAL  24
[   62.471833] isp 15600000.isp:     FIRST_GET   0x5a51c3c8
[   62.477146] isp 15600000.isp:     TIMEOUT     10000
[   62.482025] isp 15600000.isp:     NUM_SLOTS   10
[   62.486641] isp 15600000.isp:     NUM_HANDLES 1

Well, maybe I spoke too soon… We just tried yavta, and are seeing the PXL_SOF syncpt timeout errors.

schwartz, are you seeing the dma timeouts when you run nvgstcapture?

Hi Guys
Could you check the sensor do have output embedded data, and please disable it to try.

Hi Guys!

AdamTo:
1)
When using nvgstcapture I’m not getting to the PXL_SOF point, because the nvcamera-deamon crashes before any pictures are captured.
dmesg output:

[   49.942936] nvcamera-daemon[1681]: unhandled level 2 translation fault (11) at 0x00000000, esr 0x92000006
[   49.952572] pgd = ffffffc1be435000
[   49.956026] [00000000] *pgd=000000023e446003, *pud=000000023e446003, *pmd=0000000000000000

[   49.964361] CPU: 0 PID: 1681 Comm: nvcamera-daemon Not tainted 4.4.15 #6
[   49.964364] Hardware name: quill (DT)
[   49.964368] task: ffffffc1d78d4b00 ti: ffffffc05e4c8000 task.ti: ffffffc05e4c8000
[   49.964372] PC is at 0x403568
[   49.964375] LR is at 0x403564
[   49.964377] pc : [<0000000000403568>] lr : [<0000000000403564>] pstate: 60000000
[   49.964380] sp : 0000007f85946e10
[   49.964382] x29: 0000007f8594b9d0 x28: 0000000000000005 
[   49.964386] x27: 0000000000000000 x26: 0000007f8594ae80 
[   49.964390] x25: 0000000000405000 x24: 0000007f85947e80 
[   49.964394] x23: 0000000000000334 x22: 0000007f85948f7c 
[   49.964397] x21: 0000007f85946e90 x20: 0000007f85948e80 
[   49.964401] x19: 0000007f859496a8 x18: 0000000000000014 
[   49.964404] x17: 0000007f86fc2fb0 x16: 0000007f86e1a540 
[   49.964407] x15: 0000007f8796a000 x14: 7265766972446172 
[   49.964410] x13: 656d61432f697061 x12: 2f637273206d6f72 
[   49.964414] x11: 6620676e69746167 x10: 61706f7270282020 
[   49.964417] x9 : 3a726574656d6172 x8 : 0000000000000040 
[   49.964425] x7 : 0000007f807491f0 x6 : 0000000000000001 
[   49.964428] x5 : 0000000000000000 x4 : 0000007f80000b10 
[   49.964432] x3 : 0000000000000000 x2 : 0000000000000001 
[   49.964435] x1 : 0000000000000000 x0 : 0000000000000000 

[   49.964443] Library at 0x403568: 0x400000 /usr/sbin/nvcamera-daemon
[   49.970718] Library at 0x403564: 0x400000 /usr/sbin/nvcamera-daemon
[   49.976984] vdso base = 0x7f87969000

Would you mind telling me how you enabled the verbose debug outputs for the syncpoints and channels?

ShaneCCC:
Our sensor does output 4 lines of embedded data, which can not be turned off.
I will try to create a “cheating” sensor mode, where the driver exposes 1920x1080, but the sensor is configured to 1920x1076 (+4 embedded data). Maybe I can get some insight with that.

Good threat so far, lets get these problems!

ShanceCCC: Is setting embedded_metadata_height = “0”;" in device tree enough to disable? We tried that, and got the same results.

schwartz: Ah yes, we are very familiar with crashing the nvcamera-deamon! From our experience that was happening when there were more major problems in the device tree setup, I can’t necessarily point you to one thing that fixed it, there may be some clues in it’s output. Our daemon is actually running, although we are getting timeout errors here as well:

nvidia@tegra-ubuntu:~$ sudo /usr/sbin/nvcamera-daemon
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: No module data found
LSC: LSC surface is not based on full res!
LSC: LSC surface is not based on full res!
LSC: LSC surface is not based on full res!
LSC: LSC surface is not based on full res!
captureErrorCallback Stream 4.0 capture 0 failed: ts 1939538980 frame 0 error 4 data 0x00000200

SCF: Error Timeout:  (propagating from src/services/autocontrol/NvCameraIspDriver.cpp, function programIsp(), line 1199)
SCF: Error Timeout:  (propagating from src/services/autocontrol/NvCameraIspDriver.cpp, function programIsp(), line 1241)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceCore.cpp, function programIsp(), line 321)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceCore.cpp, function doCSItoISPCapture(), line 446)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceCore.cpp, function issueCapture(), line 344)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 1190)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 1042)
SCF: Error Timeout:  (propagating from src/common/Utils.cpp, function workerThread(), line 113)
SCF: Error Timeout: Worker thread CaptureScheduler frameStart failed (in src/common/Utils.cpp, function workerThread(), line 130)
SCF: Error InvalidState: Force-unlocking a buffer w/o fences
 (in src/components/CaptureContainerImpl.cpp, function returnBuffer(), line 344)
SCF: Error InvalidState: Force-unlocking a buffer w/o fences
 (in src/components/CaptureContainerImpl.cpp, function returnBuffer(), line 344)
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/CaptureServiceDeviceIsp.cpp, function waitIspStatsFinished(), line 746)
SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/CaptureServiceDeviceIsp.cpp, function waitIspFrameEnd(), line 663)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceDeviceIsp.cpp, function waitIspFrameEnd(), line 704)
SCF: Error Timeout:  (propagating from src/common/Utils.cpp, function workerThread(), line 113)
SCF: Error Timeout: Worker thread IspHw frameComplete failed (in src/common/Utils.cpp, function workerThread(), line 130)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
launchCC abort cc 106
SCF: Error Timeout:  (propagating from src/api/Session.cpp, function capture(), line 750)
launchCC abort cc 107
SCF: Error Timeout:  (propagating from src/api/Session.cpp, function capture(), line 750)
launchCC abort cc 108
SCF: Error Timeout:  (propagating from src/api/Session.cpp, function capture(), line 750)
launchCC abort cc 109
SCF: Error Timeout:  (propagating from src/api/Session.cpp, function capture(), line 750)
launchCC abort cc 110
SCF: Error Timeout:  (propagating from src/api/Session.cpp, function capture(), line 750)
launchCC abort cc 111
SCF: Error Timeout:  (propagating from src/api/Session.cpp, function capture(), line 750)
launchCC abort cc 112
SCF: Error Timeout:  (propagating from src/api/Session.cpp, function capture(), line 750)

I don’t think we have done anything special to get those debug prints, although our sensor driver does have a “#define DEBUG 1” before all the other includes.

Adam
No, set the embedded_metadata_height = “0” does not really disable it.
Does any kernel syncpt message after the nvcamera_daemon get timeout?

AdamTo:
I will look into my device tree again, thank you for the hint. Did you base your device tree on a driver by nvidia? Because of the lack of documentation, I basically just copied/edited the -e3322-a0.dtsi file.

ShaneCCC:
There is no timeout after the nvcamera_daemon crash, because no image is transferred at all. When running nvgstcapture-1.0 the daemon crashes with the error from my post above. There are no other errors in dmesg.
nvgstcapture-1.0 returns: (after showing all options)

bitrate = 4000000
Encoder Profile = Baseline
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and MjstreamingSocket read error. Camera Daemon stopped functioning.....
gst_nvcamera_open() failed ret=0

** (nvgstcapture-1.0:1828): CRITICAL **: <create_capture_pipeline:4497> can't set camera to playing


** (nvgstcapture-1.0:1828): CRITICAL **: <main:5290> Capture Pipeline creation failed
** Message: <main:5297> Capture completed
** Message: <main:5347> Camera application will now exit

Best regards!

schwartz: We are trying to port the imx377 driver from TX1 to TX2, we have the Leopard patches against the Nvidia TX1 kernel we are basing off… the e3322 file has been a nice reference, as has the e3333 file, which has multiple sensors in it (the Leopard imx377 board has 3 ports, so is somewhat similar).

ShaneCCC: We do not have a sensor datasheet, so I don’t know how to disable embedded metadata (if even possible) on the sensor side. Our starting point was the Leopard TX1 patches, and it is indeed working on a TX1.

Since the nvcamera-daemon logs do not have timestamps, I’m not sure how you want me to correlate that output with the kernel logs. My thinking is that the kernel logs don’t show any relevant output until we actually run nvgstcapture-1.0, and the nvcamera-daemon times out very quickly after starting the capture, so most of the kernel output I pasted above will be after the nvcamera-daemon is timing out (there are 10 seconds of kernel output, and the nvcamera-daemon is timing out less than a second after starting the capture).

schwartz: We have been looking at yavta a little more, and we realized that none of the sensor driver controls were making it through in the listing of “yavta -l /dev/video0”. We’re not exactly sure what was going on, but by changing the control types in the sensor driver from V4L2_CTRL_TYPE_INTEGER64 to V4L2_CTRL_TYPE_INTEGER and not using the val64 variables, we are able to get some more sensible output from yavta -l:

Device /dev/video0 opened.
Device `vi-output, imx377 9-001a' on `platform:15700000.vi:0' (driver 'tegra-video') is a video capture (without mplanes) device.
--- Camera Controls (class 0x009a0001) ---
control 0x009a2003 `Group Hold' min 0 max 1 step 1 default 0 current 0.
  0: 0 (*)
  1: 1
control 0x009a2004 `HDR enable' min 0 max 1 step 1 default 0 current 0.
  0: 0 (*)
  1: 1
control 0x009a2007 `Fuse ID' min 0 max 16 step 2 default 0 current .
control 0x009a200a `Sensor Mode' min 0 max 2147483647 step 1 default 0 current 0.
control 0x009a200b `Gain' min 0 max 92274688 step 1 default 4194304 current 4194304.
control 0x009a200c `Exposure' min 0 max 973078528 step 1 default 67108864 current 67108864.
control 0x009a200d `Frame Rate' min 125829120 max 251658240 step 1 default 251658240 current 251658240.
control 0x009a2064 `Bypass Mode' min 0 max 1 step 1 default 0 current 0.
  0: 0 (*)
  1: 1
control 0x009a2065 `Override Enable' min 0 max 1 step 1 default 0 current 0.
  0: 0 (*)
  1: 1
control 0x009a2066 `Height Align' min 1 max 16 step 1 default 1 current 1.
control 0x009a2067 `Size Align' min 0 max 2 step 1 default 0 current 0.
  0: 1 (*)
  1: 65536
  2: 131072
12 controls found.
Video format: SRGGB12 (32314752) 4104x3062 (stride 8448) field none buffer size 25867776

We’re curious what you’re seeing in yavta -l.

We’ve also noticed that yavta doesn’t actually capture properly on the TX2 with the OV5693. However, it does seem to work on TX1. From “yavta /dev/video0 -c1 -n1 -s 640x480 -fSRGGB10 -Fov.raw”, a hexdump of the data output on TX2 looks like this:

0000000 0110 0110 0110 0110 0110 0110 0110 0110
*
0001440 0000 0000 0000 0000 0000 0000 0000 0000
*
0001500 0110 0110 0110 0110 0110 0110 0110 0110
*
0002940 0000 0000 0000 0000 0000 0000 0000 0000
*
0002a00 0110 0110 0110 0110 0110 0110 0110 0110
*
0003e40 0000 0000 0000 0000 0000 0000 0000 0000
*
0003f00 0110 0110 0110 0110 0110 0110 0110 0110

ShaneCCC/Nvidia: Any other thoughts about the cdma timeouts? Those are still our biggest concern.

[  243.867632] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 50 (15700000.vi_2) clientid 11, HW thresh 0, done 1
[  243.878259] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 49 (15700000.vi_1) clientid 11, HW thresh 1, done 1
[  243.888880] host1x 13e10000.host1x: cdma_handle_timeout: timeout: 48 (15700000.vi_0) clientid 11, HW thresh 1, done 1
               ffffffc1ed88d600: JOB, syncpt_id=21, syncpt_val=2, first_get=5a51c1b0, timeout=10000, num_slots=15
               ffffffc06cb96400: JOB, syncpt_id=50, syncpt_val=1, first_get=5a514000, timeout=10000, num_slots=7

Hi
Could you please use the v4l2-ctl instead of yavta.
I am going to check the “cdma_handle_timeout”, will update here I get clue.

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

Hi
Not sure if this patch can fix the cdma_hadle_timeout or not. Please help to try it.

09259a7e.diff.zip (912 Bytes)

Hi!

ShaneCCC:
1)
We tried using v4l2-ctl, unfortunately, it gave the same errors as yavta, I will post them again: (dmesg output, after streaming is started in sensor driver)

[65153.084564] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x90011, cb=18, sid=4(0x4 - VI), pgd=0, pud=0, pmd=0, pte=0
[65154.028711] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[65154.046470] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x90011, cb=18, sid=4(0x4 - VI), pgd=0, pud=0, pmd=0, pte=0
[65155.032714] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[65155.061820] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x90011, cb=18, sid=4(0x4 - VI), pgd=0, pud=0, pmd=0, pte=0
[65156.036727] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[65156.077144] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x90011, cb=18, sid=4(0x4 - VI), pgd=0, pud=0, pmd=0, pte=0
[65157.040742] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[65157.092509] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x90011, cb=18, sid=4(0x4 - VI), pgd=0, pud=0, pmd=0, pte=0
[65158.044752] tegra-vi4 15700000.vi: ATOMP_FE syncpt timeout!

I looked into the nvcamera-daemon crashing. It seems that AdamTo was right about it being a problem with the device tree. When I kill the nvcamera-daemon and start it via shell, I get some debug output when it crashes.

nvidia@tx2-sixcam:~$ sudo nvcamera-daemon 
...
nothing happens until nvgstcapture-1.0 is run in another shell
...
OFParserEnumerateDriverNode: v4l2_sensor: failed to parse device-tree to driver node
OFParserEnumerateDriverNode: v4l2_sensor: failed to parse device-tree to driver node
OFParserEnumerateDriverNode: v4l2_sensor: failed to parse device-tree to driver node
OFParserEnumerateDriverNode: v4l2_sensor: failed to parse device-tree to driver node
OFParserEnumerateDriverNode: v4l2_sensor: failed to parse device-tree to driver node
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: No module data found
(NvOdmDevice) Error NotInitialized: hDev Table not initialized (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 81)
NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclDriver_V4L2_Focuser_Stub_Close: Invalid NULL input pPclDriver
NvPclStateControllerOpen: Failed ImagerGUID 52. (error 0x3)
NvPclOpen: PCL Open Failed. Error: 0xf
SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 559)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 730)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 272)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 435)
Segmentation fault (core dumped)

Some observations:
a) It’s quite obviously a device tree error.
b) There are two times five errors, while we have six sensors. Is there maybe a “number of sensors” apart from “num-channels = <6>;” for vi and nvcsi which I have not seen? I added 6 modules in tegra-camera-plattform { modules { … } }
c) Is there any way to get more verbose output from nvcamera-daemon? Since dtc compiles my device-tree without errors, it shouldn’t be a syntax error, but rather something missing or at the wrong place. The sourcecode for nvcamera-daemon is not available to public, right?

AdamTo:
We didn’t use V4L2_CTRL_TYPE_INTEGER64, so our yavta -l output looks exactly like yours (apart from the sensor name of course :) )

Yes, that could be the device tree cause the crash. You can remove all of the module just leave one for bringup first.

For getting more debug message.

sudo su
kill nvcamera-daemon
export enableCamPclLogs=1
/usr/sbin/nvcamera-daemon

ShaneCCC:

Thank you for your quick response, I found a small mistake in my device-tree, thanks to the debug output. That wasn’t the main error, though.
I will post the complete output of nvcamera-daemon crashing. The interesting part is at the end: (starting line 164)

root@tx2-sixcam:/home/nvidia# nvcamera-daemon 
NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: g2_down_P5V27F
NvPclHwPrintModuleDefinition -- Position: 52
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: g2 2-0011
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: 
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: g2_rear_P5V27E
NvPclHwPrintModuleDefinition -- Position: 0
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: g2 2-0010
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: 
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: g2_right_P5V27D
NvPclHwPrintModuleDefinition -- Position: 66
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: g2 6-0011
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: 
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: g2_top_P5V27B
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: g2 0-0011
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: 
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: g2_front_P5V27A
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: g2 0-0010
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: 
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: g2_down_P5V27F position52
NvPclModuleListInitialize: NvPclModule list[1]: g2_rear_P5V27E position0
NvPclModuleListInitialize: NvPclModule list[2]: g2_right_P5V27D position66
NvPclModuleListInitialize: NvPclModule list[3]: g2_top_P5V27B position1
NvPclModuleListInitialize: NvPclModule list[4]: g2_front_P5V27A position1
NvPclHwScanExternalCameras -- adding video5 to discover list
NvPclHwScanExternalCameras -- adding video4 to discover list
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video5 to discover list
NvPclHwScanExternalCameras -- adding video4 to discover list
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
initialize: /dev/video0
initialize: /dev/video1
initialize: /dev/video2
initialize: /dev/video3
initialize: /dev/video4
initialize: /dev/video5
NvPclHwScanExternalCameras -- adding video5 to discover list
NvPclHwScanExternalCameras -- adding video4 to discover list
NvPclHwScanExternalCameras -- adding video3 to discover list
NvPclHwScanExternalCameras -- adding video2 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
initialize: /dev/video0
initialize: /dev/video1
initialize: /dev/video2
initialize: /dev/video3
initialize: /dev/video4
initialize: /dev/video5
getHotplugMonitor: Getting hotplug monitor instance
 initializeHotplug++
 hotPlugfunc ++ 
 addWatch: Watch added wd='1'
setHotplugCallback: Registered new callback client
NvPclSetHotplugCallback: ----------------------
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 52 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f88c4eac0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f88c4eb50
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f88c4ebe0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f88c4ec70
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f88c4ed00
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f88c4ed90
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: cannot stat file [/Calib/camera_override.isp]
LoadOverridesFile: looking for override file [/data/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: cannot stat file [/data/nvcam/settings/camera_overrides.isp]
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: cannot stat file [/opt/nvidia/nvcam/settings/camera_overrides.isp]
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: cannot stat file [/var/nvidia/nvcam/settings/camera_overrides.isp]
LoadOverridesFile: looking for override file [/data/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: cannot stat file [/data/nvcam/camera_overrides.isp]
LoadOverridesFile: looking for override file [/data/nvcam/settings/g2_down_P5V27F.isp] 6/16
CheckOverridesPermissions: cannot stat file [/data/nvcam/settings/g2_down_P5V27F.isp]
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/g2_down_P5V27F.isp] 7/16
CheckOverridesPermissions: cannot stat file [/opt/nvidia/nvcam/settings/g2_down_P5V27F.isp]
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/g2_down_P5V27F.isp] 8/16
CheckOverridesPermissions: cannot stat file [/var/nvidia/nvcam/settings/g2_down_P5V27F.isp]
LoadOverridesFile: looking for override file [(null)] 9/16
LoadOverridesFile: looking for override file [(null)] 10/16
LoadOverridesFile: looking for override file [(null)] 11/16
LoadOverridesFile: looking for override file [(null)] 12/16
LoadOverridesFile: looking for override file [(null)] 13/16
LoadOverridesFile: looking for override file [(null)] 14/16
LoadOverridesFile: looking for override file [(null)] 15/16
LoadOverridesFile: looking for override file [(null)] 16/16
LoadOverridesFile: 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/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/nvcam/settings/g2_down_P5V27F.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/g2_down_P5V27F.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/g2_down_P5V27F.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)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
initialize: g2 2-0011
(NvOdmDevice) Error ModuleNotPresent: V4L2Device not available (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/V4L2Device.cpp, function findDevice(), line 224)
(NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/V4L2Device.cpp, function initialize(), line 54)
(NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 91)
NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclDriver_V4L2_Focuser_Stub_Close: Invalid NULL input pPclDriver
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f88c4ec70
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f88c4ed00
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f88c4ed90
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f88c4eac0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f88c4eb50
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f88c4ebe0
NvPclStateControllerOpen: Failed ImagerGUID 52. (error 0xA000E)
NvPclStateControllerClose: Module g2_down_P5V27F 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 559)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 730)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 272)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 435)
Segmentation fault (core dumped)

The first point where things really go south seems to be

NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
initialize: g2 2-0011
(NvOdmDevice) Error ModuleNotPresent: V4L2Device not available (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/V4L2Device.cpp, function findDevice(), line 224)

The property “devnode-bus” is nowhere to be found in the whole kernel, so I assume it’s not the problem. Could you tell me what is checked at line 224 in V4L2Device.cpp and therefore findDevice() doesn’t return a valid device?

I checked my dtsi files over and over, the part where I declare the sensors and modules has everything the sample drivers have. I will post it at the end just to make sure.

Best regards!

i2c@3180000 { 
[...]
g2_f@11 {
	compatible = "nvidia,galileo2";

	reg = <0x11>;

	physical_w = "3.674";
	physical_h = "2.738";

	sensor_model ="galileo2";
	devnode = "video1";

	mode0 {
		mclk_khz = "24000";
		num_lanes = "2";
		tegra_sinterface = "serial_f";
		discontinuous_clk = "yes";
		cil_settletime = "0";

		active_w = "3280";
		active_h = "2464";
		pixel_t = "bayer_rggb";
		readout_orientation = "90";
		line_length = "3448";
		inherent_gain = "1";
		mclk_multiplier = "25";
		pix_clk_hz = "224000000";

		min_gain_val = "1.0";
		max_gain_val = "16.0";
		min_hdr_ratio = "1";
		max_hdr_ratio = "64";
		min_framerate = "1.462526";
		max_framerate = "21";
		min_exp_time = "13";
		max_exp_time = "683709";
	};

	ports {
		#address-cells = <1>;
		#size-cells = <0>;
		port@0 {
			reg = <0>;
			g2_out5: endpoint {
				csi-port = <5>;
				bus-width = <2>;
				remote-endpoint = <&g2_csi_in5>;
			};
		};
	};
};	//end g2_f@11
};	//end i2c@3180000
module5 {
	badge = "g2_down_P5V27F";
	position = "down";
	orientation = "1";
	drivernode0 {
		pcl_id = "v4l2_sensor";
		devname = "g2 2-0011";
		proc-device-tree = "/proc/device-tree/i2c@3180000/g2_f@11";
	};
	drivernode1 {
		pcl_id = "v4l2_lens";
	};
};

Hi schwartz
The position in the module of the DT is incorrect. Please reference to the tegra210-camera-e3333-a00.dtsi to use the {“bottomleft”, “cernterleft”, “centerright”, “topleft”, “bottomright”, “toprirht”} for 6 camera use case.

NvPclHwPrintModuleDefinition – Name: g2_right_P5V27D
NvPclHwPrintModuleDefinition – Position: 66