linux_nvidia_jetson icon indicating copy to clipboard operation
linux_nvidia_jetson copied to clipboard

Separate kernel module

Open windelbouwman opened this issue 3 years ago • 7 comments

Hi,

I had a look at this driver, and for us it is not really usable. We have a different L4T version for the Xavier. While in theory we could switch to this kernel, this is not desirable, and might lead to future problems, since another sensor might require using their kernel, leading to a situation where only one sensor can be used at a time.

A solution to the above problem would be to restructure this camera driver into an external kernel module. This would mean that the sensor driver can be compiled as a kernel module for different kernels. One would require the kernel sourcecode for the specific board, and then download the allied vision kernel module sourcecode and build the kernel module specific for their kernel. This would solve the issue of keeping up with the xavier linux kernel each time a L4T release is made. It would also solve the issue of having to support 4 different git repositories with modifed kernels for each board.

Is this something you could provide?

Regards, Windel

windelbouwman avatar Oct 15 '20 11:10 windelbouwman

Hello,

We are actually using a production XAVIER AGX (https://www.siliconhighwaydirect.com/product-p/900-82888-0040-000.htm) with a motherboard Connect Tech - Rogue Carrier (AGX101) (https://www.siliconhighwaydirect.com/product-p/agx101.htm) and we are facin the problem that the provided AVT Kernel is not compatible with this configuration.

It seems that the AVT drivers can only set up with XAVIER dev kit that is recommended by NVIDIA to not be used in production environment (https://developer.nvidia.com/embedded/faq)

So at this time, it is impossible to use AVT Alvium drivers in production environment.

The best solution should be to provide AVT ALVIUM kernel module instead of a complete kernel.

jseinturier avatar Apr 12 '21 08:04 jseinturier

Hello,

Connect Tech has a special adapter board for our cameras: https://connecttech.com/product/allied-vision-mipi-camera-board/ and for this adapter board, Connect Tech offers a drivers for our cameras, you can find it in the link above under "Downloads"

Regards,

Bernardo Luck Villanueva // Applications Engineer

Allied Vision Technologies GmbH Klaus-Groth-Str. 1, 22926 Ahrensburg, Germany T // +49 (4102) 6688-270 F // +49 (4102) 6688-269 Managing Directors: Alexander van der Lof, Hanno Schulz | Registration Office: AG Jena HRB 208962 | Headquarters: Taschenweg 2a, 07646 Stadtroda, Germany

BernardoLuck avatar Apr 12 '21 08:04 BernardoLuck

Is there any chance of an update for this issue?

Here are some ideas of how this driver should ideally be packaged:

  • Use DKMS
  • Use device tree overlays
  • Package the DKMS driver as a deb package

Using DKMS would enable to distribute the driver as a deb package, which would make sense, since many jetson boards are shipped with ubuntu as default.

The desired workflow for this driver would be (for me):

  • Add alvium key to apt trusted keys
  • Add alvium apt source url to sources.list
  • sudo apt install avt-camera-dkms

This type of packaging ensures that the driver is seperate from the kernel, and that a nvidia kernel update does not disrupt the proper operation of the camera.

windelbouwman avatar May 17 '21 07:05 windelbouwman

Hello WIndel,

thank you for you idea. In general you are correct, this would be a nice method to install the driver(using "apt install"). However, there is an issue here, let me explain: We can add the CCI(camera control interface) as you mentioned, however the video data is a problem. The video data has to pass through the Nvidia VI, which we cannot modify. Nvidia would need to add our driver solution into their L4T.

Now, with the next version of our driver, you will be able to load our drivers on a modular way with our script, but using "apt install" is not be possible, maybe in the future.

Regards,

Bernardo Luck Villanueva // Applications Engineer

Allied Vision Technologies GmbH Klaus-Groth-Str. 1, 22926 Ahrensburg, Germany T // +49 (4102) 6688-270 F // +49 (4102) 6688-269 Managing Directors: Alexander van der Lof, Hanno Schulz | Registration Office: AG Jena HRB 208962 | Headquarters: Taschenweg 2a, 07646 Stadtroda, Germany

BernardoLuck avatar May 17 '21 08:05 BernardoLuck

Hi Bernardo,

Okay, this sounds promising! When will the next version of the driver be released?

Regards, Windel

windelbouwman avatar May 17 '21 16:05 windelbouwman

Another idea might be to create .deb archives as a deployment method. At this point, the deploy tarball contains a scripts which updates the kernel and device tree partitions of the jetson. Another cool idea might be to create a deb file which can be installed with apt or dpkg, which should conflict with nvidia-l4t-kernel. This would ensure that apt update does not overwrite the deployed alvium custom kernel. This is a bit off-topic, but might be a nice idea to make a smoother experience possible.

windelbouwman avatar May 18 '21 06:05 windelbouwman

@BernardoLuck Any updates on that issue?

simgt avatar Aug 26 '22 17:08 simgt