Jetson AGX Orin Multi-camera ISPs cannot work simultaneously

When adapting to multiple cameras on AGX Orin, v4l2-ctl can capture images simultaneously. Each camera can capture images individually through an ISP, but they cannot run at the same time.

The sensor connection structure is shown in the diagram above. All cameras can work simultaneously via v4l2-ctl, and each camera can also function normally with its ISP running independently.

Furthermore, sensor0 and sensor1 can also run their ISPs simultaneously, as can sensor2 and sensor3.

However, sensor0 and sensor2, or sensor3, cannot work simultaneously.

Any ideas?

*** Please note that this reply is generated by LLM automatically ***

The issue you’re experiencing with the Jetson AGX Orin series and multiple cameras is related to the way the Image Signal Processor (ISP) is utilized.

The Jetson AGX Orin series supports a maximum of 16 virtual channels with ISP or 24 virtual channels without ISP. This means that when using the ISP, the number of virtual channels available is limited to 16.

The CSI aggregator uses virtual channels to connect to four cameras over one CSI connection. This allows multiple cameras to work simultaneously via v4l2ctl. However, when using the ISP, each camera can capture images individually, but they cannot run at the same time.

The sensor connection structure, as shown in the diagram, consists of four CSI bricks (AB, CD, EF, and GH) with each brick having multiple ports. Each port can be connected to multiple sensors, and each sensor can be connected to a different CSI brick.

The reason why sensor0 and sensor1 can run their ISPs simultaneously, as can sensor2 and sensor3, is likely due to the way the CSI bricks are configured. It’s possible that sensor0 and sensor1 are connected to the same CSI brick (e.g., AB), and sensor2 and sensor3 are connected to the same CSI brick (e.g., CD). This would allow them to share the same ISP and run simultaneously.

However, when trying to run sensor0 and sensor1 or sensor2 simultaneously, it’s likely that they are connected to different CSI bricks, which would require separate ISPs. Since the Jetson AGX Orin series only supports a limited number of virtual channels with ISP, this would cause a conflict and prevent them from running simultaneously.

To resolve this issue, you could consider the following options:

  1. Use a different CSI brick configuration that allows multiple sensors to share the same ISP.
  2. Use a different ISP configuration that allows multiple sensors to run simultaneously.
  3. Use a different camera configuration that doesn’t require the use of the ISP.
  4. Consider using a different hardware platform that supports more virtual channels with ISP.

It’s worth noting that the exact solution would depend on the specific requirements of your application and the constraints of your hardware setup.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

hello t_msg,

may I know what’s the failure for running them through ISP. do you have any logs for reference.

Thank you for your reply. According to the logs, the second camera encountered a timeout error:

Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: === gst-launch-1.0[3403]: Connection established (FFFFAAA8B840)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module6
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module7
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclHwGetModuleList: No module data found
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 258)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 62)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 114)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStartPlatformDrivers: Failed to start module drivers
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStateControllerOpen: Failed ImagerGUID 0. (error 0xA000E)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclOpen: PCL Open Failed. Error: 0xf
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 725)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 465)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 384)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 556)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 258)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 62)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 114)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStartPlatformDrivers: Failed to start module drivers
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclOpen: PCL Open Failed. Error: 0xf
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 725)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 465)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 384)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 556)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 258)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 62)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 114)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStartPlatformDrivers: Failed to start module drivers
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStateControllerOpen: Failed ImagerGUID 2. (error 0xA000E)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclOpen: PCL Open Failed. Error: 0xf
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 725)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 465)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 384)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 556)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 258)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 62)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 114)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStartPlatformDrivers: Failed to start module drivers
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStateControllerOpen: Failed ImagerGUID 3. (error 0xA000E)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclOpen: PCL Open Failed. Error: 0xf
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 725)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 465)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 384)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 556)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: LSC: LSC surface is not based on full res!
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 258)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 62)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 114)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStartPlatformDrivers: Failed to start module drivers
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclStateControllerOpen: Failed ImagerGUID 5. (error 0xA000E)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: NvPclOpen: PCL Open Failed. Error: 0xf
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 725)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 465)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 384)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 556)
Mar 18 15:05:31 ubuntu nvargus-daemon[1255]: LSC: LSC surface is not based on full res!
Mar 18 15:05:32 ubuntu nvargus-daemon[1255]: LSC: LSC surface is not based on full res!
Mar 18 15:05:32 ubuntu nvargus-daemon[1255]: === gst-launch-1.0[3403]: CameraProvider initialized (0xffffa538d540)
Mar 18 15:05:32 ubuntu nvargus-daemon[1255]: LSC: LSC surface is not based on full res!
Mar 18 15:05:38 ubuntu nvargus-daemon[1255]: === gst-launch-1.0[3474]: Connection established (FFFF827CB840)
Mar 18 15:05:38 ubuntu nvargus-daemon[1255]: === gst-launch-1.0[3474]: CameraProvider initialized (0xffff4c000c00)
Mar 18 15:05:38 ubuntu nvargus-daemon[1255]: LSC: LSC surface is not based on full res!
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 6, capture sequence ID = 0 draining session frameStart events 3
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 539)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Sensor GUID 6 is in error state. Skipping requests, capture sequence ID = 1 continue draining session frameStart events 2
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 553)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Sensor GUID 6 is in error state. Skipping requests, capture sequence ID = 2 continue draining session frameStart events 1
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 553)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Sensor 6 already in same state
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/CaptureServiceDeviceSensor.cpp, function setErrorState(), line 100)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 6, capture sequence ID = 0 draining session frameEnd events 3
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 656)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Sensor 6 already in same state
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/CaptureServiceDeviceSensor.cpp, function setErrorState(), line 100)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 6, capture sequence ID = 1 draining session frameEnd events 2
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 656)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Sensor 6 already in same state
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/CaptureServiceDeviceSensor.cpp, function setErrorState(), line 100)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error InvalidState: Timeout!! Skipping requests on sensor GUID 6, capture sequence ID = 2 draining session frameEnd events 1
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/services/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 656)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error Timeout: Sending critical error event for Session 6
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]:  (in src/api/Session.cpp, function sendErrorEvent(), line 1101)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: Module_id 30 Severity 2 : (fusa) Error: Timeout  propagating from:/capture/src/fusaViHandler.cpp 828
Mar 18 15:05:43 ubuntu nvargus-daemon[1255]: === gst-launch-1.0[3474]: CameraProvider destroyed (0xffff4c000c00)
Mar 18 15:05:44 ubuntu nvargus-daemon[1255]: === gst-launch-1.0[3474]: Connection closed (FFFF827CB840)
Mar 18 15:05:44 ubuntu nvargus-daemon[1255]: === gst-launch-1.0[3474]: Connection cleaned up (FFFF827CB840)

