eLinux.org:Jetson/L4T/Camera BringUp

Get Prepared

 * Please read through "Camera Development" section in https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-1

Tips for debugging
TX1 tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
 * if you saw below error message

mode0 { cil_settletime = "0"; active_w = "1920"; active_h = "1080"; embedded_metadata_height = "1";
 * please check below 4 items in your sensor device tree, these should follow the settings in your sensor datasheet

video4linux video0: MW_ACK_DONE syncpoint time out!
 * if you saw below error message

sudo su cd /sys/kernel/debug/dynamic_debug/ echo file csi2_fops.c +p > control
 * Enable the csi debug message from below command, and use v4l2-ctl to verify the driver first.

v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=3

please review the configuration of "line_length" in sensor driver try to increase the delay between video lines data send via CSI review the sensor datasheet to check the settings of FPS range
 * please check below

TX2 arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x200011, cb=19, sid=4(0x4 - VI), pgd=0, pud=0, pmd=0, pte=0
 * if you saw below message it could be the sensor output embedded data line but DT didn't declare embedded_metadata_height or it value is 0

Steps to enable more debug messages
echo 1 > /sys/kernel/debug/tracing/tracing_on echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable echo 1 > /sys/kernel/debug/tracing/events/freertos/enable echo 2 > /sys/kernel/debug/camrtc/log-level echo > /sys/kernel/debug/tracing/trace cat /sys/kernel/debug/tracing/trace
 * To enable trace for more information

VI error decoder map from trace CSIMUX_FRAME data bit field bit 0:2 STREAM_ID bit 3 VPR bit 4 FS_flag bit 5 FE_flag bit 6 FE_CSI_FAULT bit 7 FS_FAULT bit 8 FORCE_FE_FAULT bit 9 FE_FRAME_ID_FAULT bit 10 PXL_ENABLE_FAULT bit 20:25 CSI_FAULT_CODE CSI_FAULT_CODE data bit field bit 20 PP FSM timeout bit 21 PH single bit error repaired bit 22 CRC error on payload bit 23 Line short error

CHANSEL_FAULT data bit field bit 16:31 LINE_NUMBER bit 15	DTYPE_MISMATCH bit 14	EMBED_INFRINGE bit 13	EMBED_LONG_LINE bit 12	EMBED_SPURIOUS bit 11	EMBED_RUNAWAY bit 10	EMBED_MISSING_LE bit 9	PIXEL_SHORT_LINE bit 8	PIXEL_LONG_LINE bit 7	PIXEL_SPURIOUS bit 6	PIXEL_RUNAWAY bit 5	PIXEL_MISSING_LE bit 4	PIXEL_LINE_TIMER bit 3	EMBED_EOF bit 2	EMBED_SOF bit 1	PIXEL_EOF bit 0	PIXEL_SOF

CSIMUX_STREAM data bit field bit 31	FIFO_BADPKT_STREAM_HI bit 30	FIFO_LOF_STREAM_HI bit 29	FIFO_OVERFLOW_STREAM_HI bit 28	SPURIOUS_DATA_STREAM_HI bit 27	FIFO_BADPKT_STREAM_LO bit 26	FIFO_LOF_STREAM_LO bit 25	FIFO_OVERFLOW_STREAM_LO bit 24	SPURIOUS_DATA_STREAM_LO bit 23	FIFO_BADPKT_STREAM_5 bit 22	FIFO_LOF_STREAM_5 bit 21	FIFO_OVERFLOW_STREAM_5 bit 20	SPURIOUS_DATA_STREAM_5 bit 19	FIFO_BADPKT_STREAM_4 bit 18	FIFO_LOF_STREAM_4 bit 17	FIFO_OVERFLOW_STREAM_4 bit 16	SPURIOUS_DATA_STREAM_4 bit 15	FIFO_BADPKT_STREAM_3 bit 14	FIFO_LOF_STREAM_3 bit 13	FIFO_OVERFLOW_STREAM_3 bit 12	SPURIOUS_DATA_STREAM_3 bit 11	FIFO_BADPKT_STREAM_2 bit 10	FIFO_LOF_STREAM_2 bit 9	FIFO_OVERFLOW_STREAM_2 bit 8	SPURIOUS_DATA_STREAM_2 bit 7	FIFO_BADPKT_STREAM_1 bit 6	FIFO_LOF_STREAM_1 bit 5	FIFO_OVERFLOW_STREAM_1 bit 4	SPURIOUS_DATA_STREAM_1 bit 3	FIFO_BADPKT_STREAM_0 bit 2	FIFO_LOF_STREAM_0 bit 1	FIFO_OVERFLOW_STREAM_0 bit 0	SPURIOUS_DATA_STREAM_0

The bit 22 CRC error on payload. It could be CRC error at frame end package. Please contact with sensor vendor to check the CRC header. kworker/0:1-2059 [000] ...1   434.733650: rtcpu_vinotify_handle_msg: tstamp:13948014423 tag:CSIMUX_FRAME channel:0x00 frame:2 vi_tstamp:1063112012 data:0x00 4 00060

FIFO_OVERFLOW. It could be the pix_clk_hz in DT too small cause the ISP can't handle the input. kworker/5:3-1359 [005] ...1   253.671478: rtcpu_vinotify_handle_msg: tstamp:8279969890 tag:ISPBUF_FIFO_OVERFLOW channel:0x00 frame:12340 vi_tstamp:3985001981 data:0x00000000

The bit 5 and 7 indicate lose the FE package cause the FS_FAULT kworker/4:0-30 [004] ...1 241.772651: rtcpu_vinotify_handle_msg: tstamp:7868711648 tag:CSIMUX_FRAME channel:0x00 frame:1 vi_tstamp:3573743671 data:0x000000a0

The trace show the 0x0ada0040 0x40 means CHANSEL_FAULT of PIXEL_RUNAWAY means VI receives more lines than expected. The 0xad9(2778) is the lines report from the sensor driver. kworker/5:2-275 [005] ...1 122.290528: rtcpu_vinotify_handle_msg: tstamp:4155862787 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:4155862337 data:0x00000001 kworker/5:2-275 [005] ...1 122.290531: rtcpu_vinotify_handle_msg: tstamp:4155867990 tag:CHANSEL_LOAD_FRAMED channel:0x01 frame:0 vi_tstamp:4155867544 data:0x08000000 kworker/5:2-275 [005] ...1 122.342572: rtcpu_vinotify_handle_msg: tstamp:4156521216 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:4156520630 data:0x0ad90002 kworker/5:2-275 [005] ...1 122.342579: rtcpu_vinotify_handle_msg: tstamp:4156521395 tag:CHANSEL_FAULT channel:0x00 frame:0 vi_tstamp:4156520667 data:0x0ada0040 kworker/5:2-275 [005] ...1 122.342582: rtcpu_vinotify_handle_msg: tstamp:4156522342 tag:CHANSEL_LOAD_FRAMED channel:0x01 frame:0 vi_tstamp:4156521558 data:0x08000000 kworker/5:2-275 [005] ...1 122.342585: rtcpu_vinotify_handle_msg: tstamp:4156522509 tag:CHANSEL_FAULT_FE channel:0x01 frame:0 vi_tstamp:4156521559 data:0x00000001 kworker/5:2-275 [005] ...1 122.342588: rtcpu_vinotify_handle_msg: tstamp:4156522706 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:4156521562 data:0x00000000

Didn't receive any package from the MIPI bus. Make sure the sensor have output data to the MIPI bus kworker/5:2-2980 [005] ...1  4162.509492: rtos_queue_peek_from_isr_failed: tstamp:130384213094 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4162.509496: rtcpu_start: tstamp:130384214513 kworker/5:2-2980 [005] ...1  4162.665213: rtos_queue_peek_from_isr_failed: tstamp:130389214019 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4162.821197: rtos_queue_peek_from_isr_failed: tstamp:130394214523 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4162.977226: rtos_queue_peek_from_isr_failed: tstamp:130399215027 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4163.133208: rtos_queue_peek_from_isr_failed: tstamp:130404215532 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4163.289207: rtos_queue_peek_from_isr_failed: tstamp:130409216052 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4163.445214: rtos_queue_peek_from_isr_failed: tstamp:130414216548 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4163.601218: rtos_queue_peek_from_isr_failed: tstamp:130419217056 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4163.757169: rtos_queue_peek_from_isr_failed: tstamp:130424217548 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4163.913235: rtos_queue_peek_from_isr_failed: tstamp:130429218108 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4164.069227: rtos_queue_peek_from_isr_failed: tstamp:130434218588 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4164.225233: rtos_queue_peek_from_isr_failed: tstamp:130439219082 queue:0x0b4a3c58 kworker/5:2-2980 [005] ...1  4164.433230: rtos_queue_peek_from_isr_failed: tstamp:130444219591 queue:0x0b4a3c58

The CSIMUX_FRAME bit 21 PH single bit error repaired. Possible the sensor didn't send the ECC package. kworker/4:0-2238 [004] ...1   543.467972: rtcpu_vinotify_handle_msg: tstamp:17333540584 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:153670980 data:0x00200060 Can try disable the ECC check.

sudo su kill the process of argus_daemon or nvcamera-daemon export enableCamPclLogs=5 export enableCamScfLogs=5 /usr/sbin/argus_daemon     option for argus /usr/sbin/nvcamera-daemon  option for gst-launch launch camera from another console
 * To enable logs from user-space for more details