Controllers connect, are seen..arent recognized by anything

im about to rip my hair out. ive already tried the fix suggested by the other forum posts before people suggest that. WHY does Jetpack6 Remove joystick functionality on installation!? i watched it do it after the 3rd wipe and install. The SNAP dependencies are broken right out of the box, and then the installer removes the drivers!? now ive managed to get the drivers installed. ive got controllers to connect both bluetooth and wired. But no matter what i do the system will not let anything use them! im hitting walls. and for the life of me cannot understand how a company ships dev boards with their own distro with the intention of ROBOTICS…yet a simple controller is where the thing falls flat…sure getting x86 progams to run which should have been a challenge was manageable in an afternoon…but a controller that should be plug and play…4 days of hell and nothing to show for it. no matter what i do ithe system assigns the controlles to hid_generic with the input_handler disabled so it wont create the /dev/input/js0 file for programs to recognize. please anyone…any ideas??

Hi,
You would need to enable required kernel configs and rebuild kernel. Please refer to

Making sure you're not a bot!
Enable Joystick/F710 controller

For the browser issue, please refer to

Making sure you're not a bot!

Please refer to the steps to customize kernel in developer guide and the forum post:
Kernel Customization — NVIDIA Jetson Linux Developer Guide
No data from Joystick Logitech-f710 - #10 by DaneLLL

I don’t know much about snap, but do understand that it has its own environment (it isn’t all that different from a container), and needs to include the parts of the o/s it wishes to use. If you have a driver as a user space software within the main o/s, but snap wants to remove it, then it simply doesn’t copy it into the snap environment.

Also, many of the recent changes to snap were done by snap itself, and neither Ubuntu nor NVIDIA really controls that (and did not ask for that). It’s important to know if anything you work with runs with snap because it becomes a topic of how to modify snap instead of modifying the Jetson itself.

Regarding drivers and /dev/input/js0, this is a pseudo file, and not a real file. It lives only in RAM, and it is a kernel driver pretending to be a file. If the driver is loaded and finds hardware, then that file comes into existence. If you’ve built your own custom kernel, and this file goes away, then there are a number of steps one can use to figure out where it went wrong; otherwise you’d have to figure out why snap configuration isn’t working.

On the Jetson itself you can see the running kernel’s configuration as file “/proc/config.gz”. If a driver has the name “JOYSTICK” in it, then you can see what configuration is related to this via:
zcat /proc/config.gz | grep -i 'joystick'

What shows up? If and only if the joystick is in the form of a module, then you can see if it is listed as loaded via “lsmod”. If the feature is integrated, then it is always loaded and there is no need to see if a module is loaded. If you want to find drivers which are in the form of a module with a name that has “joy” in it, then go to where the modules are at:
cd /lib/modules/$(uname -r)/kernel/

Then use find:
find . -iname '*joy*'

In theory, any module there can be loaded, but it won’t load unless it is triggered to do so. For example, I have joystick configured on a Jetson, but there is no joystick plugged in, and so the module never loads (remember that the device special file only shows up when (A) the driver is present, and (B) a device exists which has loaded that driver).

The big deal about snap is that it is not part of the full Linux environment. snap is its own isolated environment, and it may be that it does not pass through joystick. I don’t know enough about snap, but it is really important to know if snap is any part of this since it is a third party container-like environment and not just a regular program.

Incidentally, some recent changes made to snap and the chromium browser caused a lot of issues listed in the forum. Someone decided to do something which was probably related to increased security, and it changed how chromium worked without anyone knowing it until someone tried running that browser under snap.