hello t_msg,

there’s an error to init the sensor for streaming, since it’s libargus for checking device tree property for registration.
please see-also developer guide, To verify the port binding result.
you may also execute the commands to dump device tree into dts formats for checking.
for instance, $ sudo dtc -I fs -O dts /sys/firmware/devicetree/base > /tmp/123.dts

Hi JerryChang,

There’s something I don’t understand: if my device tree properties are set incorrectly, I shouldn’t be able to run the ISP (libargus) for a single camera.

Like I said, all cameras can run their ISPs individually, just not simultaneously.

hello t_msg,

please refer to Module Properties, it’s position property for libargus to distinguish camera index.
please check you don’t have duplicate strings, on the other hand, you may using below in a four-camera system,
such as.. bottomleft, bottomright, centerleft, centerright

Thanks for your tip. I’ve checked them, and they’re all fine. :(

Actually, I configured 8 cameras using two Deserializers, so I configured the following positions: top, bottom, topleft, topright, bottomleft, bottomright, centerleft, centerright

I noticed these during the initial adaptation process. If any of them are configured incorrectly, argus-daemon will report an error.

hello t_msg,

may I double check which Jetpack public release version you’re working with?
you may examine release tag for confirmation, i.e. $ cat /etc/nv_tegra_release

BTW,
please try below for 8-cam configuration.

    bottomleft,    //video0
    centerleft,    //video1
    centerright,   //video2
    topleft,       //video3
    bottomright,   //video4
    topright,      //video5
    bottomcenter,  //video6
    topcenter,     //video7

Hi JerryChang,

Thanks. My Jetson AGX Orin isn’t with me right now, but I’ll test it tomorrow.

Also, the release I’m using is L4T36.5.0.

I tested it today, and unfortunately, it still doesn’t work. :(

I’m wondering if it’s related to the deserializer. But if it’s related to the deserializer, why does v4l2-ctl work
?

hello t_msg,

please collect nvargus-daemon logs for details,
for instance, $ sudo journalctl -b -u nvargus-daemon

I’m running some tests on AGX Orin, and we’ll send you the logs when they’re finished. However, it’s no different from the logs I sent above.

Below is the log of nvarugs-daemon. I ran sensor0 and sensor1 and everything worked fine. When I ran sensor2, it stopped working (at this time, sensor0 and sensor1 were still working normally).

nvargus-daemon.log (8.8 KB)

hello t_msg,

it looks capture has timed out.
let me have confirmation, it’s sensor0/sensor1 via single deserializer, and they’re routing to CSI-A/B with 4-lane configuration, whereas you’ve sensor2/sensor3 via the same deserializer, but they’re routing to CSI-C/D with 4-lane configuration.
please try launching with sensor0 and sensor2, each camera from 1st and 2nd CSI brick for testing.

That’s correct.

In fact, I’ve already tested Sensor0 and Sensor2, and the phenomenon is the same. The logs also show a timeout.

I’m now wondering if the issue is caused by the timing of the serializer/deserializer configuration. I’ll be conducting some tests.

Testing has confirmed that the issue is related to the timing of GMSL initialization.

It appears that once one interface is enabled, the others will also be in HS mode, which affects ISP reception.