OpenHD: IMX519 camera never worked, need driver source for custom Jetson Nano kernel

Hi, posting here since I’m out of ideas. I have the IMX519 autofocus camera module (Jetson Nano / Xavier NX camera series) and honestly I never got it to work. Testing on a Jetson Nano 2GB, also tried a 4GB. I’ve been following the ArduCAM MIPI_Camera instructions (GitHub - ArduCAM/MIPI_Camera · GitHub) but the camera never comes up. Anyone got this running on a Jetson?

Hey, sorry to hear that. A few questions so we can narrow it down:

  1. Which JetPack / L4T version are you on?
  2. Are you running the stock Nvidia kernel or a custom one?
  3. When you plug the camera in, does anything show up under /dev/video* or in dmesg?

Also, did you use our prebuilt kernel packages or are you building your own?

That’s the whole problem. We run a custom kernel (this is for OpenHD), because our entire system depends on it. So I can’t just install your prebuilt kernels — they only work against the kernel they were built for.

What I actually need is a kernel module or the driver source so I can compile it into our kernel. Just releasing custom build kernels doesn’t count as a driver from our side. If there’s no usable driver, there’s no way for us to use the hardware at all.

Also a heads up: running the install-script completely messed up my setup. At the very minimum there needs to be a warning that installing it scraps your kernel. That cost me a couple of hours.

That’s fair feedback, and you’re right — the prebuilt kernel images are tied to a specific kernel version, so on a custom kernel the modules simply won’t load. The install-script assumes a stock setup, so it can overwrite things you didn’t expect. Noted on the missing warning.

We should be able to hand you the driver source plus a custom-kernel build guide. To do that properly I need to see how you’re building your kernel. Do you have the build scripts somewhere so I can check what you’ve already got in the tree?

Sure, here’s our kernel-builder: https://github.com/OpenHD/OpenHDKernelBuilder/blob/2.1-milestones/build.sh

I included the files between line 132 and 144. I started integrating a few days ago but I’m probably leaving out most of the contents of the nvidia folder — I’m not sure which of those pieces are actually needed for the camera. I also considered moving the driver into the kernel/kernel folder and integrating it into the regular Linux kernel instead, but I haven’t had the time to try that yet.

Good, that gives us something concrete to work with.

Two things for the integration: start from the MIPI_Camera repo for the base driver, then follow our custom-kernel guide here:

In short: you add the camera driver into your kernel tree and make a few tweaks during the build. The guide covers those steps.

On the nvidia folder — you don’t need all of it, mainly the bits the guide calls out. If it helps I can send you some additional files and info directly via private message; check your messages.

Ok, I went through the guide and pulled the driver into our tree, but I’m still not getting it to build cleanly into the kernel. The part I’m least sure about is exactly what to pull out of the nvidia folder vs. what the build.sh at lines 132-144 already gives us. Is the driver meant to live under kernel/kernel or does it need to be a separate out-of-tree module?

Both paths can work, but the cleanest one for your setup is integrating it into the kernel tree as an in-tree driver — that’s what the guide is written around, and it’s usually the least fragile with a custom builder like yours. The nvidia folder contents are mostly reference/config for the stock flow, so you shouldn’t need to pull across the whole thing.

Rather than keep going back and forth on a forum, it might be faster to get your team on a call with us. We hold a weekly OpenHD meeting every Friday at 18:15 GMT+2, on Discord — a Zoom meeting can be set up too if that’s easier. We can also do a special / next-week session if you want it sooner.

A call works, the Friday slot is fine with us. Send over the invite when you’re ready and we’ll be there.

Will do — I’ll send more info and the meeting invitation over as well.

Quick summary of where we’re at so this thread stays useful:

We’re committed to supporting the IMX519 (and its variants) for the OpenHD community. We’ve brought customized Pi cameras (V1/V2/HQ) to the Jetson platform before and we’re in talks with Nvidia about more Jetson camera support, so more/better-supported options are coming.

Let’s finish the details at the meeting — once the driver is building cleanly into your kernel, post the compile error here and we’ll take it from there.