ValveSoftware / SteamOS

SteamOS community tracker
1.52k stars 69 forks source link

Clonic PlayStation DualShock 4 controllers don't work when connected via USB #1228

Open tanty opened 7 months ago

tanty commented 7 months ago

Your system information

Please describe your issue in as much detail as possible:

I have a couple of different Sony PlayStation DualShock 4 clonic controllers.

When I plugged them via USB in the Steam Deck connected to the Steam Dock, the controllers only set themselves into charging mode. They don't set themselves as actual controllers, as they do when connected via Bluetooth.

Steps for reproducing this issue:

  1. Get a Sony PlayStation DualShock 4 clonic controller.
  2. Connect it to a USB Hub (for example, the Steam Dock) via an USB cable.
  3. The clonic controller only sets itself into charging mode.

I believe the problem described is the very same described in this issue:

I believe SteamOS 3.5.7 is running a Linux kernel 6.1.x

I've confirmed the same problem in my Debian Stable running also a version of Linux 6.1.x. This is the log after connecting one of the controllers.

Nov 23 22:47:22 roton kernel: usb 1-1.1: USB disconnect, device number 109
Nov 23 22:47:27 roton kernel: usb 1-1.1: new full-speed USB device number 110 using xhci_hcd
Nov 23 22:47:27 roton kernel: usb 1-1.1: device descriptor read/64, error -32
Nov 23 22:47:27 roton kernel: usb 1-1.1: New USB device found, idVendor=054c, idProduct=05c4, bcdDevice= 1.00
Nov 23 22:47:27 roton kernel: usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 23 22:47:27 roton kernel: usb 1-1.1: Product: Wireless Controller
Nov 23 22:47:27 roton kernel: usb 1-1.1: Manufacturer: Sony Interactive Entertainment
Nov 23 22:47:27 roton kernel: usb 1-1.1: SerialNumber: Wireless Controller
Nov 23 22:47:27 roton kernel: sony 0003:054C:05C4.0029: failed to retrieve feature report 0x81 with the DualShock 4 MAC address
Nov 23 22:47:27 roton kernel: sony 0003:054C:05C4.0029: hidraw3: USB HID v81.11 Gamepad [Sony Interactive Entertainment Wireless Controller] on usb-0000:00:14.0-1.1/input3
Nov 23 22:47:27 roton kernel: sony 0003:054C:05C4.0029: failed to claim input

I've also confirmed that this problem doesn't happen any more after installing a Linux 6.5.x backported into my Debian stable system.

This is the log:

Nov 23 23:08:16 roton kernel: usb 1-1.1: new full-speed USB device number 11 using xhci_hcd
Nov 23 23:08:17 roton kernel: usb 1-1.1: New USB device found, idVendor=054c, idProduct=05c4, bcdDevice= 1.00
Nov 23 23:08:17 roton kernel: usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 23 23:08:17 roton kernel: usb 1-1.1: Product: Wireless Controller
Nov 23 23:08:17 roton kernel: usb 1-1.1: Manufacturer: Sony Interactive Entertainment
Nov 23 23:08:17 roton kernel: usb 1-1.1: SerialNumber: Wireless Controller
Nov 23 23:08:17 roton kernel: playstation 0003:054C:05C4.0005: hidraw3: USB HID v1.11 Gamepad [Sony Interactive Entertainment Wireless Controller] on usb-0000:00:14.0-1.1/input3
Nov 23 23:08:17 roton kernel: input: Sony Interactive Entertainment Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.3/0003:054C:05C4.0005/input/input26
Nov 23 23:08:17 roton kernel: input: Sony Interactive Entertainment Wireless Controller Motion Sensors as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.3/0003:054C:05C4.0005/input/input27
Nov 23 23:08:17 roton kernel: input: Sony Interactive Entertainment Wireless Controller Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.3/0003:054C:05C4.0005/input/input28
Nov 23 23:08:17 roton kernel: playstation 0003:054C:05C4.0005: Registered DualShock4 controller hw_version=0x00006404 fw_version=0x00007008
tanty commented 7 months ago

I suppose the difference is that in Linux 6.2 Sony added official support to the DualShock 4.

https://linuxgamingcentral.com/posts/ds4-support-added-to-hid-playstation/

Could be interesting to backport those patches.

manuelafm commented 2 months ago

Linux 6.5 is now available in Beta, if you can afford to upgrade.