I’m noticing an intermittent error with video capture that only seems to go away when I reinitialize my camera devices. About 80% of the time when I capture, it is successful. When it is successful, subsequent captures do not have any issues and I’m able to confirm my video input is what I expect it to be. However, when it fails, it’s a hard fail and I need to reinitialize my device in order to make another capture attempt. In the times that it fails, the errors in the kernel debug log include problems relating to CSIMUX_STREAM:
kworker/1:5-5652  .... 452.721844: rtcpu_vinotify_error: tstamp:14282534727 tag:CHANSEL_NOMATCH channel:0x50 frame:0 vi_tstamp:14282533779 data:0x00000489 kworker/1:5-5652  .... 452.721849: rtcpu_vinotify_error: tstamp:14282535120 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:14282534038 data:0x00010000 kworker/1:5-5652  .... 452.823843: rtcpu_vinotify_error: tstamp:14285784325 tag:CHANSEL_NOMATCH channel:0x50 frame:0 vi_tstamp:14285783620 data:0x00000489
The error I see reported to the console and dmesg when this happens is:
[ 410.828750] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 0, err_data 64 [ 413.386679] tegra194-vi5 15c10000.vi: no reply from camera processor [ 413.386853] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms [ 413.387030] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel [ 413.391772] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
I do not normally see the CSIMUX_STREAM error appear otherwise, so I’m inclined to think it is related to the problem I’m encountering.
Any ideas what might be wrong? What does the “data:0x00010000” parameter represent?
Here’s my setup info:
- 2x AR0233-based cameras, each equipped with a Maxim 9295A GMSL2 serializer
- 1x Maxim 9296A GMSL2 Deserializer
- AR0233 sensors output RGB888 @ 1920x1080
- vi/isp/nvcsi rates are set to their max_rate. (See when get raw16 data through vc-id, corr_err: discarding frame 0, flags: 32, err_data 160)
- Tracing is enabled. (Reference same link as above)
- I’m using the following command to capture data frames: v4l2-ctl -d /dev/video2 --set-fmt-video=width=1920,height=1080,pixelformat=RGB3 --stream-mmap --stream-count=1 --stream-to=ar0233-0.raw