The max9296a is connected to two ar0234 and a serial encoder. One is corresponding to CSI_0, and the other to CSI_4.
root@tegra-ubuntu:/system/lib/modules# i2cdetect -l
i2c-3 i2c 3190000.i2c I2C adapter
i2c-1 i2c c240000.i2c I2C adapter
i2c-8 i2c 31e0000.i2c I2C adapter
i2c-35 i2c i2c-2-mux (chan_id 3) I2C adapter
i2c-6 i2c 31c0000.i2c I2C adapter
i2c-33 i2c i2c-2-mux (chan_id 1) I2C adapter
i2c-4 i2c Tegra BPMP I2C adapter I2C adapter
i2c-2 i2c 3180000.i2c I2C adapter
i2c-0 i2c 3160000.i2c I2C adapter
i2c-7 i2c c250000.i2c I2C adapter
i2c-34 i2c i2c-2-mux (chan_id 2) I2C adapter
i2c-5 i2c 31b0000.i2c I2C adapter
i2c-32 i2c i2c-2-mux (chan_id 0) I2C adapter
Select channel 2 of TCA9546
root@tegra-ubuntu:/system/lib/modules# i2cset -y -f 2 0x70 0x04
root@tegra-ubuntu:/system/lib/modules# i2cdump -y -f 32 0x48
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 90 88 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ???..
10: 00 00 00 00 c9 19 91 00 91 00 00 02 00 40 43 ff …???.?..?.@C.
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
40: 00 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 …?..
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
root@tegra-ubuntu:/system/lib/modules# insmod i2c-mux-pca954x.ko
[ 27.265855] clarify anchor pca954x_probe:458:
[ 27.266017] clarify anchor pca954x_probe:468:
[ 27.266152] clarify anchor pca954x_probe:472:
[ 27.267127] clarify anchor pca954x_probe:483:
[ 27.267648] clarify anchor pca954x_probe:508:
[ 27.267792] clarify anchor pca954x_probe:512:
[ 27.267954] clarify anchor pca954x_probe:568:
[ 27.268590] clarify anchor pca954x_probe:587:
[ 27.269418] ar0234 32-0018: Failed to find matching dt id
[ 27.269574] ar0234 32-0018: unable to get platform data
[ 27.269712] ar0234 32-0018: tegra camera driver registration failed
[ 27.269937] ar0234: probe of 32-0018 failed with error -14
[ 27.270377] ar0234 32-0010: Failed to find matching dt id
[ 27.270535] ar0234 32-0010: unable to get platform data
[ 27.270676] ar0234 32-0010: tegra camera driver registration failed
[ 27.270875] ar0234: probe of 32-0010 failed with error -14
[ 27.271200] max9296 32-0048: reset-gpios not found 0
[ 27.274186] clarify anchor pca954x_probe:640:
root@tegra-ubuntu:/system/lib/modules# [ 27.289235] Error: Driver ‘ar0234’ is already registered, aborting…
root@tegra-ubuntu:/system/lib/modules# i2cget -y -f 32 0x48 0x4A
0x00
However, it was impossible to recognize ar0234,
I hope help me solve the problem. Thank you
agx_orin_boot_log_20251215.txt (99.6 KB)
tegra234-p3701-0005-p3737-0000.dtb.dts.tmp.txt (466.1 KB)
tegra234-p3737-0000-camera-ar0234-a00.dtsi.txt (3.2 KB)
tegra234-p3737-camera-modules.dtsi.txt (13.5 KB)
It could be your device tree have probelm.
[ 27.269418] ar0234 32-0018: Failed to find matching dt id
[ 27.269574] ar0234 32-0018: unable to get platform data
ar0234->max9295->max9296(i2c mux-tca9546)->csi_2
ar0234 30-001a: Detected AR0234 sensor,
However, the /dev/video node did not appear. Could you please check if there is any configuration issue?
boot_log_20260104.txt (184.8 KB)
tegra234-p3737-0000-dser-max9296-camera-ar0234-a00_20260104.dtsi.txt (2.8 KB)
tegra234-camera-ar0234-a00_20260104.dtsi.txt (25.3 KB)
Looks like your ar0234.c have problem cause the kernel panic.
[ 4.624497] tegra-camrtc-capture-vi tegra-capture-vi: tegra_channel_csi_init:Fail to parse port info
[ 4.633508] tegra-camrtc-capture-vi tegra-capture-vi: channel init failed
[ 4.640158] tegra-camrtc-capture-vi tegra-capture-vi: all channel init failed
[ 4.647334] tegra-camrtc-capture-vi tegra-capture-vi: Init channel failed
[ 4.653983] clarify anchor tegra_vi_media_controller_init_int:352:
[ 4.660176] tegra-camrtc-capture-vi tegra-capture-vi: tegra_vi_media_controller_init_int: failed
[ 4.668860] tegra-camrtc-capture-vi tegra-capture-vi: media controller init failed
agx_orin_boot_log_20260106.txt (169.3 KB)
agx_orin_boot_log_20260106.txt (169.3 KB)
tegra234-p3737-0000-dser-max9296-camera-ar0234-a00_20260104.dtsi.txt (2.8 KB)
Looks like your device tree(dtsi) didn’t include the nvcsi/tegra-capture-vi … context.
How should I proceed in order to incorporate these changes in the dtsi file into the final dtb?
Checking the programguide.
For example, in the file “tegra234-camera-ar0234-a00.dtsi”, I configured as follows:
However, the actual DTB did not end up using the configuration of this file as the final configuration state. Instead, it still used the corresponding configuration in tegra234-p3737-camera-modules.dtsi as the final configuration (the link you provided is about how to configure). My question is about the issue of the modifications not taking effect.
Do you review the document?
Below tell how to include your sensor device tree to main dtb.
root@tegra-ubuntu:/home/neardi# media-ctl -p -d /dev/media0
Media controller API version 5.10.216
Media device information
------------------------
driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.216
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
<- "ar0234 30-001a":0 [ENABLED]
pad1: Source
-> "vi-output, ar0234 30-001a":0 [ENABLED]
- entity 4: ar0234 30-001a (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev1
pad0: Source
[ 184.028736] clarify anchor ar0234_open:628:
[fmt:SGRBG10_1X10/1920x1200 field:none colorspace:srgb]
-> "13e40000.host1x:nvcsi@15a00000-":0 [ENABLED]
- entity 6: vi-output, ar0234 30-001a (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "13e40000.host1x:nvcsi@15a00000-":1 [ENABLED]
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1200,pixelformat=BA10 --stream-mmap=4 --stream-count=1 --stream-to=/root/0.yuv --stream-skip=2
root@tegra-ubuntu:/home/neardi# [ 228.146278] clarify anchor ar0234_power_on:309:
[ 228.162246] bwmgr API not supported
[ 228.173007] clarify anchor ar0234_set_mode:541:
[ 228.173267] clarify anchor ar0234_start_streaming:564:
[ 228.173420] clarify anchor ar0234_start_streaming:570:
[ 228.173574] clarify anchor ar0234_start_streaming:574:
[ 228.173724] clarify anchor ar0234_start_streaming:578:
[ 230.883813] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 230.884080] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 230.884361] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 230.884586] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 230.884887] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 230.885425] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
csi2_d1_n/p signal:
ar0234 (2lane)->csi2
tegra-capture-vi {
num-channels = <2>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
status="okay";
reg = <0>;
dual_hawk_vi_in0: endpoint {
status="okay";
vc-id = <0>;
port-index = <2>;
bus-width = <2>;
remote-endpoint = <&dual_hawk_csi_out0>;
};
};
port@1 {
status="okay";
reg = <1>;
dual_hawk_vi_in1: endpoint {
status="okay";
vc-id = <1>;
port-index = <6>;
bus-width = <2>;
remote-endpoint = <&dual_hawk_csi_out1>;
};
};
};
};
host1x@13e00000 {
nvcsi@15a00000 {
num-channels = <2>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
status="okay";
reg = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
status="okay";
reg = <0>;
dual_hawk_csi_in0: endpoint@0 {
status="okay";
port-index = <2>;
bus-width = <2>;
remote-endpoint = <&dual_hawk_out0>;
};
};
port@1 {
status="okay";
reg = <1>;
dual_hawk_csi_out0: endpoint@1 {
status="okay";
remote-endpoint = <&dual_hawk_vi_in0>;
};
};
};
};
channel@1 {
//status="okay";
reg = <1>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
//status="okay";
reg = <0>;
dual_hawk_csi_in1: endpoint@2 {
//status="okay";
port-index = <6>;
bus-width = <2>;
remote-endpoint = <&dual_hawk_out1>;
};
};
port@1 {
//status="okay";
reg = <1>;
dual_hawk_csi_out1: endpoint@3 {
//status="okay";
remote-endpoint = <&dual_hawk_vi_in1>;
};
};
};
};
};
};
This is the configuration. Is there any problem with this configuration?
agx_orin_capture_error_log_20260109.txt (149.7 KB)
tegra234-p3701-0000-p3737-0000_20260109.dts.txt (15.1 KB)
The port-index/bus-width is correct.
Get the trace log to check.
sudo su
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 3 > /sys/kernel/debug/camrtc/log-level
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo > /sys/kernel/debug/tracing/trace
v4l2-ctl --stream-mmap -c bypass_mode=0
cat /sys/kernel/debug/tracing/trace
If we judge the “err_intr_stat_pd_wc_short_err_vc0” issue you mentioned based on this log, do you have any corresponding detailed information?
Below error tells it.
kworker/0:4-121 [000] .... 299.357265: rtcpu_nvcsi_intr: tstamp:9929815789 class:CORRECTABLE_ERR type:STREAM_VC phy:0 cil:0 st:2 vc:8 status:0x0000000a
If I use this command to take a screenshot, the following error will occur. What is the reason for this?
v4l2-ctl --set-fmt-video=width=1280,height=720 --stream-mmap --stream-count=10 -d /dev/video0
root@tegra-ubuntu:~# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 26/26 #P:8
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
kworker/0:5-414 [000] .... 165.846270: rtcpu_string: tstamp:5757330907 id:0x04010000 str:"VM0 deactivating."
v4l2-ctl-2457 [004] .... 179.804811: tegra_channel_open: vi-output, ar0234 30-001a
v4l2-ctl-2457 [004] .... 179.812687: tegra_channel_set_power: ar0234 30-001a : 0x1
v4l2-ctl-2457 [004] .... 179.812704: camera_common_s_power: status : 0x1
v4l2-ctl-2457 [000] .... 179.814163: tegra_channel_set_power: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2457 [000] .... 179.814171: csi_s_power: enable : 0x1
v4l2-ctl-2457 [000] .... 179.815815: tegra_channel_capture_setup: vnc_id 0 W 1920 H 1200 fmt c4
v4l2-ctl-2457 [001] .... 179.825683: tegra_channel_set_stream: enable : 0x1
v4l2-ctl-2457 [001] .... 179.840861: tegra_channel_set_stream: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2457 [001] .... 179.840864: csi_s_stream: enable : 0x1
v4l2-ctl-2457 [001] .... 179.841480: tegra_channel_set_stream: ar0234 30-001a : 0x1
kworker/0:5-414 [000] .... 179.854167: rtcpu_string: tstamp:6195328189 id:0x04010000 str:"VM0 activating."
kworker/0:5-414 [000] .... 179.854169: rtcpu_vinotify_event: tstamp:6195979093 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:198257063552 data:0x359e300010000000
kworker/0:5-414 [000] .... 179.854169: rtcpu_vinotify_event: tstamp:6195979228 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:198257070112 data:0x0000000031000001
kworker/0:5-414 [000] .... 179.854170: rtcpu_vinotify_event: tstamp:6195979381 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:198257136800 data:0x359e2d0010000000
kworker/0:5-414 [000] .... 179.854170: rtcpu_vinotify_event: tstamp:6195979512 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:198257143456 data:0x0000000031000002
vi-output, ar02-2459 [002] .... 182.483798: tegra_channel_capture_setup: vnc_id 0 W 1920 H 1200 fmt c4
kworker/0:5-414 [000] .... 182.486169: rtcpu_string: tstamp:6278612440 id:0x04010000 str:"ERROR: camera-ip/vi5/vi5.c:3893 [vi5_update_chan"
kworker/0:5-414 [000] .... 182.486171: rtcpu_string: tstamp:6278612541 id:0x04010000 str:"nel_match_data] ""
kworker/0:5-414 [000] .... 182.486172: rtcpu_string: tstamp:6278612912 id:0x04010000 str:"match configuration is already in use by by chan"
kworker/0:5-414 [000] .... 182.486173: rtcpu_string: tstamp:6278613013 id:0x04010000 str:"nel 35 cannot set channel match configuration"
kworker/0:5-414 [000] .... 182.486173: rtcpu_string: tstamp:6278613157 id:0x04010000 str:""
"
kworker/0:5-414 [000] .... 182.486199: rtcpu_string: tstamp:6278613499 id:0x04010000 str:"ERROR: services/capture/capture-scheduler.c:3024"
kworker/0:5-414 [000] .... 182.486200: rtcpu_string: tstamp:6278613612 id:0x04010000 str:" [capture_scheduler_thread] ""
kworker/0:5-414 [000] .... 182.486201: rtcpu_string: tstamp:6278613843 id:0x04010000 str:"Error processing event 0x100003"
kworker/0:5-414 [000] .... 182.486202: rtcpu_string: tstamp:6278613988 id:0x04010000 str:""
hi, Shane
Could you please provide me with some troubleshooting suggestions?