Did the JP5.0 come with a drop of Omnivision OV5693 CSI devkit sensor driver support?

the Omnivision OV5693 CSI sensor doesn’t seem listed on JP5.0DP
which was not the case previously with versions up to 4.6.1
Has the driver support been dropped?

/usr/lib/modules/5.10.65-tegra/kernel/drivers/media/i2c$ sudo insmod nv_ov5693.ko

the line above does seem to load the module but doesn’t create /dev/video device

lsmod
Module                  Size  Used by
nv_ov5693              32768  0

Yes, current J5.0 don’t support E3326 but E3333.
Suppose you can modify the device tree manually to enable it.

I am using the Jetson AGX Xavier board and camer module ( 699-83326-100-100M + P5V27C )

But can’t see video0 device

tegra194-p2888-0001-p2822-0000.dts (461.7 KB)

DTS is as follows! Is there any error??

JP5.0 have problem for auto detect the e3326.
Could you please modify the device tree to enable it by using main platform device tree instead of using plugin manager.

https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/camera_sensor_prog.47.2.html#wwpID0E0XF0HA

@ShaneCCC why are not you able to release a simple patch that can be sourced from nvidia addressing that specific narrow issue?
The link[url] shared in the post above seems poorly documented
It appears that it suggests editing .dtsi file at Host PC,
for enabling the video driver to its prior state what edit is required exactly?
What is the proposed simple method[but for reflashing ] to update jetson setup from the file edited at Host PC?
-BR
AV

We may release device tree overlay(dtbo) for it in future release.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

any update? thx

Apply this patch to build the dtbo for it.

e705e39.diff.zip (1.8 KB)

Hi @ShaneCCC
Thank you for sharing the patch.
However could you extend if there is a simple way to build the dtp with the provided patch somehow without rebuilding the kernel from source somehow? Just quickly apply somehow on the running OS? like in way we used to do with fdtb like in the example below?

sudo fdtoverlay -i tegra194-p3668-all-p3509-0000.dtb -o tegra194-p3668-all-p3509-0000-user-custom.dtb tegra194-p3668-all-p3509-0000-hdr40.dtbo pps.dtbo

as we used in tsn gps pps implementation?

sudo dtc -I dts -O dtb -@ -o pps.dtbo pps.dts

Attached the dtbo here. Copy it to /boot/ to use jetson-io to enable it.

tegra194-p2822-camera-e3326-overlay.dtbo (4.2 KB)

1 Like

first it would throw error if to run jetson-io from nvme

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 94, in main
    jetson = board.Board()
  File "/opt/nvidia/jetson-io/Jetson/board.py", line 207, in __init__
    mountpoint = _board_partition_is_mounted('APP')
  File "/opt/nvidia/jetson-io/Jetson/board.py", line 136, in _board_partition_is_mounted
    raise RuntimeError("Multiple %s partitions mounted!" % partlabel)
RuntimeError: Multiple APP partitions mounted!

then after unmounting mmcblk it would run

However after application of the package then rebooting the video device won’t appear in /dev/video

sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2="Jetson Camera E3326 module"
Configuration saved to /boot/kernel_tegra194-p2888-0001-p2822-0000-user-custom.dtb.
Reboot system to reconfigure.

Please check the kernel message if probing the ov5693.

dmesg | grep -i ov5693

@ShaneCCC
Thank you for following up
The output is empty
[ I am using OS booted from nvme, I haven’t installed OS to eMMC yet to try with]

Maybe dump the device tree to confirm if the status of ov5693 was change to okay.

@ShaneCCC
Thank you for your reply
Could you supply the command to fire up to get the dump? Thanks

Dump by below command.

sudo dtc -I fs -O dts -o extracted_proc.dts /proc/device-tree

extracted_proc.dts (453.8 KB)

hello _av,

it may be the issue that the UEFI didn’t parse the extlinux.conf properly.
may I know how you flash the target, could you please share the complete command-line for reference.
for example,
are you running l4t_initrd_flash.sh by using --external-device options to flash external NVMe device? this command actually flash both internal eMMC and external NVMe devices; so, there’ll be two extlinux.conf files exist, which confused the boot sequence, that UEFI loads the extlinux.conf from the internal eMMC (i.e. /dev/mmcblk0p1) and then the kernel will load the rootfs from /dev/nvme0n1p1.


here’re two things you may try…

  1. please add --external-only in the flash command.
    for example, "$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml --external-only -S 220GiB --erase-all --network usb0 --showlogs jetson-agx-xavier-devkit nvme0n1p1

  2. please try change the boot order by interrupt UEFI.
    you may enter UEFI menu for the [Boot Manager], please select nvme device to boot directly, for checking Jetson-IO features.

@JerryChang I have just used sdkmanager which flashed to nvme