Hi,
I am using orin nano developer kit for integrating a camera sensor. Here I am finding an issue while trying to stream via argus application, i.e using calculated pixel clock value(resolution*fps) I can able to get the stream in cam1 port but with the same value I cannot get the stream in cam0 port. And I have even tried with many other pixel clock values that is by using other calculation methods that you have given in the developer guide, even then I could not get the stream via argus application only in cam0. Below is the calculation method I have followed.
pixel_clk_hz` = sensor output size × frame rate
= (4072 * 3176)*12
= 155192064
is there anything I am missing or I need to handle specifically?
hello naveenkumar.kamalakannan,
please note that there’s lane polarity, CSI0 D1 and CSI1 D0 P/N will always been swizzle for P/N.
hence, please review the sensor device tree, you may configure lane_polarity
for a polarity swap on any lane.
you may see-also reference driver, such as tegra234-camera-rbpcv2-imx219.dtsi
to configure the polarity settings.
thanks
Hi JerryChang
Thank you for your response.
Yes I have seen that lane_polarity parameter and I have already enabled it in my sensor device tree, here I can able to get the stream via V4L2 in cam0 port, the issue is I cannot able to get the stream via argus_application. When I start the stream with argus_application I can only able to see black screen in cam0 port and I am not even getting any logs in the dmesg, but with V4L2 it works fine.
Thanks.
hello naveenkumar.kamalakannan,
may I know the kernel failure messages when you start the stream with argus_application?
besides, please also putting argus daemon in the foreground to obtain Argus daemon logs,
for example,
$ sudo su
# pkill nvargus-daemon
# nvargus-daemon
or.. # nvargus-daemon 2>&1 | tee argus-output.log
Hi JerryChang
Below you can find the logs of nvargus-daemon log, trace log and dmesg log .
nvargus-daemon log :
port0_argus-output.log (3.2 KB)
trace log:
port0_trace.log (6.5 KB)
dmesg log:
port0_dmesg.log (543 Bytes)
Thanks.
hello naveenkumar.kamalakannan,
according to the failure,
there’s timeout for waiting frame-start, it doubts sensor did not output frames to CSI channel.
since you’re able to fetch the stream by v4l standard ioctl. you may examine the settings within tegra-camera-platform{}
.
BTW,
how you connect these cam0 and cam1 camera sensors, are you using a customize carrier board?
Hi JerryChang
- Yes I have examined the
tegra-camera-platform{}
, I think it’s almost correct, below you can find those settings that I have used in my sensor device tree.
tcp: tegra-camera-platform {
compatible = “nvidia, tegra-camera-platform”;
num_csi_lanes = <4>;
max_lane_speed = <1500000>;
min_bits_per_pixel = <10>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
max_pixel_rate = <160000>;
isp_peak_byte_per_pixel = <5>;
isp_bw_margin_pct = <25>;
modules {
cam_module0: module0 {
status = “okay”;
badge = “eimx485_front_0485”;
position = “front”;
orientation = “1”;
cam_module0_drivernode0: drivernode0 {
pcl_id = “v4l2_sensor”;
devname = “e-con_cam 9-0042”;
proc-device-tree = “/proc/device-tree/cam_i2cmux/i2c@0/eimx485_a@42”;
status = “okay”;
};
};
cam_module1: module1 {
badge = “eimx485_rear_0485”;
position = “rear”;
orientation = “1”;
cam_module1_drivernode0: drivernode0 {
pcl_id = “v4l2_sensor”;
devname = “e-con_cam 10-0042”;
proc-device-tree = “/proc/device-tree/cam_i2cmux/i2c@1/eimx485_c@42”;
status = “okay”;
};
};
};
};
Note: With this settings I can able to get the stream via argus application for cam1.
- No I am not using any custom carrier board, I am using only Nvidia’s Orin Nano developer kit
Hi JerryChang
Is there any update on this?