Navigation

    VEYE IMAGING Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Recent
    • Popular
    • Users
    • WIKI
    • veye.cc

    [AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes

    Jetson App Software
    1
    2
    31
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dragos last edited by dragos

      Hello!
      I've recently bought a RAW-MIPI-AR0234M for image processing in a UAV project.
      I've followed the steps presented here How to upgrade the Jetson system to support VEYE cameras and everything was working fine up till the point where i've decided to move from 2 lanes to 4 lanes.
      When i switched from 2 lanes to 4 lanes using the i2c tool provided in the git repo and opened qv4l2 i realized that something is wrong: no image was being displayed by the program.
      I will start by sharing the firmware version of the camera and my current setup:

      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ ./mv_mipi_i2c_new.sh -r version -b 10
      version is C 01.15 and L 00.00
      
      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ uname -r
      5.10.216-tegra
      
      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ head -n 1 /etc/nv_tegra_release
      # R35 (release), REVISION: 6.0, GCID: 37391689, BOARD: t186ref, EABI: aarch64, DATE: Wed Aug 28 09:12:27 UTC 2024
      

      What I have done so far:
      Looking on this topic RAW-MIPI-AR0234M 在NX平台下,2lane和4 lanes都无法采图 I've started by decompiling the DTB file (tegra194-p3668-0000-p3509-0000.dtb) provided in:

      nvidia_jetson_veye_bsp/dtbs/Xavier-NX/JetPack_5.1.4_Linux_JETSON_XAVIER_NX_TARGETS/dts dtb/RAW-MIPI-AR0234M
      

      using the command:

      dtc -I dtb -O dts -o decompiled.dts tegra194-p3668-0000-p3509-0000.dtb
      

      The changes I've made in the DTS file:

      tegra-capture-vi {
        ports {
          port@0 {
            endpoint {
              bus-width = <0x02>; -> <0x04>
            };
          };
          port@1 {
            endpoint {
              bus-width = <0x02>; -> <0x04>
            };
          };
        };
      };
      host1x@13e00000 {
        nvcsi@15a00000 {
          channel@0 {
            ports {
              port@0 {
                endpoint@0 {
                  bus-width = <0x02>; -> <0x04>
                };
              };
            };
          };
          channel@1 {
            ports {
              port@0 {
                endpoint@2 {
                  bus-width = <0x02>; -> <0x04>
                };
              };
            };
          };
        };
      };
      cam_i2cmux {
        i2c@0 {
          rbpcv2_mvcam_a@3b {
            ports {
              port@0 {
                endpoint {
                  bus-width = <0x02>; -> <0x04>
                };
              };
            };
          };
        };
        i2c@1 {
          rbpcv2_mvcam_c@3b {
            ports {
              port@0 {
                endpoint {
                  bus-width = <0x02>; -> <0x04>
                };
              };
            };
          };
        };
      };
      tegra-camera-platform {
        num_csi_lanes = <0x04>; -> <0x08>
      };
      

      and then I've compiled back the DTS file using:

      dtc -I dts -O dtb -o tegra194-p3668-0000-p3509-0000-4lanes.dtb decompiled.dts
      

      and I moved the modified DTB file to /boot/veyecam and after that I modified the extilinux.conf file
      accordingly.
      After reboot

      dragos@ubuntu:~$ sudo dmesg | grep i2c
      [    2.744386] i2c /dev entries driver
      [    2.747600] tegra-i2c 3160000.i2c: Adding to iommu group 2
      [    2.753249] tegra-i2c c240000.i2c: Adding to iommu group 2
      [    2.759024] tegra-i2c 3180000.i2c: Adding to iommu group 2
      [    2.764166] tegra-i2c 3190000.i2c: Adding to iommu group 2
      [    2.769451] tegra-i2c 31b0000.i2c: Adding to iommu group 2
      [    2.775053] tegra-i2c 31c0000.i2c: Adding to iommu group 2
      [    2.780140] tegra-i2c c250000.i2c: Adding to iommu group 2
      [    6.516596] tegra-i2c 31e0000.i2c: Adding to iommu group 2
      [    6.523844] i2c i2c-2: Added multiplexed i2c bus 9
      [    6.525575] i2c i2c-2: Added multiplexed i2c bus 10
      [    6.525855] i2c-mux-gpio cam_i2cmux: 2 port mux on 3180000.i2c adapter
      dragos@ubuntu:~$ sudo dmesg | grep mvcam
      [   16.050995] veye_mvcam: loading out-of-tree module taints kernel.
      [   16.052512] mvcam 9-003b: veye mv series camera driver version: 01.01.06
      [   16.558998] veye_mvcam: mvcam_read: Reading register 0x04 failed
      [   16.559337] mvcam 9-003b: failed to read chip id
      [   16.559537] mvcam 9-003b: mvcam_identify_module failed.
      [   16.560192] mvcam 10-003b: veye mv series camera driver version: 01.01.06
      [   17.073462] mvcam 10-003b: camera is: RAW_MIPI_AR0234M
      [   17.073874] mvcam 10-003b: firmware version: 0x1150000
      [   17.089941] tegra-camrtc-capture-vi tegra-capture-vi: subdev mvcam 10-003b bound
      
      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ ./mv_mipi_i2c_new.sh -w lanenum 4
      -b 10
      w lane number is 4
      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ ./mv_mipi_i2c_new.sh -r lanenum -b
       10
      r lane number is 4
      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ ./mv_mipi_i2c_new.sh -r maxfps -b 10
      r maxfps @ current setting is 120.93 fps
      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ ./mv_mipi_i2c_new.sh -w paramsave -b 10
      all param saved to flash
      dragos@ubuntu:~/VEYE_AR0234_Drivers/nvidia_jetson_veye_bsp/mv_tools_jetson/i2c_tools$ ./mv_mipi_i2c_new.sh -w reboot -b 10
      system reboot!
      
      [  318.004980] mvcam 10-003b: csi2_try format
      [  329.616728] mvcam 10-003b: csi2_try format
      [  329.616772] mvcam 10-003b: csi2_try format
      [  329.616784] mvcam 10-003b: mvcam_csi2_get_fmt_idx_by_code success
      [  329.700934] mvcam 10-003b: camera_common_mclk_enable: no device power rail
      [  329.701173] mvcam 10-003b: camera_common_s_power: failed to enable mclk
      [  332.763065] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
      [  332.763380] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
      [  332.763671] (NULL device *): vi_capture_control_message: NULL VI channel received
      [  332.763991] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
      [  332.764210] (NULL device *): vi_capture_control_message: NULL VI channel received
      [  332.764788] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
      [  332.810983] [RCE] ERROR: camera-ip/vi5/vi5.c:3893 [vi5_update_channel_match_data] "match configuration is already in use by by channel 35 cannot set channel match configuration"
      [  332.810996] [RCE] ERROR: services/capture/capture-scheduler.c:3024 [capture_scheduler_thread] "Error processing event 0x100003"
      [  335.322272] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
      [  335.322565] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
      [  335.322792] (NULL device *): vi_capture_control_message: NULL VI channel received
      [  335.322953] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
      [  335.323169] (NULL device *): vi_capture_control_message: NULL VI channel received
      [  335.323328] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
      [  335.323905] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
      [  337.881490] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
      [  337.881759] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
      [  337.881999] (NULL device *): vi_capture_control_message: NULL VI channel received
      [  337.882162] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
      [  337.882379] (NULL device *): vi_capture_control_message: NULL VI channel received
      [  337.882543] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
      [  337.883104] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
      [  337.901475] [RCE] ERROR: camera-ip/vi5/vi5.c:3893 [vi5_update_channel_match_data] "match configuration is already in use by by channel 35 cannot set channel match configuration"
      [  337.901488] [RCE] ERROR: services/capture/capture-scheduler.c:3024 [capture_scheduler_thread] "Error processing event 0x100003"
      

      65b38379-0e86-46ed-8408-156c9940aba9-image.png
      I'm suspecting that I did something wrong during the setup.
      Has anyone faced a similar issue or has any idea how to properly upgrade from 2-lane to 4-lane bus on JP5.14?

      D 1 Reply Last reply Reply Quote 0
      • D
        dragos @dragos last edited by dragos

        Here are the dmesg logs from the 2-lane mode and 2-lane DTB, with the camera running in qv4l2:

        dragos@ubuntu:~$ sudo dmesg | tail -5
        [  845.656377] mvcam 10-003b: csi2_try format
        [  845.656555] mvcam 10-003b: csi2_try format
        [  845.656571] mvcam 10-003b: mvcam_csi2_get_fmt_idx_by_code success
        [  845.740489] mvcam 10-003b: camera_common_mclk_enable: no device power rail
        [  845.740746] mvcam 10-003b: camera_common_s_power: failed to enable mclk
        

        Here are the dmesg logs from the 4-lane mode and 2-lane DTB, with the camera running in qv4l2:

        dragos@ubuntu:~$ sudo dmesg | tail -30
        [ 1140.858386] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1140.858595] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
        [ 1140.858815] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1140.858988] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
        [ 1140.859692] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
        [ 1143.417930] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
        [ 1143.418162] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
        [ 1143.418413] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1143.418570] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
        [ 1143.418788] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1143.418967] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
        [ 1143.419528] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
        [ 1143.449994] [RCE] ERROR: camera-ip/vi5/vi5.c:3893 [vi5_update_channel_match_data] "match configuration is already in use by by channel 34 cannot set channel match configuration"
        [ 1143.450010] [RCE] ERROR: services/capture/capture-scheduler.c:3024 [capture_scheduler_thread] "Error processing event 0x100003"
        [ 1145.977984] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
        [ 1145.978230] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
        [ 1145.978497] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1145.978671] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
        [ 1145.978889] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1145.979052] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
        [ 1145.979836] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
        [ 1148.538029] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
        [ 1148.538287] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
        [ 1148.538522] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1148.538736] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
        [ 1148.538965] (NULL device *): vi_capture_control_message: NULL VI channel received
        [ 1148.539135] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
        [ 1148.539784] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
        [ 1148.550021] [RCE] ERROR: camera-ip/vi5/vi5.c:3893 [vi5_update_channel_match_data] "match configuration is already in use by by channel 34 cannot set channel match configuration"
        [ 1148.550033] [RCE] ERROR: services/capture/capture-scheduler.c:3024 [capture_scheduler_thread] "Error processing event 0x100003"
        

        Here are the dmesg logs from the 2-lane mode and 4-lane DTB, with the camera running in qv4l2:

        [  363.310470] mvcam 10-003b: csi2_try format
        [  363.310521] mvcam 10-003b: csi2_try format
        [  363.310535] mvcam 10-003b: mvcam_csi2_get_fmt_idx_by_code success
        [  363.398118] mvcam 10-003b: camera_common_mclk_enable: no device power rail
        [  363.398335] mvcam 10-003b: camera_common_s_power: failed to enable mclk
        [  366.485242] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
        [  366.485600] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
        [  366.485846] (NULL device *): vi_capture_control_message: NULL VI channel received
        [  366.486023] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
        [  366.486291] (NULL device *): vi_capture_control_message: NULL VI channel received
        [  366.486903] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
        [  366.537167] [RCE] ERROR: camera-ip/vi5/vi5.c:3893 [vi5_update_channel_match_data] "match configuration is already in use by by channel 35 cannot set channel match configuration"
        [  366.537192] [RCE] ERROR: services/capture/capture-scheduler.c:3024 [capture_scheduler_thread] "Error processing event 0x100003"
        [  369.044982] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
        [  369.045291] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
        [  369.045626] (NULL device *): vi_capture_control_message: NULL VI channel received
        [  369.045805] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
        [  369.046046] (NULL device *): vi_capture_control_message: NULL VI channel received
        [  369.046343] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
        [  369.046928] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post