Skip to content

dkms-hid-nintendo: Nintendo Switch Pro Controller stops working after systemctl suspend #54

@davidhedlund

Description

@davidhedlund

Issue Description

When using a Nintendo Switch Pro Controller via USB on a MATE Desktop environment, the controller functions correctly before suspending the system. However, upon waking the computer from suspend mode, the controller fails to work in applications like SuperTux or RetroArch. This issue does not occur Linux supported drivers (other controller like DualSense).

The USB ports (for example a USB-C PCIe card on the computer, or the USB-C port on the Nintendo controller) may become worn out due to frequent suspending of the computer, requiring the cable to be unplugged and replugged on a daily basis to maintain functionality.

Steps to Reproduce

  1. Plug the Nintendo Switch Pro Controller into the computer via USB.
  2. Open and navigate in an application such as SuperTux or RetroArch
  3. The controller responds as expected.
  4. Close the application.
  5. Suspend the desktop environment by either executing systemctl suspend in the terminal or by navigating to Menu -> Shut Down... -> Suspend in MATE.
  6. Wake up the computer by pressing any key.
  7. Attempt to navigate in SuperTux or RetroArch again.
  8. The controller does not respond.
  9. Close the application.
  10. Unplug the USB cable from the controller
  11. Attempt to navigate in SuperTux or RetroArch again.
  12. The controller responds as expected again.

Additional Notes

  • This issue is specific to the Nintendo Switch Pro Controller and does not affect DualSense controllers.
  • The problem is not present in Ubuntu MATE 22.04 (Linux 5.19) and later versions, which have kernel support for this controller.

Environment

  • Operating System: Trisquel 11.0.1
  • Controller: Nintendo Switch Pro Controller
  • Applications Tested: SuperTux, RetroArch
  • Kernel Version: 5.15

Please investigate and advise on potential solutions or workarounds for this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions