Kernel panic when closing a stuck camera

I run few hours but can’t reproduce the problem by imx274 reference sensor by stop the sensor streaming by debugfs to enter recover.

Hi @ShaneCCC

I have a way to reproduce this problem without connecting any cameras.
The simple driver below will register the video nodes. Since the cameras are not physically connected, they will go to recovery mode after start streaming.
debug_kernel_panic.zip (8.2 KB)

Could you attached the binary?
Please attached the *.dtb and gmsl2_sensor.ko

Thanks

Hi @ShaneCCC

My test used customized PCB for AGX Orin. I’m not sure if the DTB can be succesfully loaded on your system.

Please find the attachment for the dtb and ko file.
Otherwise, you can use blow commands to build driver and device tree overlay on your own.

cd debug_kernel_panic/src
make modules
make dtbo

debug_kernel_panic_20240226.zip (73.4 KB)

After insmod the driver, the /dev/video0 - /dev/video7 should be found.
And then use video_kill_open.sh to test.

@ting.chang
Got below error while building the dtbo

*** Copy device tree overlay to /boot/ ***
sudo cp device-tree-overlay.dtbo /boot/
*** Merging device tree overlay to system device tree ***
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1='New GMSL2 Camera Device Tree Overlay'
Traceback (most recent call last):
  File "/opt/nvidia/jetson-io/config-by-hardware.py", line 125, in <module>
    main()
  File "/opt/nvidia/jetson-io/config-by-hardware.py", line 117, in main
    dtbo = configure_jetson(jetson, header, hw)
  File "/opt/nvidia/jetson-io/config-by-hardware.py", line 54, in configure_jetson
    raise NameError("No configuration found for %s on %s!" \
NameError: No configuration found for New GMSL2 Camera Device Tree Overlay on Jetson 40pin Header!
make: *** [Makefile:16: dtbo] Error 1

Hi @ShaneCCC

  1. Check if device-tree-overlay.dtbo has been succsfully built and put in /boot/

  2. List the hardware modules to find where the DTBO is located:

    sudo /opt/nvidia/jetson-io/config-by-hardware.py --list
    

    If the DTBO is located at “Header 1”:

    sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1='New GMSL2 Camera Device Tree Overlay'
    

    If the DTBO is located at “Header 2”, then:

    sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2='New GMSL2 Camera Device Tree Overlay'
    

After running the above scripts, please make sure the new merged DTB file has been successfully generated in /boot/ folder.

Hi @ShaneCCC

Are you able to reproduce the problem?

Hi,

Just want to know if there are any news, thank you.

Does anyone have any updates on this? cc: @ShaneCCC
Do the latest releases of L4T such as R35.5.0 and R36.3 fix the problem?

Thank you.

I can’t tell if R35.5 or R36.3 have fix the problem or not due to we don’t have any this kind of test case for it.
Could you verify on r35.5.

Thanks