GMSL Camera fail on Orin Nano JatPack 5.1.2

Hello,

I use a GMSL camera with Orin Nano EVK, but I’m not able to see MIPI frame.

Here the media device info.

Media controller API version 5.10.120

Media device information
------------------------
driver          tegra-camrtc-ca
model           NVIDIA Tegra Video Input Device
serial          
bus info        
hw revision     0x3
driver version  5.10.120

Device topology
- entity 1: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	pad0: Sink
		<- "OX08b40 10-0023":0 [ENABLED]
	pad1: Source
		-> "vi-output, OX08b40 10-0023":0 [ENABLED]

- entity 4: OX08b40 10-0023 (1 pad, 1 link)
            type V4L2 subdev subtype Sensor flags 0
            device node name /dev/v4l-subdev1
	pad0: Source
		[fmt:UYVY8_1X16/3840x2160 field:none colorspace:srgb]
		-> "13e40000.host1x:nvcsi@15a00000-":0 [ENABLED]

- entity 6: vi-output, OX08b40 10-0023 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
	pad0: Sink
		<- "13e40000.host1x:nvcsi@15a00000-":1 [ENABLED]
[DeviceTree.txt|attachment](upload://vpAwldg7De2QE3clmckkap9PAnh.txt) (16.5 KB)

Here the log.

     kworker/1:4-127     [001] .N..   139.494066: rtcpu_string: tstamp:5103060564 id:0x04010000 str:"VM0 deactivating."
        v4l2-ctl-3132    [004] ....   143.021730: tegra_channel_open: vi-output, OX08b40 10-0023
        v4l2-ctl-3132    [004] ....   143.047412: tegra_channel_set_power: OX08b40 10-0023 : 0x1
        v4l2-ctl-3132    [004] ....   143.047432: camera_common_s_power: status : 0x1
        v4l2-ctl-3132    [004] ....   143.048138: tegra_channel_set_power: 13e40000.host1x:nvcsi@15a00000- : 0x1
        v4l2-ctl-3132    [004] ....   143.048143: csi_s_power: enable : 0x1
        v4l2-ctl-3132    [004] ....   143.048847: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
        v4l2-ctl-3132    [004] ....   143.058629: tegra_channel_set_stream: enable : 0x1
        v4l2-ctl-3132    [004] ....   143.068335: tegra_channel_set_stream: 13e40000.host1x:nvcsi@15a00000- : 0x1
        v4l2-ctl-3132    [004] ....   143.068338: csi_s_stream: enable : 0x1
        v4l2-ctl-3132    [004] ....   143.068737: tegra_channel_set_stream: OX08b40 10-0023 : 0x1
     kworker/1:4-127     [001] ....   143.077892: rtcpu_string: tstamp:5215274656 id:0x04010000 str:"VM0 activating."
     kworker/1:4-127     [001] ....   143.077896: rtcpu_vinotify_event: tstamp:5215742518 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:166894461984 data:0x759e300010000000
     kworker/1:4-127     [001] ....   143.077897: rtcpu_vinotify_event: tstamp:5215742776 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:166894471712 data:0x0000000031000001
     kworker/1:4-127     [001] ....   143.077897: rtcpu_vinotify_event: tstamp:5215743060 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:166894577792 data:0x759e2d0010000000
     kworker/1:4-127     [001] ....   143.077898: rtcpu_vinotify_event: tstamp:5215743305 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:166894587680 data:0x0000000031000002
 vi-output, OX08-3134    [001] ....   145.689474: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
     kworker/1:4-127     [001] ....   145.713857: rtcpu_vinotify_event: tstamp:5297842560 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:169525387872 data:0x759e300010000000
     kworker/1:4-127     [001] ....   145.713858: rtcpu_vinotify_event: tstamp:5297842824 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:169525397632 data:0x0000000031000001
     kworker/1:4-127     [001] ....   145.713858: rtcpu_vinotify_event: tstamp:5297843111 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:169525481632 data:0x759e2d0010000000
     kworker/1:4-127     [001] ....   145.713858: rtcpu_vinotify_event: tstamp:5297843362 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:169525491520 data:0x0000000031000002
 vi-output, OX08-3134    [001] ....   148.502366: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
     kworker/1:4-127     [001] ....   148.517813: rtcpu_vinotify_event: tstamp:5385734280 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:172338282016 data:0x759e300010000000
     kworker/1:4-127     [001] ....   148.517814: rtcpu_vinotify_event: tstamp:5385734540 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:172338291808 data:0x0000000031000001
     kworker/1:4-127     [001] ....   148.517815: rtcpu_vinotify_event: tstamp:5385734827 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:172338360928 data:0x759e2d0010000000
     kworker/1:4-127     [001] ....   148.517815: rtcpu_vinotify_event: tstamp:5385735079 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:172338370816 data:0x0000000031000002

In attach the device tree.

The serdes_pix_clk_hz is “375000000”, so the output data rate should be 1.5Gbps. Is the skew calibration needed in that case ?

In order to debug, can you share the rce debug firmware for JatPack 5.1.2 and how to flash it ?

Thank you in advance.

hello marco.ferretti,

as you can see in Release Notes (r35.4.1).

Added support for Deskew calibration for high data rate sensors (> 1.5 Gbps).

according to VI tracing logs. there’s no related messages for camera frames.
it looks like camera did not start, or, sending MIPI signaling to CSI channel.

Hi,

the sensor rate is egual to 1.5 Gbps, so I suppose the Deskew calibration is not required.

Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)
serdes_pix_clk_hz is “375000000”

