Kernel Camera Driver

Some Arducam camera modules need kernel camera driver to work. It’s recommend to know the following before you use it.

What Is A Kernel Camera Driver?

A kernel camera driver is a kernel-space device driver for camera modules.

A modern computer operating system usually segregates virtual memory into kernel space and user space for memory protection.

Kernel space is strictly reserved for most device drivers, while user space (or userland) is where application software and some drivers execute.

Therefore, most camera drivers are kernel drivers. Only a fraction of them executes in user space (like the Arducam userland driver for MIPI Camera Modules on RPi), and those will have less privilege to system hardware.

Which Arducam Camera Modules use Kernel Camera Drivers

For the Raspberry Pi:

  • Arducam 13MP OBISP MIPI Camera(AR1335)
  • Arducam 2MP HDR OBISP MIPI Camera (AR0230)
  • Arducam Camarray OV9281 1MP*2 Stereo Camera Board
  • Arducam Camarray OV9281 1MP*2 Stereo Camera Bundle (with Camarray HAT)
  • Arducam Camarray OV9281 1MP*4 Quadrascopic Camera Bundle (with Camarray HAT)
  • Arducam Camarray OV2311 2MP*2 Stereo Camera Board

For the Jetson Nano and Jetson Xavier NX:

  • All Arducam 12MP IMX477-based Camera Module for Jetson
  • All Arducam Jetvariety Camera Modules and bundles
  • Arducam 13MP OBISP MIPI Camera(AR1335)
  • Arducam 2MP HDR OBISP MIPI Camera (AR0230)

Pros and Cons of Arducam Kernel Camera Driver

Background: Embedded system vendors usually ship kernels with drivers of their own interest included, like those for their officially supported cameras.

Pros: With Arducam kernel camera drivers, you could use camera modules you prefer other than those official ones. For example, IMX477, IMX135, and IMX298 camera modules on the NVIDIA Jetson Platform.

Cons: Since 3-party drivers will not be included in the kernel, they need to be re-compiled and re-installed every time a new kernel is applied. In short, one kernel version, one camera driver.

How to Install Arducam Kernel Camera Driver

We have been using kernel camera drivers on the Raspberry Pi and Jetson Platform.

On the Raspberry Pi Platform

You can find the drivers at:

https://github.com/ArduCAM/Arducam_OBISP_MIPI_Camera_Module

and installation steps at:

On the Jetson Platform (Nano and NX)

You can find the drivers at:

https://github.com/ArduCAM/MIPI_Camera/releases/

and installation steps at:

https://github.com/ArduCAM/MIPI_Camera/releases/tag/v0.0.2

Issues and Their Solutions When Using Arducam Kernel Camera Driver

When you encounter issues with Arducam kernel camera driver, there are usually 2 reasons:

  1. Your kernel is too old to be supported any more
  2. Your kernel is too new to be supported yet

Using a older kernel version solution

  1. Upgrade your kernel/OS/JetPack. Consider an update first.
  2. If your project relies on a specific old kernel versions to work, contact Arducam to customize a driver for you, and extra fees may occur.

Using a newer kernel version solution

  1. Be cautious with upgrading your system. It’s recommended to check the driver release status before any kernel/OS/JetPack update.
  2. If you really need the new driver release in a hurry, please contact us and we’ll tell the engineers to speed up the process. 

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *