Long time start/stop with argus leads to autocontrol SCF_AutocontrolACSync error
Issue Overview
Users are experiencing persistent SCF_AutocontrolACSync errors while utilizing the Nvidia Jetson Orin Nano Dev board with Argus for image acquisition. The issue manifests after several hours of operation, where the system fails to process frames correctly, leading to significant delays in stopping streaming from sensors. Specifically, one of the stop_streaming methods takes over 15 seconds to complete, indicating a bottleneck in the process. The error message "SCF_AutocontrolACSync failed to wait for an earlier frame to complete" is logged multiple times during these events, suggesting a synchronization issue within the camera pipeline. This problem occurs despite following established Argus sample code for starting and stopping image acquisition, indicating a deeper underlying issue with either software or hardware configurations.
The users report that they are running JetPack 5.1.2 and have updated relevant libraries (libnvargus, fusacap, and nvscf). However, even after firmware updates and library replacements, the error persists, significantly impacting user experience by causing application crashes and long wait times during sensor operations.
Possible Causes
-
Hardware Incompatibilities or Defects: The use of third-party or non-standard camera modules may lead to compatibility issues with the Jetson Orin Nano’s hardware.
-
Software Bugs or Conflicts: There may be unresolved bugs in the Argus library or conflicts with other installed software components that affect image processing.
-
Configuration Errors: Incorrect configurations in the Argus pipeline or improper initialization of camera sensors could lead to synchronization problems.
-
Driver Issues: Outdated or incompatible drivers may not handle the camera’s data stream efficiently, resulting in timeouts and errors.
-
Environmental Factors: Power supply inconsistencies or thermal issues may contribute to hardware performance degradation over extended periods of operation.
-
User Errors or Misconfigurations: Missteps during setup or testing phases may lead to incorrect assumptions about system functionality.
Troubleshooting Steps, Solutions & Fixes
-
Verify Software Versions:
- Ensure you are using compatible versions of JetPack and Argus libraries.
- Check for any updates or patches related to SCF_AutocontrolACSync errors.
-
Monitor System Logs:
- Use
dmesg
to capture detailed logs when the error occurs:dmesg | grep SCF_AutocontrolACSync
- Analyze timestamps and error messages for patterns that could indicate specific triggers for the issue.
- Use
-
Test with Different Hardware Configurations:
- If possible, swap out camera modules with known compatible models (e.g., IMX219) to see if the issue persists.
- Test with different cables and connections to rule out physical layer issues.
-
Adjust Power and Clock Settings:
- Increase clock rates as suggested in the forum discussion:
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
- Monitor whether this adjustment improves stability.
- Increase clock rates as suggested in the forum discussion:
-
Implement Debugging Calls:
- Modify driver code to add additional logging around critical sections where timeouts occur.
- Share findings on forums for community input on potential causes based on observed behaviors.
-
Update Firmware and Libraries:
- Ensure that all relevant libraries (e.g., libnvfusacap) are updated as per recommendations from forum discussions.
- Flash the latest RCE firmware if not already done.
-
Consult Documentation and Community Resources:
- Review Nvidia’s official documentation for any known issues related to SCF_AutocontrolACSync.
- Engage with community forums for shared experiences and solutions from other users facing similar problems.
-
Testing Using MMAPI Sample Code:
- Run MMAPI sample applications to determine if the problem can be replicated outside of custom implementations.
- This can help isolate whether the issue is within user code or a broader system problem.
-
Best Practices for Future Prevention:
- Regularly update software components and firmware as new versions are released.
- Maintain a consistent testing environment to identify issues early during development phases.
-
Unresolved Aspects:
- Further investigation may be needed into specific driver implementations that could be contributing to these synchronization errors.
- Users should continue sharing their findings on forums to build a comprehensive understanding of this issue across different setups and configurations.