tegra-capture-vi corr_err occurring in JetPack 5.1.2
Issue Overview
Users are experiencing intermittent failures with the OV9281 grayscale MIPI camera connected to the Nvidia Jetson Orin Nano Dev board, specifically when using JetPack 5.1.2. The camera operates correctly for a period (ranging from minutes to hours) but subsequently stops producing frames. The dmesg
log reveals recurring tegra-capture-vi
errors, such as:
[ 2318.292444] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 10538, flags: 0, err_data 4194402
This issue occurs while utilizing Video For Linux 2 (V4L2) for application development, as the camera outputs in Y10 format, which is incompatible with libargus. Users have noted that restarting the application temporarily resolves the issue, but a reliable long-term solution is required. The problem has not been encountered with the same sensor on a Xavier NX running JetPack 4.6.3, indicating a potential regression or compatibility issue with the newer JetPack version.
Possible Causes
-
Hardware Incompatibilities: The AverMedia DL131L carrier board may have compatibility issues with the OV9281 camera when used with the Orin Nano.
-
Software Bugs: The transition from JetPack 4.6.3 to 5.1.2 may have introduced bugs affecting camera operation.
-
Configuration Errors: Incorrect settings in the device tree or V4L2 parameters could lead to frame loss and errors.
-
Driver Issues: Potential bugs or incompatibilities in the drivers for the camera or multimedia complex could result in CRC errors and frame discards.
-
Environmental Factors: Noise on the CSI lines could cause CRC errors, leading to frame loss.
-
User Errors: Misconfigurations in buffer settings or other parameters may exacerbate the issue.
Troubleshooting Steps, Solutions & Fixes
-
Diagnosing the Problem:
- Check
dmesg
logs for recurring errors related totegra-capture-vi
. - Monitor NVCSI registers such as
NVCSI_STREAM_0_CORRECTABLE_ERR_INTR_STATUS_VC0_0
for CRC error notifications.
- Check
-
Gathering System Information:
- Use the command:
dmesg | grep tegra-camrtc
- Review logs for specific error messages and timestamps.
- Use the command:
-
Isolating the Issue:
- Test with different configurations of queued buffers in V4L2.
- Experiment with various clock settings for VI, ISP, and NVCI to see if performance improves.
-
Potential Fixes:
- Adjust device tree parameters related to camera settings if applicable.
- Increase buffer sizes in V4L2:
v4l2-ctl --set-ctrl=buffer_size=<new_size>
- Implement recovery mechanisms in your application code to handle frame loss gracefully (e.g., reinitialize the sensor upon detecting a CRC error).
-
Documentation and Updates:
- Regularly check for updates to JetPack and related drivers that may address known issues.
- Refer to Nvidia’s official documentation regarding MIPI CSI configurations and troubleshooting.
-
Best Practices:
- Ensure proper grounding and shielding of CSI lines to minimize noise.
- Regularly monitor system performance and logs during extended use to catch issues early.
-
Unresolved Aspects:
- There is currently no device tree configuration available that allows for automatic recovery from correctable errors without stopping the camera.
- Further investigation into specific parameters that can be tuned for better error handling is needed.
By following these steps and recommendations, users can better diagnose and potentially resolve issues related to camera operation on the Nvidia Jetson Orin Nano Dev board while using JetPack 5.1.2.