You are not logged in.
Hello,
I am trying to connect a DualShock 4 controller via USB, which is expected to work out of the box (Gamepad#PlayStation_3/4_controller).
The controller is recognised by the system at some level, but is not usable.
When connecting, an error appears in the ring buffer:
$ sudo dmesg
[ 113.191499] usb 2-1.5: USB disconnect, device number 3
[ 116.729588] usb 2-1.5: new full-speed USB device number 4 using ehci-pci
[ 116.830226] usb 2-1.5: New USB device found, idVendor=054c, idProduct=05c4, bcdDevice= 1.00
[ 116.830230] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 116.830233] usb 2-1.5: Product: Wireless controller
[ 116.830234] usb 2-1.5: Manufacturer: Sony Computer Entertainment
[ 121.945175] sony 0003:054C:05C4.0006: failed to retrieve feature report 0x81 with the DualShock 4 MAC address
[ 121.945305] sony 0003:054C:05C4.0006: hidraw4: USB HID v81.00 Gamepad [Sony Computer Entertainment Wireless controller] on usb-0000:00:1d.0-1.5/input0
[ 121.945308] sony 0003:054C:05C4.0006: failed to claim input
The controller is listed by lusb:
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 04d9:4545 Holtek Semiconductor, Inc. Keyboard [Diatec Majestouch 2 Tenkeyless]
Bus 001 Device 004: ID 046d:c083 Logitech, Inc. G403 Prodigy Gaming Mouse
Bus 001 Device 006: ID 046d:0892 Logitech, Inc. OrbiCam
Bus 001 Device 003: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 054c:05c4 Sony Corp. DualShock 4 [CUH-ZCT1x]
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
However, there is no js* device in /dev/input/ and a scan of the event* files does not reveal the controller:
$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: Logitech G403 Prodigy Gaming Mouse
/dev/input/event3: Logitech G403 Prodigy Gaming Mouse Keyboard
/dev/input/event4: Logitech G403 Prodigy Gaming Mouse Consumer Control
/dev/input/event5: Logitech G403 Prodigy Gaming Mouse System Control
/dev/input/event6: USB Keyboard
/dev/input/event7: USB Keyboard Consumer Control
/dev/input/event8: USB Keyboard System Control
/dev/input/event9: PC Speaker
/dev/input/event10: HD Pro Webcam C920
/dev/input/event11: HDA NVidia HDMI/DP,pcm=3
/dev/input/event12: HDA NVidia HDMI/DP,pcm=7
/dev/input/event13: HDA NVidia HDMI/DP,pcm=8
/dev/input/event14: HDA NVidia HDMI/DP,pcm=9
/dev/input/event15: HDA NVidia HDMI/DP,pcm=10
/dev/input/event16: HDA NVidia HDMI/DP,pcm=11
/dev/input/event17: HDA NVidia HDMI/DP,pcm=12
/dev/input/event18: HDA Intel PCH Front Mic
/dev/input/event19: HDA Intel PCH Rear Mic
/dev/input/event20: HDA Intel PCH Line
/dev/input/event21: HDA Intel PCH Line Out Front
/dev/input/event22: HDA Intel PCH Line Out Surround
/dev/input/event23: HDA Intel PCH Line Out CLFE
/dev/input/event24: HDA Intel PCH Front Headphone
I have checked that both the usbhid and joydev modules are loaded (see Gamepad#Determining_which_modules_you_need):
$ lsmod | grep usbhid
usbhid 65536 0
$ lsmod | grep joydev
joydev 28672 0
As shown, these modules are listed as unused, even after connecting the controller.
What I have tried: pressing the PS button; restarting the system; using a different the usb cable.
Any suggestions on how to troubleshoot this issue and get the controller to correctly appear in /dev/input/ would be appreciated.
Last edited by piperfw (2021-01-16 06:54:58)
Offline
A friend has since lent me a DualShock 4 controller (which came with his console) and this worked immediately without the below error (A DualShock 3 controller worked too).
I suspect the controller I bought was not a genuine Sony product and have now returned it (it works in Windows, but I guess people cloning the product didn't think about Linux).
A Ubuntu user saw exactly the same error and had reason to believe his controller was counterfeit.
I am marking the the issue as [Solved]; hopefully anyone else who see this error will question the hardware and not waste time troubleshooting.
Offline