Output data rate = 375000000 * 16 / 4 = 1.5 Gbps

Is it correct ?
Do you have idea on how to add some debug information ?
Where can i find the rce debug firmware for JatPack 5.1.2 and how to flash it ?

Thank you in advance.

hello marco.ferretti,

we’ve recently have some fixes to update deskew algorithm, and also stability fixes for Orin and Xavier series.
please give it a try to update camera firmware with the attachment for verification, Topic268833_JP-512_rce-fw.7z (250.9 KB)
please based-on JP-5.1.2/l4t-r35.4.1 to apply the firmware update.

besides,
let me also attach camera firmware with debug flag enabled.
you may apply this debug version firmware to obtain more details.
for instance, Topic268833_JP-512_rce-fw_Debug.7z (254.1 KB)

there’s readme file within the package for the steps to update rce-fw.
you may see-also Topic 260583 for the steps to update rce-fw on Orin NX by running l4t_initrd_flash.sh.
or,
please check Topic 226574 for the steps to execute a partition flash by flash.sh on AGX Xavier, or AGX Orin platforms.

I have a Timeout Issue on USB during FLASH operation.

sudo ./tools/kernel_flash/l4t_initrd_flash.sh -k A_rce-fw --flash-only --showlogs
/home/nvidia/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh -k A_rce-fw --usb-instance 1-3 --device-instance 0 --flash-only --external-device mmcblk1p1 -c "tools/kernel_flash/flash_l4t_external.xml" --network usb0 jetson-orin-nano-devkit internal
**********************************************
*                                            *
*  Step 1: Build the flashing environment    *
*                                            *
**********************************************
Create flash environment 0
/home/nvidia/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/bootloader /home/nvidia/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra
/home/nvidia/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra
Finish creating flash environment 0.
****************************************************
*                                                  *
*  Step 2: Boot the device with flash initrd image *
*                                                  *
****************************************************
/home/nvidia/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/temp_initrdflash/bootloader0 /home/nvidia/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra
./tegraflash.py --bl uefi_jetson_with_dtb_sigheader.bin.encrypt --bct br_bct_BR.bct --securedev  --bldtb tegra234-p3767-0000-p3768-0000-a0.dtb --applet rcm_2_encrypt.rcm --applet_softfuse rcm_1_encrypt.rcm --cmd "rcmboot"  --cfg secureflash.xml --chip 0x23 --mb1_bct mb1_bct_MB1_sigheader.bct.encrypt --mem_bct mem_rcm_sigheader.bct.encrypt --mb1_cold_boot_bct mb1_cold_boot_bct_MB1_sigheader.bct.encrypt --mb1_bin mb1_t234_prod_aligned_sigheader.bin.encrypt --psc_bl1_bin psc_bl1_t234_prod_aligned_sigheader.bin.encrypt --mem_bct_cold_boot mem_coldboot_sigheader.bct.encrypt  --bins "psc_fw pscfw_t234_prod_sigheader.bin.encrypt; mts_mce mce_flash_o10_cr_prod_sigheader.bin.encrypt; mb2_applet applet_t234_sigheader.bin.encrypt; mb2_bootloader mb2_t234_with_mb2_cold_boot_bct_MB2_sigheader.bin.encrypt; xusb_fw xusb_t234_prod_sigheader.bin.encrypt; dce_fw display-t234-dce_sigheader.bin.encrypt; nvdec nvdec_t234_prod_sigheader.fw.encrypt; bpmp_fw bpmp_t234-TE980M-A1_prod_sigheader.bin.encrypt; bpmp_fw_dtb tegra234-bpmp-3767-0000-a02-3509-a02_with_odm_sigheader.dtb.encrypt; sce_fw camera-rtcpu-sce_sigheader.img.encrypt; rce_fw camera-rtcpu-t234-rce_sigheader.img.encrypt; ape_fw adsp-fw_sigheader.bin.encrypt; spe_fw spe_t234_sigheader.bin.encrypt; tos tos-optee_t234_sigheader.img.encrypt; eks eks_t234_sigheader.img.encrypt; kernel boot0.img; kernel_dtb tegra234-p3767-0000-p3768-0000-a0.dtb"    --secondary_gpt_backup  --bct_backup  --instance 1-3
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
 

 Entering RCM boot

