To fix this issue, I downloaded the source files for the linux drivers.
Then followed the kernel customization guide to extract the correct folders.
Add the two config lines in the defconfig file
CONFIG_LOGITECH_FF=m CONFIG_INPUT_JOYDEV=m
"m" = module separate from main kernel, so that you do not need to reflash the jetson.
Run the build script. (Build onboard the jetson, did not crosscompile)
Move the joydev.ko to the proper location on the jetson.
Run sudo depmod
Run sudo modprobe joydev
To see if the module is successfully running, do lsmod | grep joy
Connect gamepad controller and check for js0 in /dev/input
PyGame
Needed to disable the ubuntu desktop login screen (set login to automatic) on the Jetson in order for the pygame gamepad input module to work properly.
VNC Server
Needed to disable the ubuntu desktop login screen to allow remote connections.
CAN Bus
Issue:
CAN Bus loopback is working, however, I am unable to receive can packets from the bus.
Jetson is connected to CAN bus via CAN to USB adapter.
Double checked and found CAN does indeed work on an RPi using the same adapter.
Also works on my laptop.
From quick research, looks like this may be a configuration issue with the mttcan kernel module.
Update: Most likely a conflict with the fact that the USB to CAN tranceiver creates a can0 interface automatically, but a can0 interface already exists via the jetson header pins.
I renamed the can0 interface on the Jetson to can2. When the USB to CAN adapter was plugged in, no new can0 interface would show.
I did not end up fixing issue, but ended up getting CAN working with a CAN tranceiver attached to the header pins.
Needed to enable the can0 interface via the jetson-io application.
Run sudo /opt/nvidia/jetson-io/jetson-io.py
Enable can0 interface. (can1 also available)
Boot Issues
Issue:
Jetson goes into recovery mode.
Can only see recovery mode message over display-out when your restart the PC.
Fix:
Press ESC to enter UEFI Menu, then choose Device Manager → NVIDIA Configuration → L4T Configuration → OS chain A status → (The value is Unbootable if UEFI attemps recovery kernel) choose Normal → Save and exit, reboot, UEFI will try Direct Boot.
Jetson Info
Running Jetpack 6.0 DP with Ubuntu 22.04 filesystem.
Gamepad Input:
Issue:
Research links:
Fix Summary:
CONFIG_LOGITECH_FF=m CONFIG_INPUT_JOYDEV=m
sudo depmod
modprobe joydev
lsmod | grep joy
PyGame
Needed to disable the ubuntu desktop login screen (set login to automatic) on the Jetson in order for the pygame gamepad input module to work properly.
VNC Server
Needed to disable the ubuntu desktop login screen to allow remote connections.
CAN Bus
Issue:
Research Links:
Products:
Fix Summary:
sudo /opt/nvidia/jetson-io/jetson-io.py
Boot Issues
Issue:
Fix:
Research Links: