Hi,
I made a custom camera driver in JetPack 5.1.5 L4T-35.6.1. I am trying to clone this Xavier Dev kit into another Devkit; everything, including the password browser data, is getting cloned, even the driver .ko file is getting cloned, but video0 is not getting enumerated.
I used the following command to take clone from AGX Devkit
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).
may I know the error logs, please check.. $ dmesg > klogs.txt and attach the single text file for reference.
Hi @JerryChang ,
I have a custom sensor that is powered externally.
I also bypassed the basic power_on functions by only having printk in it.
The dmesg not even has any entry that has printk in the driver even though I manually added it using insmod as well as modprobe.
Note: Not even the printk in the probe function is available in dmesg.
I am attaching the dmesg logs of original devices as well as the clone.
1.Kernel dmesg log from the agx devkit which has customer camera driver jetson_xavier_agx_original_demesg.txt (73.1 KB)
2. Kernel dmesg log from the agx devkit which has been cloned from [1] jetson_xavier_agx_clone_dmesg.txt (74.9 KB)
Hi @JerryChang ,
Yes, that’s what I am wondering, how I am not able to get even the probing print statements in dmesg.
This is a clone of the original(The original has a proper working driver). The clone has the same system password as the original; the clone even has Gmail signed in as in the original. I wonder how the driver alone is not getting initialised in the clone, even though both have the same files.
Please help me resolve this issue. Let me know if you need any files/info from my end.
may I know how you develop your sensor driver?
for instance, is your sensor driver built-in with the kernel image, or, you’re using loadable kernel module?
Hi @JerryChang ,
It’s an LKM, I even tried insmod as well as modprobe after booting; The module gets loaded successfully, which I can verify through lsmod, but the video0 node is not getting enumerated, and no print statements are found in the dmesg logs.
Hi @JerryChang ,
I have LKM in Jetpack 4.6 (l4t-32.6.1). When I clone it, it’s working properly, and I have done this multiple times, and it’s working without any issues. I wonder how this cloning causes issues in drivers. Is this an expected behaviour ?? Seems weird to me.
Hi @JerryChang ,
They are different LKM, Please don’t get confused with the previous statement. In the Previous statement I was conveying that the cloning process with the custom driver was working in a different jetpack(4.6) but not working in jetpack (5.1.5)
could you please give it a try..
please refer to developer guide, Building the Kernel.
please check whether you’re able to enable camera driver by updating kernel image and also kernel module on the restored device.
did you enable Jetson security? (i.e. Secure Boot)
if no.. you may copy (i.e. ssh) the kernel image (/boot/Image), and kernel module (*.ko) to your target for verification.
Hi @JerryChang ,
I changed the Kernel Image as well as the .ko file but the issue is still there.
Can you suggest what might be the reason for the issue, is it an expected behavior?