Page 2 of 2 FirstFirst 12
Results 11 to 14 of 14

Thread: Playstation2 Controller with USB adapter need help getting additional buttons to work

  1. #11
    Join Date
    Jan 2019

    Re: Playstation2 Controller with USB adapter need help getting additional buttons to

    I just happened to get exactly such adapter from Aliexpress. I also bought a chinese PS2 controller in local store. Everything works fine on Windows (except analog indicator is always on no matter what). But pressing square, O and X buttons doesn't seem to be detected by Linux drivers.

    sudo cat /dev/usb/hiddev1
    Raw output shows that button presses definitely send signals. (device number may vary)

    evtest /dev/input/event14
    But pressing aformentioned buttons during evtest doesn't trigger any events (triangle and all the others work fine) (event number assigned to the gamepad may vary)

    jstest /dev/input/js0 
    Driver version is 2.1.0.
    Joystick (Sony PLAYSTATION(R)3 Controller) has 6 axes (X, Y, Z, Rx, Ry, Rz)
    and 13 buttons (BtnX, BtnTL, BtnTR, BtnTL2, BtnTR2, BtnSelect, BtnStart, BtnThumbL, BtnThumbR, (null), (null), (null), (null)).
    Testing ... (interrupt to exit)
    Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off 12:off
    jstest doesn't even have those three buttons listed.

    There's definitely something going on with the driver. Does anyone have any idea how to solve this? Thank you!

    UPD: both jscal and jstest see 6 axes and 13 buttons, while there must be 6 axes and 16 buttons.
    Last edited by quollmarten; January 23rd, 2019 at 08:17 PM. Reason: additional information

  2. #12
    Join Date
    Mar 2019

    Re: Playstation2 Controller with USB adapter need help getting additional buttons to

    Hello ! I do have exactly the same problem in Ubuntu 18.04 LTS: the Square, Circle and Cross buttons are missing.
    I'm just using a PS2 joypad with a USB adaptor. The other controls are all recognized on jstest.
    My dmesg output:

    [1335.375921] usb 2-6.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ 1335.375925] usb 2-6.1.3: Product: PLAYSTATION(R)3 Controller
    [ 1335.375929] usb 2-6.1.3: Manufacturer: Sony
    [ 1335.384225] input: Sony PLAYSTATION(R)3 Controller Motion Sensors as /devices/pci0000:00/0000:00:14.0/usb2/2-6/2-6.1/2-6.1.3/2-6.1.3:1.0/0003:054C:0268.0007/input/input26
    [ 1335.443247] input: Sony PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:14.0/usb2/2-6/2-6.1/2-6.1.3/2-6.1.3:1.0/0003:054C:0268.0007/input/input25
    [ 1335.443592] sony 0003:054C:0268.0007: input,hiddev3,hidraw5: USB HID v81.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-0000:00:14.0-6.1.3/input0

    It's looks like a touble since 2012!! Any update on this?

  3. #13
    Join Date
    Sep 2019

    Re: Playstation2 Controller with USB adapter need help getting additional buttons to

    I am facing the same problem with Raspberry pi Retropie 4.4, 4.5.1 and with Ubuntu 18.04 as well.
    I have bought several ps2->USB adapters from various sellers and I have found 2 different boards with 2 different problems. The ones recognized as "PLAYSTATION(R)3 Controller" have the issue described here (missing 3 buttons)
    The ones recognized as "USB GAMEPAD" work fine BUT ONLY FOR A FEW MINUTES. Then they start random ghost key presses and are inoperable until the linux is shutdown and the adapter is removed....
    Any suggestion is more than welcome

  4. #14
    Join Date
    Nov 2007

    Re: Playstation2 Controller with USB adapter need help getting additional buttons to

    I realize this is a fairly old thread, but I recently ran into this exact same issue myself.

    Since no resolution appears to have been found in any of the forum threads/etc I ran across researching a fix I wanted to post the method I used to resolve it: Hopefully those here and those in the future that stumble across this can get some use from it too.

    I run a no-name Dualshock/Dualshock 2 to PS3 USB adapter, so my DS1 presents itself to the OS as a Dualshock 3. With Ubuntu 18.04 and 19.04, the adapter shows up as this under jstest (Abbreviated):

    Joystick (Sony PLAYSTATION(R)3 Controller) has 6 axes … and 13 buttons …

    Several buttons and the d-pad don't work and the axes are weird. It is utterly useless as a gamepad in this state.

    However, I recently tried another distro that ships with an older kernel (antiX - Linux 4.9.16) and was amazed to see the adapter come up as a fully working device:

    Joystick (Sony PLAYSTATION(R)3 Controller) has 5 axes … and 19 buttons …

    I ended up digging into why this particular distro/kernel worked. Apparently it is due to changes made in the DS3 driver (sony-hid) around Linux 4.10 that broke a lot of third party adapters such as mine. So...

    I downloaded Linux 4.9.196's sources and extracted them. Two files are of interest in here:


    I then made a Makefile with the following:

    obj-m += hid-sony.o

    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

    I then threw all three into a subfolder named hid-sony (I did all this in /tmp: Wherever you want is fine).

    In a root terminal at the folder above hid-sony (For me, /tmp), I ran the following:

    cd ./hid-sony


    rmmod hid_sony
    rm -f /lib/modules/$(uname -r)/kernel/drivers/hid/hid-sony.ko

    cp ./hid-sony.ko /lib/modules/$(uname -r)/kernel/drivers/hid/
    insmod /lib/modules/$(uname -r)/kernel/drivers/hid/hid-sony.ko

    make clean

    This entirely replaces the existing driver module with the 4.9 version. After doing this, my gamepad is now fully functional under Ubuntu 18.04.

    I initially planned to build this as a separately named kernel object and to disable sony-hid and enable the new module on every boot but ultimately just decided to overwrite the newer module file and be done with it.
    So you may want to back up the original sony-hid.ko file or create a more elegant method of getting the 4.9 module into your OS install, as what I just showed *will* permanently replace whatever version came with your particular kernel.

    I also did this on Ubuntu 19.04 AMD64 and it also worked as expected. Native Linux games, emulators and games under Wine utilize it with no issues whatsoever.

    I’ll have to do this with every kernel update, but I can live with that. Hopefully anyone with a similar issue to mine will be helped by this.

    (Note: You'll need your current kernel's headers and build-essential installed to make this work)

    *edit* I've attached the driver source from Linux 4.9.196, the makefile and an installer script. I make absolutely no warranties that it won't make your system explode: Use at your own risk (And back up the original module file).
    Attached Files Attached Files
    Last edited by Sliver X; 3 Days Ago at 07:59 AM. Reason: Added Driver Files

Page 2 of 2 FirstFirst 12


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts