<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes]]></title><description><![CDATA[<p dir="auto"><strong>Hello!</strong><br />
I've recently bought a RAW-MIPI-AR0234M for image processing in a UAV project.<br />
I've followed the steps presented here <a href="https://wiki.veye.cc/index.php/How_to_upgrade_the_Jetson_system_to_support_VEYE_cameras" rel="nofollow ugc">How to upgrade the Jetson system to support VEYE cameras</a> and everything was working fine up till the point where i've decided to move from 2 lanes to 4 lanes.<br />
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.<br />
I will start by sharing the firmware version of the camera and my current setup:</p>
<pre><code>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
</code></pre>
<p dir="auto"><strong>What I have done so far</strong>:<br />
Looking on this topic <a href="https://forum.veye.cc/topic/632/raw-mipi-ar0234m-%E5%9C%A8nx%E5%B9%B3%E5%8F%B0%E4%B8%8B-2lane%E5%92%8C4-lanes%E9%83%BD%E6%97%A0%E6%B3%95%E9%87%87%E5%9B%BE/1" rel="nofollow ugc">RAW-MIPI-AR0234M 在NX平台下，2lane和4 lanes都无法采图</a> I've started by decompiling the DTB file (tegra194-p3668-0000-p3509-0000.dtb) provided in:</p>
<pre><code>nvidia_jetson_veye_bsp/dtbs/Xavier-NX/JetPack_5.1.4_Linux_JETSON_XAVIER_NX_TARGETS/dts dtb/RAW-MIPI-AR0234M
</code></pre>
<p dir="auto">using the command:</p>
<pre><code>dtc -I dtb -O dts -o decompiled.dts tegra194-p3668-0000-p3509-0000.dtb
</code></pre>
<p dir="auto">The changes I've made in the DTS file:</p>
<pre><code>tegra-capture-vi {
  ports {
    port@0 {
      endpoint {
        bus-width = &lt;0x02&gt;; -&gt; &lt;0x04&gt;
      };
    };
    port@1 {
      endpoint {
        bus-width = &lt;0x02&gt;; -&gt; &lt;0x04&gt;
      };
    };
  };
};
host1x@13e00000 {
  nvcsi@15a00000 {
    channel@0 {
      ports {
        port@0 {
          endpoint@0 {
            bus-width = &lt;0x02&gt;; -&gt; &lt;0x04&gt;
          };
        };
      };
    };
    channel@1 {
      ports {
        port@0 {
          endpoint@2 {
            bus-width = &lt;0x02&gt;; -&gt; &lt;0x04&gt;
          };
        };
      };
    };
  };
};
cam_i2cmux {
  i2c@0 {
    rbpcv2_mvcam_a@3b {
      ports {
        port@0 {
          endpoint {
            bus-width = &lt;0x02&gt;; -&gt; &lt;0x04&gt;
          };
        };
      };
    };
  };
  i2c@1 {
    rbpcv2_mvcam_c@3b {
      ports {
        port@0 {
          endpoint {
            bus-width = &lt;0x02&gt;; -&gt; &lt;0x04&gt;
          };
        };
      };
    };
  };
};
tegra-camera-platform {
  num_csi_lanes = &lt;0x04&gt;; -&gt; &lt;0x08&gt;
};
</code></pre>
<p dir="auto">and then I've compiled back the DTS file using:</p>
<pre><code>dtc -I dts -O dtb -o tegra194-p3668-0000-p3509-0000-4lanes.dtb decompiled.dts
</code></pre>
<p dir="auto">and I moved the modified DTB file to /boot/veyecam and after that I modified the <em>extilinux.conf</em> file<br />
accordingly.<br />
<strong>After reboot</strong></p>
<pre><code>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
</code></pre>
<pre><code>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!
</code></pre>
<p dir="auto"><strong>After opening qv4l2:</strong></p>
<pre><code>[  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"
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/1747479542150-65b38379-0e86-46ed-8408-156c9940aba9-image.png" alt="65b38379-0e86-46ed-8408-156c9940aba9-image.png" class=" img-fluid img-markdown" /><br />
I'm suspecting that I did something wrong during the setup.<br />
Has anyone faced a similar issue or has any idea how to properly upgrade from 2-lane to 4-lane bus on JP5.14?</p>
]]></description><link>http://forum.veye.cc/topic/684/ar0234m-xaviernx-jp5-1-4-upgrading-from-2-lanes-to-4-lanes</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Jul 2026 10:50:41 GMT</lastBuildDate><atom:link href="http://forum.veye.cc/topic/684.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 May 2025 11:10:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes on Wed, 21 May 2025 00:43:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dragos" aria-label="Profile: dragos">@<bdi>dragos</bdi></a> You are welcome.</p>
]]></description><link>http://forum.veye.cc/post/4772</link><guid isPermaLink="true">http://forum.veye.cc/post/4772</guid><dc:creator><![CDATA[veye_xumm]]></dc:creator><pubDate>Wed, 21 May 2025 00:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to [AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes on Tue, 20 May 2025 07:38:59 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/veye_xumm" aria-label="Profile: veye_xumm">@<bdi>veye_xumm</bdi></a>,<br />
Yes, unfortunately, you're right. The official Nvidia Jetson Xavier NX exposes only two CSI ports with 2 lanes each. To use a 4 lanes camera a custom carrier board is required.</p>
<p dir="auto">Thanks for your support <img src="http://forum.veye.cc/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=c7ac06f86ab" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto"><em>[For others] More info can be found on this topic:</em><br />
<a href="https://forums.developer.nvidia.com/t/jetson-xavier-nx-developer-kit-4-lane-csi-camera/169701" rel="nofollow ugc">Jetson Xavier NX Developer Kit 4 lane CSI camera</a></p>
]]></description><link>http://forum.veye.cc/post/4771</link><guid isPermaLink="true">http://forum.veye.cc/post/4771</guid><dc:creator><![CDATA[dragos]]></dc:creator><pubDate>Tue, 20 May 2025 07:38:59 GMT</pubDate></item><item><title><![CDATA[Reply to [AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes on Tue, 20 May 2025 01:14:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dragos" aria-label="Profile: dragos">@<bdi>dragos</bdi></a><br />
I think the MIPI CSI interface on this board only exposes 2 lanes and uses a 15-pin connector.<br />
Could you check your board to see if that's the case?</p>
]]></description><link>http://forum.veye.cc/post/4769</link><guid isPermaLink="true">http://forum.veye.cc/post/4769</guid><dc:creator><![CDATA[veye_xumm]]></dc:creator><pubDate>Tue, 20 May 2025 01:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to [AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes on Mon, 19 May 2025 15:02:10 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/veye_xumm" aria-label="Profile: veye_xumm">@<bdi>veye_xumm</bdi></a>, the board is an official Nvidia Xavier NX, <strong>the one with micro sd</strong> (p3668-0000-p3509-0000), <strong>not the one with eMMC</strong> (p3668-0001-p3509-0000).</p>
]]></description><link>http://forum.veye.cc/post/4768</link><guid isPermaLink="true">http://forum.veye.cc/post/4768</guid><dc:creator><![CDATA[dragos]]></dc:creator><pubDate>Mon, 19 May 2025 15:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to [AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes on Mon, 19 May 2025 10:14:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dragos" aria-label="Profile: dragos">@<bdi>dragos</bdi></a> May I ask if the board you're using is an official NVIDIA development board or a compatible third-party board?</p>
]]></description><link>http://forum.veye.cc/post/4767</link><guid isPermaLink="true">http://forum.veye.cc/post/4767</guid><dc:creator><![CDATA[veye_xumm]]></dc:creator><pubDate>Mon, 19 May 2025 10:14:26 GMT</pubDate></item><item><title><![CDATA[Reply to [AR0234M][XavierNX][JP5.1.4] Upgrading from 2 lanes to 4 lanes on Sat, 17 May 2025 11:50:45 GMT]]></title><description><![CDATA[<p dir="auto">Here are the dmesg logs from the <strong>2-lane mode</strong> and <strong>2-lane DTB</strong>, with the camera running in qv4l2:</p>
<pre><code>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
</code></pre>
<p dir="auto">Here are the dmesg logs from the <strong>4-lane mode</strong> and <strong>2-lane DTB</strong>, with the camera running in qv4l2:</p>
<pre><code>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"
</code></pre>
<p dir="auto">Here are the dmesg logs from the <strong>2-lane mode</strong> and <strong>4-lane DTB</strong>, with the camera running in qv4l2:</p>
<pre><code>[  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
</code></pre>
]]></description><link>http://forum.veye.cc/post/4766</link><guid isPermaLink="true">http://forum.veye.cc/post/4766</guid><dc:creator><![CDATA[dragos]]></dc:creator><pubDate>Sat, 17 May 2025 11:50:45 GMT</pubDate></item></channel></rss>