Hello everyone,
We built a custom carrier board that connected four ov_5640 cameras via GMSL.
We found that the system crashed under L4T R35.5 when executing test_camera.sh for the second time.
test_camera.sh is a script that uses gstreamer to open the four cameras by using gstreamer.
The system operates normally under L4T R35.4.1. Attached is the kernel log and the test_camera.sh.
How to solve the problem! ?
Any advice would be greatly appreciated!
Hi ShaneCCC,
We didn’t see that error messages after applying the patch and firmware. But the system still crashed. Please see the attached kernel log. putty.log (120.6 KB)
I found that system didn’t crash if I use the vi5_fops.c from R35.4.1. But the camera image would be broken and the some of the camera window would be closed automatically when using Async or r35-5 camera FW.
Hi ShaneCCC,
I did some further tests. Please see the following result.
R35.4.1 rootfs + R35.4.1 Camera FW + R35.5.0 kernel + R35.4.1 vi5_fops.c
OK. test 20 times. 1.log (327.6 KB)
R35.4.1 rootfs + R35.4.1 Camera FW + R35.5.0 kernel + R35.5.0 vi5_fops.c
OK. test 20 times. 2.log (327.0 KB)
R35.4.1 rootfs + R35.5.0 Camera FW + R35.5.0 kernel + R35.4.1 vi5_fops.c
NG. No crash but sometimes no video from One of the four camera. 3.log (208.2 KB)
R35.4.1 rootfs + R35.5.0 Camera FW + R35.5.0 kernel + R35.5.0 vi5_fops.c
NG. System Crashed. The image is distorted or green. 4.log (455.5 KB)
R35.5.0 rootfs + R35.5.0 Camera FW + R35.5.0 kernel + R35.5.0 vi5_fops.c
NG. Kernel crashed when close camera window. 5.log (143.2 KB)
R35.5.0 rootfs + R35.5.0 Camera FW + R35.5.0 kernel + R35.4.1 vi5_fops.c
NG. No crashed but will show VI channel not found for stream… 6.log (335.9 KB)
R35.5.0 rootfs + R35.4.0 Camera FW + R35.5.0 kernel + R35.4.1 vi5_fops.c
OK. test 20 times. But cannot only open one gmsl camera must open all the four cameras. 7.log (481.7 KB)
R35.5.0 rootfs + R35.4.0 Camera FW + R35.5.0 kernel + R35.5.0 vi5_fops.c
NG. System crashed when I close camera windows. 8.log (160.3 KB)
Conclusions:
I can open only one gmsl camera when system is flashed with R35.4.1 rootfs. It will triger the vi channel reset operation when system is flashed with R35.5.0 rootfs.
Sometimes vi cannot get the images from gmsl camera if system is flashed with r35.5 camera FW.
When vi cannot get the images from gmsl camera, it will reset the vi channel. Kernel sometimes will crash after vi do the reset operation several times when kernel is compiled with R35.5.0 vi5_fops.c.
On the R35.5.0 rootfs. When I closed the camera windows sequentially, because the system only allowed all four cameras to be opened, the vi channel reset action was triggered. If the kernel is compiled with R35.5.0 vi5_fops.c, then the kernel sometimes will crash.
So I think this problem may be caused by the following reasons.
VI cannot get the images from gmsl camera (R35.5.0 Camera FW) → VI do the reset operation → kernel crash. (R35.5.0 vi5_fops.c)
Is there any difference between the camera fw of R35.4.1 and R35.5, which causes VI sometimes cannot get the camera images?
Hi ShaneCCC,
Could you please give me a R35.5 RCE firmware with debug flag enabled!?
So that I could see if any usage debug message output from RCE firmware.