Jetson Nano L4T kernel

I’m having trouble using an eGalaxTouch screen interface with the Jetson Nano over USB. Once connected the touch responds however it acts like normal mouse input(i.e. it will click, but double tap and right click do not work). I found the manufacturers driver for ARM and once installed and restarted, the touch screen completely stops working. There is a message that pops up when installing the driver about a kernel module missing and to recompile the kernel.

Knowing the L4T OS is based on the Ubuntu 18.04 kernel, how different is the tegra/L4T kernel? Is there any documentation that talks about this?

Do you have the URL for the driver? There is 32-bit ARM (armhf/ARMv7-a) and 64-bit ARM (arm64/aarch64/ARMv8-a). Then there are kernel configuration requirements before a loadable module can load. There is external code in the Jetson kernels (unless you go to the L4T R36.x, which is developer preview for other hardware; Nano cannot use this) as well, so if you use a kernel not designed for the Nano, then the system will fail to boot (failed addition of a loadable module won’t usually be an issue, but it can be depending on circumstances).

More specific to loadable modules, the Ubuntu desktop PC tends to ship with a particular configuration. That means that modules compiled against that configuration will normally “just work”. Once you change a feature that is integrated into the kernel itself (a non-modular format change) you can expect all modules which previously worked for that kernel to fail. Or a new module not compiled against that configuration will usually fail as well (you might get lucky though).

If that driver is available as source, then you could compile it against the L4T kernel that currently runs (both source and configuration matching would be the required starting point). The official docs don’t really talk about third party drivers, but they do talk about cross compile using the official source (you should ignore the install part if you are just installing a kernel module; the official docs are about updating the flash software and then flashing, but a module is normally as simple as a file copy). You’d need the docs from your L4T release (see “head -n 1 /etc/nv_tegra_release”), and then you could go here to find those docs:
https://developer.nvidia.com/linux-tegra

The section of docs on cross compile are the “kernel customization” section. The URL for your L4T release (which incidentally is just what you call Ubuntu after it gets the NVIDIA drivers) has a source code download, but it is for more than the kernel; there is a kernel package within the sources package. If you don’t have a source code version of the driver then there are issues you might not be able to solve. If the driver is for 32-bit ARM, then it definitely won’t work.

https://www.eeti.com/drivers_Linux.html

Just today I notice a new driver version showed up on the same website. This new driver worked without any issues.

( eGTouch_v2.5.11703.L-ma

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.