*** Please note that this reply is generated by LLM automatically ***
Based on the provided context, it appears that you are experiencing an issue with the Jetson AGX Orin development kit, where there is no video output under the /dev directory. You have provided various logs and information about the deserializer, serializer, and sensor driver loading without errors. Here’s a comprehensive analysis and some debug suggestions:
Deserializer and Serializer Loading: The logs indicate that the deserializer (max96712) and serializer (max9295) drivers are loaded successfully. The deserializer is powered on by hardware, and the serializer is probing the GMSL serializer.
Sensor Driver Loading: The sensor driver (imx390) is also loaded successfully, and it detects the IMX390 sensor on I2C bus 8.
Kernel Bootup Log: The kernel bootup log shows that the deserializer, serializer, and sensor drivers are loaded without errors. However, there is no indication of any video output or display initialization.
Device Tree: The kernel device tree is not explicitly mentioned in the logs, but it’s essential to ensure that the device tree is correctly configured for the IMX390 sensor and the deserializer/serializer.
Debug Suggestions:
Verify Device Tree Configuration: Check the kernel device tree configuration to ensure that it correctly defines the IMX390 sensor, deserializer, and serializer. You can use the dtc command to compile and decompile the device tree.
Check Video Output Configuration: Verify that the video output is correctly configured in the kernel. You can check the kernel configuration using menuconfig or xconfig.
Inspect Sysfs: Inspect the sysfs directory (/sys/class/video4linux) to see if the video device is present and correctly configured.
Use v4l2-ctl: Use the v4l2-ctl command to query the video device and check if it’s correctly configured. You can also use v4l2-ctl to test the video capture.
Check Power Management: Ensure that the power management is correctly configured for the deserializer, serializer, and sensor. You can check the power management configuration using cat /sys/kernel/debug/pm_debug.
Consult NVIDIA Documentation: Consult the NVIDIA documentation for the Jetson AGX Orin development kit and the IMX390 sensor to ensure that you are following the correct setup and configuration procedures.
By following these debug suggestions, you should be able to identify and resolve the issue with the video output on your Jetson AGX Orin development kit.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
during kernel initialization stage, it’s step for camera device registration to setup a video device node to linux kernel. sensor probing only run once during kernel initialization stage of system boot-up.
for a typical camera application running cycle, the driver will Power On the sensor, Start Sensor Streaming, sending relevant v4l2 controls, and finally power off the sensor. so… if there’s a error returns, it’ll not register a video node, (/dev/video0).
but.. there should be /dev/video0 created after this message.
I assume you’ve enable Jetson Virtual Channel with GMSL Camera Framework. you must set the vc-id property in the gmsl-link node for each sensor to match the vc_id property in the sensor mode device node.
please see-also reference camera driver,
for instance, $public_sources/kernel_src/r36.4.2/hardware/nvidia/t23x/nv-public/overlay/tegra234-camera-ar0234-a00.dtsi
it’s incorrect, the output should looks like this.. To verify the port binding result.
please see-also reference camera driver for the DT settings. $public_sources/kernel_src/r36.4.2/hardware/nvidia/t23x/nv-public/overlay/tegra234-camera-ar0234-a00.dtsi
But I already config the VI and CSI and sensor, all the node is status ok, and config all the vc-id and vc_id, all the node info is in the attatch dts file which from proc/device-tree
it’s subdev to holds a handle for the V4L2 subdevice, which used to run subdev operations (ops).
please check your sensor driver, it should call tegracam_v4l2subdev_register() to register a video node to linux system.
it seems there’re conflicts with base IMX390 and yours,
for instance, the reference driver it uses i2c@3180000 but you’re using i2c@31e0000.
you should try to exclude that default driver to enable yours.
furthermore, you should refer to below to configure device tree overlay. $public_sources/kernel_src/hardware/nvidia/t23x/nv-public/overlay/tegra234-p3737-camera-imx390-overlay.dts
there is no imx390 under i2c@3180000, so How can it conflicts?
I used to modify the file $public_sources/kernel_src/hardware/nvidia/t23x/nv-public/overlay/tegra234-p3737-camera-imx390-overlay.dts, but I found it will no take overlay to the /proc/device-tree, so I turn to modify the filetegra234-camera-imx390-a00.dtsi.txt
So. I was wondering why I modify the tegra234-p3737-camera-imx390-overlay.dts, but it can not have influence to the /proc/device-tree