Unable to stream 3 1080×1440@60 fps camera in Orin Nano
Issue Overview
Users have reported difficulties in streaming three IMX296 single-lane cameras simultaneously on the Nvidia Jetson Orin Nano Dev board. The specific symptoms include:
- Inability to stream more than two cameras at a resolution of 1080×1440 at 60 fps.
- Successful individual streaming of each camera when tested separately using the command:
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! xvimagesink
- Failure to stream multiple cameras in the Argus Camera application, which only allows for one camera at a time.
This issue appears to occur consistently during setup and operation, particularly when attempting to utilize multiple camera feeds. The impact on user experience is significant, as users are unable to leverage the full capabilities of their hardware for multi-camera applications.
Possible Causes
Several potential causes for this issue have been identified:
-
Hardware Limitations: The Orin Nano may have inherent limitations regarding the number of simultaneous camera streams it can handle.
-
Software Bugs or Conflicts: There could be bugs within the Argus stack or conflicts with other software components that prevent multiple streams.
-
Configuration Errors: Incorrect settings in the device tree or other configuration files may lead to issues in recognizing and managing multiple cameras.
-
Driver Issues: Outdated or incompatible drivers could hinder the functionality of streaming multiple cameras.
-
Environmental Factors: Insufficient power supply or thermal throttling could affect performance and bandwidth.
-
User Errors or Misconfigurations: Misconfigured parameters in the device tree or incorrect usage of commands could lead to the observed problems.
Troubleshooting Steps, Solutions & Fixes
To resolve the issue of streaming three cameras on the Orin Nano, follow these comprehensive troubleshooting steps:
-
Verify Camera Functionality:
- Use the
v4l2-ctl
command to check if all three cameras can stream simultaneously:v4l2-ctl --list-devices
- Test streaming with:
v4l2-ctl --device=/dev/videoX --stream-mmap --stream-count=100
- Replace
/dev/videoX
with the appropriate device identifier for each camera.
- Use the
-
Boost System Clocks:
- Increase system performance by boosting clock speeds. Execute the following commands:
sudo nvpmodel -m 0 sudo jetson_clocks
- Lock clock rates for various components:
sudo su echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
- Increase system performance by boosting clock speeds. Execute the following commands:
-
Check Device Tree Configuration:
- Ensure that all necessary parameters are included in the device tree. A missing parameter, such as
lane_polarity
, can prevent proper operation. - Verify that
lane_polarity
is set correctly for all camera sections (e.g., serial_a and serial_b).
- Ensure that all necessary parameters are included in the device tree. A missing parameter, such as
-
Consult Documentation:
- Review Nvidia’s official documentation for any updates regarding camera support and configuration settings specific to the Orin Nano.
-
Test with Different Applications:
- If issues persist with Argus, consider testing other applications or frameworks that support camera streaming to isolate whether it’s an application-specific issue.
-
Monitor System Resources:
- Check system resource usage (CPU, memory, bandwidth) during streaming attempts to identify potential bottlenecks.
-
Firmware Updates:
- Ensure that your Jetson Orin Nano is running the latest firmware and software updates to mitigate known bugs or issues.
-
Seek Community Support:
- If problems continue after following these steps, consider reaching out to community forums or Nvidia support for additional assistance.
By following these troubleshooting steps and solutions, users should be able to diagnose and resolve issues related to streaming multiple cameras on the Nvidia Jetson Orin Nano Dev board.