Hi NV_Team,
We have more than 10 cameras on AGX Orin, 12 RAW Cameras LI-IMX390 with MAX96712 and MAX9296, v4l2 works fine but nvarguscamera open sensor-id=2 is camera 10 not camera 2.
OFParserListModules module list should be
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module8
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module9
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module10
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module11
but my agx orin shows module list sequence is below
nvidia@ubuntu:~$ gst-launch-1.0 nvarguscamerasrc sensor-id=2 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=1920, height=1080' ! nvvidconv ! nvegltransform ! nveglglessink -e
。。。。。。。 (nvargus-daemon logs)
=== NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== gst-launch-1.0[4682]: Connection established (FFFFBA0AB840)NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: numBuiltinModules 12 +++
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module10
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module11
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module8
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module9
nvidia@ubuntu:~$ v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
/dev/media0
vi-output, imx390 10-002a (platform:tegra-capture-vi:0):
/dev/video4
/dev/video5
/dev/video6
/dev/video7
vi-output, imx390 12-002a (platform:tegra-capture-vi:2):
/dev/video10
/dev/video11
vi-output, imx390 9-002a (platform:tegra-capture-vi:4):
/dev/video0
/dev/video1
/dev/video2
/dev/video3
vi-output, imx390 11-002a (platform:tegra-capture-vi:5):
/dev/video8
/dev/video9
Hello @Luna2020
You can take a look at this wiki page Fixed Sensor ID for Argus Capture with GStreamer just for reference for your case. Read all the wiki, but pay more attention to the Fixed Sensor ID for Argus Capture with GStreamer section.
I hope this helps!
Regards!
Eduardo Salazar
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com
1 Like
Hi
This bug is not related with v4l2.
If we configure with 10 cameras nvargus works fine, the modulelist sequence is okay.
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module8
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module9
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module10
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module11
If we configure with 12 cameras nvargus works fine, the modulelist sequence is not okay.
12 Cameras
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module10
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module11
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module8
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module9
Hello @Luna2020
The links that I shared are pointing to the sections that are related to nvarguscamerasrc
and not with v4l2
. Please check Capture using nvarguscamerasrc with no V4L2 Controls using an Unstable Camera System section
Furthermore, could you please share the tegra-camera-platform
node from your device tree?
Regards!
Hi,
Here is my tegra-camera-platform, my dtsi setting is refered to tegra234-camera-p3762-a00.dtsi
tegra-camera-platform {
status = "okay";
compatible = "nvidia, tegra-camera-platform";
/* Physical settings to calculate max ISO BW
*
* num_csi_lanes = <>;
* Total number of CSI lanes when all cameras are active
*
* max_lane_speed = <>;
* Max lane speed in Kbit/s
*
* min_bits_per_pixel = <>;
* Min bits per pixel
*
* vi_peak_byte_per_pixel = <>;
* Max byte per pixel for the VI ISO case
*
* vi_bw_margin_pct = <>;
* Vi bandwidth margin in percentage
*
* max_pixel_rate = <>;
* Max pixel rate in Kpixel/s for the ISP ISO case
*
* isp_peak_byte_per_pixel = <>;
* Max byte per pixel for the ISP ISO case
*
* isp_bw_margin_pct = <>;
* Isp bandwidth margin in percentage
*/
num_csi_lanes = <16>;
max_lane_speed = <15000000>;
min_bits_per_pixel = <10>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
max_pixel_rate = <7500000>;
isp_peak_byte_per_pixel = <5>;
isp_bw_margin_pct = <25>;
modules {
status = "okay";
module0 {
status = "okay";
badge = "imx390_bottomleft";
position = "bottomleft";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 9-002a";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@0/imx390_2a@2a";
};
};
module1 {
status = "okay";
badge = "imx390_centerleft";
position = "centerleft";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 9-002b";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@0/imx390_2b@2b";
};
};
module2 {
status = "okay";
badge = "imx390_centerright";
position = "centerright";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 9-002c";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@0/imx390_2c@2c";
};
};
module3 {
status = "okay";
badge = "imx390_topleft";
position = "topleft";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 9-002d";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@0/imx390_2d@2d";
};
};
module4 {
status = "okay";
badge = "imx390_bottomright";
position = "bottomright";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 10-002a";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@1/imx390_2a@2a";
};
};
module5 {
status = "okay";
badge = "imx390_topright";
position = "topright";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 10-002b";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@1/imx390_2b@2b";
};
};
module6 {
status = "okay";
badge = "imx390_bottomcenter";
position = "bottomcenter";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 10-002c";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@1/imx390_2c@2c";
};
};
module7 {
status = "okay";
badge = "imx390_topcenter";
position = "topcenter";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 10-002d";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@1/imx390_2d@2d";
};
};
module8 {
status = "okay";
badge = "imx390_frontcenter";
position = "frontcenter";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 11-002a";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@2/imx390_2a@2a";
};
};
module9 {
status = "okay";
badge = "imx390_rearcenter";
position = "rearcenter";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 11-002b";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@2/imx390_2b@2b";
};
};
module10 {
status = "okay";
badge = "imx390_leftcenter";
position = "leftcenter";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 12-002a";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@3/imx390_2a@2a";
};
};
module11 {
status = "okay";
badge = "imx390_rightcenter";
position = "rightcenter";
orientation = "1";
drivernode0 {
status = "okay";
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
devname = "imx390 12-002b";
sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@3180000/tca9546@70/i2c@3/imx390_2b@2b";
};
};
};
};
Hi @Luna2020
I see that your position property is the same as Nvarguscamerasrc can not open camera with some errors - #3 by ShaneCCC
Did you confirm that when you capture from sensor-id=2, it is camera 10 that is opening?
Did you take a look at the link that I shared with you related to fixing the sensor ID for nvarguscamerasrc? I think that if you give it a try, you could capture from camera 2 when you specify the sensor-id=2 property.
Regards!
1 Like
Hi,
When I open sensor-id=2, nvarguscamera open camera-10, we can see this from csi trace log.
/dev/video2 → iic-bus-9
/dev/video10 → iic-bus-12
I think this maybe nvarguscamera or dtsi bugs.