Hardware Configuration:
MAX9296_0 (2 LANE) → CSI_0
MAX9296_1 (2 LANE) → CSI_1
MAX9296_2 (2 LANE) → CSI_2
MAX9296_3 (2 LANE) → CSI_3
Three Senyun SHF3G cameras (RAW12) are connected to Jetson Orin NX. They are mounted on LinkA of MAX9296_0, MAX9296_1 and MAX9296_3 respectively. Camera data can be captured normally via v4l2-ctl.
Problem Description:
The Uniquename values shown by sudo nvargus_nvraw --lps are identical for all devices, which does not affect image capture with Argus.
When running sudo argus_camera, only images from sensor-id 0 can be acquired. The feeds of sensor-id 1 and sensor-id 3 show a black screen. The device tree files and error logs of nvargus-daemon are attached.
hello wangyu3,
may I also confirm the platform you’re working with. is it running with Jetson Orin NX developer kit?
CSI-0 will not works if that’s a developer kit, since the carrier board did not use CSI-0 clock.
please see-also Jetson Orin Nano Developer Kit Carrier Board Reference Design Files for the schematic.
Hi,
This baseboard is not the Jetson Orin NX developer kit. Currently, data can be acquired from sensor-id 0, which indicates that CSI-0 is working properly.
hello wangyu3,
there’re some erroneous per checking your device tree.
firstly, please update couple of things within tegra-camera-platform{} .
(1) please remove devname from tegra-camera-platform{} since you’re now working with JP-6 release version.
(2) update the proc-device-tree, the path should be.. /sys/firmware/devicetree/base/xxx now.
secondly, here’s also some mistake of your sensor node.
let me re-cap the code snippets as below..
imx900_c@10 {
compatible = "sensing,imx900";
...
mode0 {/*mode SENSOR_MODE_2064X1552_30FPS*/
mclk_khz = "24000";
num_lanes = "2";
tegra_sinterface = "serial_a";
...
ports {
port@0 {
status = "okay";
reg = <0>;
imx185_imx185_out2: endpoint {
status = "okay";
vc-id = <0>;
port-index = <1>;
bus-width = <2>;
the tegra_sinterface should be same as your port-index.
for example,
if that’s actually running at CSI-A, you should have tegra_sinterface = "serial_a" and port-index = <0>;
lastly, it’s not always sensor-id 0 maps to CSI-0.
Argus checks position property for launching the camera nodes.
Hi,
Could you tell me the correspondence among tegra_sinterface, port-index and CSI?
serial_a — port-index = <0> — CSI-0
serial_b — port-index = <1> — CSI-1
serial_c — port-index = <2> — CSI-2
serial_d — port-index = <3> — CSI-3
hello wangyu3,
yes, that’s correct mappings.
besides.. please refer to Jetson Orin NX Series and Orin Nano Series Design Guide, CSI_0_D1 and CSI_1_D0 have P/N swapped on the module, you’ll need to configure lane_polarity in the sensor device tree accordingly.
Hi
I have configured lane_polarity=6 for port-index = <0> and port-index = <1>.
hello wangyu3,
all right, please check previous post #7 to have corrections of your sensor device tree.
Hi,
Okay, thank you. I will try to make revisions and keep you updated on the progress.
Hi,
After these modifications, argus_camera can successfully capture images from four cameras. Thanks a lot. However, running sudo nvargus_nvraw --lps still outputs identical information, which seemingly does not affect the cameras’ image output.
hello hello wangyu3,
thanks for status update, glad to know it works.
that’s one of the JP-6 known issue, which has fixed in the latest JP-6.2.2/r36.5.0 release version.
if that’s possible, please moving forward to include the changes.
please see-also Topic 343974 for details, BTW.
hello wangyu3,
it’s pre-built update for JetPack 6.2.1/r36.4.4 which doesn’t apply to your JP-6.0 release neither.
anyways, please moving forward to the latest JP-6.2.2/r36.5.0 release version to include the changes.
Hi,
Okay, we plan to keep using JP6.0GA. From what I’ve checked, argus_camera can capture camera images properly for now, so there shouldn’t be any other impacts on camera frame acquisition, right?
hello wangyu3,
it’s okay for camera frame acquisition.
FYI, that’s an issue of returning 1st camera string always, which affect the camera tuning stuffs.
Hi,
I am currently testing the stability of four cameras and executing the following command to preview images from all four cameras simultaneously:
sudo argus_camera -d 0 –module=2
After running for a period of time, the images from the last three cameras turn abnormal and freeze entirely with no stable output.
I then attempted to terminate argus_camera and use v4l2-ctl to verify normal camera data capture, yet the corresponding camera device nodes were occupied by nvargus-daemon. When I tried to kill the nvargus-daemon related processes, the device froze completely and eventually rebooted. The attached file contains the relevant pstore logs.
pstore.zip (33.5 KB)
hello wangyu3,
actually, there’re some camera software bug and stability issue in the early JP-6 public release (especially for JP-6.0/r36.3)
if that’s possible, please moving forward to the latest JP-6.2.2/r36.5.0 release version.
Hi,
Do you have the corresponding patch available? We intend to keep using JP6.0 version.
hello wangyu3,
unfortunately, we don’t back-port the changes. please consider it’s a JP-6.0 known issue.