[   0.0344 ] mb1_t234_prod_aligned_sigheader.bin.encrypt filename is from --mb1_bin
[   0.0344 ] psc_bl1_t234_prod_aligned_sigheader.bin.encrypt filename is from --psc_bl1_bin
[   0.0344 ] rcm boot with presigned binaries
[   0.0354 ] tegrarcm_v2 --instance 1-3 --new_session --chip 0x23 0 --uid --download bct_br br_bct_BR.bct --download mb1 mb1_t234_prod_aligned_sigheader.bin.encrypt --download psc_bl1 psc_bl1_t234_prod_aligned_sigheader.bin.encrypt --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
[   0.0360 ] BR_CID: 0x80012344705DD45F5C0000000BFE8200
[   0.0415 ] Sending bct_br
[   0.0460 ] Sending mb1
[   0.0465 ] ERROR: might be timeout in USB write.
Error: Return value 3
Command tegrarcm_v2 --instance 1-3 --new_session --chip 0x23 0 --uid --download bct_br br_bct_BR.bct --download mb1 mb1_t234_prod_aligned_sigheader.bin.encrypt --download psc_bl1 psc_bl1_t234_prod_aligned_sigheader.bin.encrypt --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
Cleaning up...

How can I resolve it in order to use your debug firmware ?

Thanks.

hello marco.ferretti,

please see-also To Determine Whether the Developer Kit Is in Force Recovery Mode.
did you check with $ lsusb to confirm it’s enter recovery-mode correctly?

that usually due to your environment setup, are you using a VM? if yes, that might be some issues with USB forwarding. otherwise, please try another cable to do image flashing.

Hello,

here the lsusb output:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 046d:c34b Logitech, Inc. USB Keyboard
Bus 001 Device 004: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 020: ID 0955:7523 NVIDIA Corp. APX
Bus 001 Device 002: ID 058f:6377 Alcor Micro Corp. AU6375 4-LUN card reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The Orin Nano seems in recovery mode.
My host machine isn’t a VM and I have tried also different cable and follow also some suggestion about autosuspend.

Any idea ?
Is there a different procedure that I can follow to flash the debug image on the SD ?

Thanks,
Marco.

Hello,

at the end I was able to flash the debug camera firmware, but I can see any debug messages.
How can I check that I’m using the DEBUG FW ?

In attach the flashing log and the dmesg after camera start. As you can see, the are no debug messages. Is it right ?
dmesg_log.txt (73.8 KB)

Flash_Log.txt (12.6 KB)
trace_log.txt (4.9 KB)

Thanks,
Marco.

you may examine checksum, please looking $dmesg for firmware version via kernel init messages.
for example,
Default camera firmware:
tegra186-cam-rtcpu bc00000.rtcpu: firmware version cpu=rce cmd=6 sha1=8676d22a01443bdbc66581b7dde3b6d6828cc925
Update camera firmware:
tegra186-cam-rtcpu bc00000.rtcpu: firmware version cpu=rce cmd=6 sha1=73154acbae92fa621c3d5e1b2a6e10f1075059aa

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