Arducam IMX-219, not giving 4k video

In …/kernel/nvidia/driver/media/i2c/imx219_mode_tbls.h

I am sorry but I am unable to find this file.

Even locate doesn’t give an output.

nano@nano:/$ locate */imx219_mode_tbls.h
nano@nano:/$

Check below document to download the kernel source.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/kernel_custom.html#

Can you please explain me what to do in the link?
I dont really understand it.

Follow below document to get the kernel source and modify the file in early comment then build the kernel Image to try it.

So basically you are saying that I need to reflash my entire system?

Hi user82702,
I had similar issue with an IMX219 and i also had to rebuild the kernel.
Even if our goal are different, you can find some steps to rebuild the kernel in my topic.
I hope this can help you.

You just need to replace the /boot/Image build from the source.

I am getting this error, I believe the server is down?

./source_sync.sh
Downloading default kernel/kernel-4.9 source…
Cloning into ‘/home/saad/Desktop/SourceSink/Linux_for_Tegra/sources/kernel/kernel-4.9’…
fatal: unable to connect to nv-tegra.nvidia.com:
nv-tegra.nvidia.com[0: 34.216.216.36]: errno=Connection timed out
nv-tegra.nvidia.com[1: 35.82.181.43]: errno=Connection timed out

/home/saad/Desktop/SourceSink/Linux_for_Tegra/sources/kernel/kernel-4.9 source sync failed!

Downloading default kernel/nvgpu source…
Cloning into ‘/home/saad/Desktop/SourceSink/Linux_for_Tegra/sources/kernel/nvgpu’…
^C

You also can download from DLC in the L4T Sources

I am executing this on my ubuntu machine not the nano, as I assumed.

make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig
This is giving the following error

GEN /home/saad/Desktop/SourceSink/Linux_for_Tegra/sources/public/kernel_output/Makefile
drivers/base/Kconfig:234:warning: multi-line strings not supported


*** Can’t find default configuration “arch/arm64/configs/tegra_defconfig”!


/home/saad/Desktop/SourceSink/Linux_for_Tegra/sources/public/scripts/kconfig/Makefile:106: recipe for target ‘tegra_defconfig’ failed
make[2]: *** [tegra_defconfig] Error 1
/home/saad/Desktop/SourceSink/Linux_for_Tegra/sources/public/Makefile:505: recipe for target ‘tegra_defconfig’ failed
make[1]: *** [tegra_defconfig] Error 2
Makefile:130: recipe for target

My Exports are as the following:
export CROSS_COMPILE=$HOME/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

export LOCALVERSION=-generic (Tried -tegra too same error)

saad@GL65-9SEK:~/Desktop/SourceSink/Linux_for_Tegra/sources/public$ uname -r
5.4.0-77-gen

Did you make this command make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig at …/kernel/kernel-4.9/ ?

Yes

Here is my step without problem.

  1. axel -n 16 https://developer.nvidia.com/embedded/L4T/r32_Release_v4.4/r32_Release_v4.4-GMC3/Sources/T210/public_sources.tbz2
  2. tar -xjf public_sources.tbz2
  3. cd Linux_for_Tegra/source/public/
  4. tar -xjf public_sources.tbz2
  5. cd kernel/kernel-4.9/
  6. mkdir …/out
  7. export CROSS_COMPILE=$HOME/data/JEP/l4t-gcc_7.3.1/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
  8. export LOCALVERSION=-tegra
    9.make ARCH=arm64 O=…/out tegra_defconfig
  9. make ARCH=arm64 O=…/out -j8

Okay, so this has managed to worked after a few tweaks.

  1. axel -n 16 https://developer.nvidia.com/embedded/L4T/r32_Release_v4.4/r32_Release_v4.4-GMC3/Sources/T210/public_sources.tbz2
    
  2. tar -xjf public_sources.tbz2
    
  3. cd Linux_for_Tegra/source/public/
    
  4. tar -xjf public_sources.tbz2 -> tar -xjf kernel_src.tbz2
    
  5. cd kernel/kernel-4.9/
    
  6. mkdir …/out
    
  7. export CROSS_COMPILE=$HOME/data/JEP/l4t-gcc_7.3.1/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-  -> export CROSS_COMPILE=$HOME/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
    
  8. export LOCALVERSION=-tegra
    
  9. make ARCH=arm64 O=…/out tegra_defconfig
    
  10. make ARCH=arm64 O=…/out -j8
    

I have done these steps:
5. Replace <release_packagep>/Linux_for_Tegra/kernel/Image with a copy of:

$TEGRA_KERNEL_OUT/arch/arm64/boot/Image

  1. Replace the contents of Linux_for_Tegra/kernel/dtb/ with the contents of:

$TEGRA_KERNEL_OUT/arch/arm64/boot/dts/

This too.

So I am assuming that the kernel is built successfully.
Now what do I do?

Also where do I make this change? Or will it come later?
In …/kernel/nvidia/driver/media/i2c/imx219_mode_tbls.h

Hello update:-

After doing all this I reflashed my Jetson Module mounted on a realtimesai 6001b carrier board.
But unfortunately now I can’t even access any frame.
Did I make a mistake?

You just need replace the /boot/Image in Nano to apply your kernel.