I’m trying to get an Arducam IMX477 camera working with a Camarray Hat on my Jetson Orin NX 8GB. Running JetPack 5.1.2 (L4T 35.4.1), kernel 5.10.120-tegra. The camera is connected to CAM0 via MIPI CSI.
I installed the arducam-nvidia-l4t-kernel driver package, but when the module loads I’m seeing this in dmesg:
[ 13.620770] nv_imx477: no symbol version for module_layout
All GStreamer pipelines using nvarguscamerasrc fail — the camera isn’t usable with the NVIDIA Argus stack at all.
Is there a compatible IMX477 kernel driver for JetPack 5.1.2 / kernel 5.10.120-tegra? Or could someone point me to instructions or a patch to compile the driver from source for this environment?
Can you share the exact command you used to install the Arducam IMX477 driver? Also, can you confirm which carrier board you’re using — is it the official NVIDIA Jetson carrier board or a third-party one? If possible, photos of the front and back of your setup would help.
Just a heads-up: Arducam drivers are designed and tested for the official NVIDIA carrier boards. They may work on some third-party boards but compatibility isn’t guaranteed.
Thanks for the photos and details. The installation command looks correct, so that’s not the issue.
The error you’re hitting — nv_imx477: no symbol version for module_layout — means the driver module was compiled against a different kernel version or symbol table than what your system is actually running. This is a kernel module version mismatch.
The Arducam custom IMX477 driver is specifically built for and tested on the official NVIDIA Jetson carrier boards, but it looks like the precompiled module in the package isn’t matching your kernel’s symbol versions.
Here’s what I’d suggest: use the native Jetson IMX477 driver instead. This driver is built into JetPack/L4T and often has broader compatibility since it ships with the BSP. You can enable it through the Jetson I/O configuration tool:
This should enable the built-in IMX477 driver and bypass the module_layout mismatch entirely. Give that a try and let me know if the camera comes up with Argus after that.
Thanks, I’ll give the jetson-io approach a try for the IMX477 driver issue.
On a related note — I’m actually exploring alternative lenses for this same setup and wanted to ask about options. I’m using the Arducam IMX477 camera module (B0249, 12MP) with the Camarray Hat on the Jetson Orin NX.
The use case is an underwater stereo vision system — it’ll be deployed in a submersible for real-time biomass estimation of Atlantic salmon in aquaculture environments. I need a stereo configuration with two lenses to estimate fish size and depth.
I’m looking for:
Compatible alternative lenses to the B0249 stock lens
Any lens options optimized for underwater use or with reduced geometric distortion
Recommendations for low-light performance under submerged conditions
Whether Arducam supports custom sensor + lens pairing, or can provide guidance on mechanical compatibility
This is early-stage development work. Any pointers would be appreciated.
That’s an interesting application — underwater stereo for biomass estimation is a pretty specialized use case.
A few quick thoughts:
For underwater use, you’ll want to consider the refractive index differences and how that affects your lens choice. Dome ports vs flat ports impact distortion characteristics differently. Wide-angle lenses with low barrel distortion are typically preferred for stereo matching.
The IMX477 uses a CS-mount by default on the B0249, so you have a decent range of compatible lenses to choose from. For low-light submerged conditions, you’ll want something with a fast aperture — f/1.4 or better ideally.
Regarding custom sensor+lens pairing — this is something our engineering team would need to evaluate based on your specific requirements, including desired FOV, working distance, depth rating, and enclosure design.
I’ve sent you a private message with details on how to submit your project requirements for a detailed engineering evaluation. Since this involves custom pairing recommendations and mechanical compatibility guidance, it’s best handled through that process rather than piecemeal on the forum. Check your messages when you get a chance.
In the meantime, definitely try the jetson-io approach for the driver — that should at least get your camera operational so you can start testing different lenses.