I have a hardware setup with ov10635 -> serializer -> deserializer -> AGX Xavier with L4T 32.7.2 kernel. I have been working on validating the image path illustrated above. However, I encounter that running subsequent camera captures lead to RTCPU crash. I have attached the error log in this post. Can you help us with understanding how to go on debugging this issue?
Please find the error log attached: crash_dump.log (34.1 KB)
may I know what’s the test procedure, for example, are you doing stream-on/off continuously? is there a test script for reference.
furthermore, what’s the failure rate, can you reproduce the issue easily?
I’m using yavta -c /dev/video0 to start a stream, interrupting it using Ctrl-C and then starting again using yavta -c /dev/video0 and repeat until the failure occurs. I have encountered that failure occurs in 2-20 tries, not sure what it depends on. However, failure does occur.
It can be reproduced very easily and the failure rate is quite high if you keep on pushing.
I have tried using while true; do timeout 0.5 yavta -c /dev/video0; done - which does run for a while. However, if you STOP that and rerun it - you encounter the issue again.
Crash happens right after we call tegra_capture_ivc_control_submit function. IVC could be Interrupt Vector Controller (?).
Description about tegra_capture_ivc_control_submit function states - Submit the control message binary blob to capture-IVC driver, which is to be transfered over control IVC channel to RTCPU.
Looks like the function vi_capture_setup fails with “no reply from camera processor”, but the crash occurs before that.
Can you help with understand what would be leading to the crash?
You can replace the piepline with v4l2src ! fakesink. It sends EoS(End of Stream) before terminating the pipeline. Please try this method and see if it can exit gracefully and have better stability.
Hi,
It seems to be an issue in the sensor driver. Could you clarify if it fails in initializing(power on) the camera or termination(power off)? Proboably the camera is not successfully powered or or off in certain condition.
I was able to fix it by returning -EPROBE_DEFER instead of returning 0. What that does is delays the tegra-camera-rtcpu until vi5 driver is ready… now everything works nicely.