Logitech F710 Joystick Not Detected on Jetson Orin Nano

Issue Overview

Users are experiencing difficulties connecting and using the Logitech F710 joystick with the Jetson Orin Nano running JetPack 6.0. The main symptoms include:

  • The joystick is not appearing in the expected /dev/input/js* location
  • Instead, it’s only visible in /dev/bus/usb/001/
  • The device is detected by lsusb and dmesg, but not functioning as a joystick input
  • This issue appears to be related to missing or improperly configured kernel modules

Possible Causes

  1. Missing or improperly configured kernel module: The required joydev module may not be present or properly configured in the Jetson Orin Nano’s kernel.

  2. JetPack 6.0 compatibility issues: There might be compatibility problems between the latest JetPack version and the Logitech F710 driver.

  3. USB detection issues: The system may be detecting the device as a generic USB device instead of a joystick input device.

  4. Kernel configuration: The kernel may not have the necessary configurations enabled to support the Logitech F710 joystick.

  5. Driver conflicts: There could be conflicts with other input device drivers or USB drivers.

Troubleshooting Steps, Solutions & Fixes

  1. Kernel Module Installation:

    • Check if the joydev module is loaded:
      lsmod | grep joydev
      
    • If not present, try loading it manually:
      sudo modprobe joydev
      
  2. Kernel Customization:

    • Follow the Kernel Customization guide for Jetson Orin Nano.
    • Add the following lines to the kernel/kernel-jammy-src/arch/arm64/configs/defconfig file:
      CONFIG_LOGITECH_FF=m
      CONFIG_INPUT_JOYDEV=m
      
    • Build the kernel using:
      ./nvbuild.sh -o $PWD/kernel_out
      
    • Copy the built module:
      sudo cp kernel_out/kernel/kernel-jammy-src/drivers/input/joydev.ko /lib/modules/$(uname -r)/kernel/drivers/input/
      
    • Update module dependencies:
      sudo depmod -a
      
    • Load the module:
      sudo modprobe joydev
      
  3. Check USB Detection:

    • Run lsusb to confirm the device is detected.
    • Check dmesg | grep -i logitech for any error messages related to the joystick.
  4. Verify Joystick Functionality:

    • After loading the module, check if the joystick appears in /dev/input/js* or /dev/input/event*.
    • Use jstest /dev/input/js0 (replace js0 with the correct device if different) to test joystick functionality.
  5. Kernel Configuration Check:

    • Ensure the following configs are enabled in the kernel:
      CONFIG_INPUT_JOYDEV=m
      CONFIG_JOYSTICK_XPAD=m
      CONFIG_JOYSTICK_XPAD_FF=y
      CONFIG_JOYSTICK_XPAD_LEDS=y
      
    • Rebuild the kernel if changes are made.
  6. Alternative Driver Installation:

    • If the above steps don’t work, try installing the xpad driver:
      sudo apt-get install xboxdrv
      
    • Test the joystick using:
      sudo xboxdrv --detach-kernel-driver
      
  7. USB Port Testing:

    • Try connecting the joystick to different USB ports on the Jetson Orin Nano.
    • Use a powered USB hub if available to rule out power-related issues.
  8. Firmware Update:

    • Check if there’s a firmware update available for the Logitech F710 joystick and apply it if possible.
  9. JetPack Rollback:

    • If the issue persists, consider rolling back to a previous version of JetPack where the joystick was known to work correctly.
  10. Community Support:

    • If none of the above solutions work, consider posting detailed logs and your exact setup in the NVIDIA Developer Forums for further assistance.

Note: Some of these steps involve kernel compilation and module manipulation. Always backup important data before making system-level changes. If you’re not comfortable with these operations, seek assistance from someone with Linux kernel experience.

Similar Posts

Leave a Reply

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