Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Gamepads not working on 4.4



  • Hi, I had a Pi doing nothing so i thought why not build a retropie. But now a connot get my controllers to work:

    Pi Model or other hardware: 2B
    Power Supply used: 2.5a powerbrick
    RetroPie Version Used : 4.4
    Built From: Pre made SD Image on RetroPie website
    USB Devices connected:1 Logitech USB Keyboard, 1Xbox 360 Wireless controller with Play&charge Cable 1 PDP Xbox One controller.
    Controller used: 1Xbox 360 Wireless controller with Play&charge Cable 1 PDP Xbox One controller.
    Error messages received: None, i says 1 gamepad detected (and it is the keyboard)
    How to replicate the problem:

    I also have tried using an powered USB hub from D-link
    I also have tried install xboxdrv, gamepads are detected but when al hold a button nothing happens.

    I have run Jtest en EVtest, they do not detect input.

    What can i do?


  • Global Moderator

    @niekveldhuizen The keyboard works regardless of the USB port it's plugged in, so you're sure all USB ports work ?
    Post the output of cat /proc/bus/usb/devices, when any/all gamepads are connected. Note that - despite the name - the xboxdrv is not actually an Xbox controller driver, but it helps to map other controllers as an Xbox controller.



  • Hi, I have tried mutiplu USB ports. With and without Powered USB hub:

    Here is the outpu, i do not have a proc/bus/usb/devices but:

    pi@retropie:~ $ cat /proc/bus/input/devices
    I: Bus=0003 Vendor=046d Product=c31c Version=0110
    N: Name="Logitech USB Keyboard"
    P: Phys=usb-3f980000.usb-1.5/input0
    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/0003:046D:C 31C.0001/input/input0
    U: Uniq=
    H: Handlers=sysrq kbd leds event0
    B: PROP=0
    B: EV=120013
    B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
    B: MSC=10
    B: LED=1f

    I: Bus=0003 Vendor=046d Product=c31c Version=0110
    N: Name="Logitech USB Keyboard"
    P: Phys=usb-3f980000.usb-1.5/input1
    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.1/0003:046D:C 31C.0002/input/input1
    U: Uniq=
    H: Handlers=kbd event1
    B: PROP=0
    B: EV=1b
    B: KEY=2010000 397a d801d001 1e0000 0 0 0
    B: ABS=1 0
    B: MSC=10

    I: Bus=0003 Vendor=0e6f Product=02a7 Version=010f
    N: Name="Generic X-Box pad"
    P: Phys=usb-3f980000.usb-1.4.3/input0
    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.0/i nput/input4
    U: Uniq=
    H: Handlers=js0 event2
    B: PROP=0
    B: EV=20000b
    B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
    B: ABS=3001b



  • And when i enable xboxdrv it looks like this:

    pi@retropie:~ $ cat /proc/bus/input/devices
    I: Bus=0003 Vendor=046d Product=c31c Version=0110
    N: Name="Logitech USB Keyboard"
    P: Phys=usb-3f980000.usb-1.5/input0
    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/0003:046D:C31C.0001/input/input0
    U: Uniq=
    H: Handlers=sysrq kbd leds event0
    B: PROP=0
    B: EV=120013
    B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
    B: MSC=10
    B: LED=1f

    I: Bus=0003 Vendor=046d Product=c31c Version=0110
    N: Name="Logitech USB Keyboard"
    P: Phys=usb-3f980000.usb-1.5/input1
    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.1/0003:046D:C31C.0002/input/input1
    U: Uniq=
    H: Handlers=kbd event1
    B: PROP=0
    B: EV=1b
    B: KEY=2010000 397a d801d001 1e0000 0 0 0
    B: ABS=1 0
    B: MSC=10

    I: Bus=0003 Vendor=0e6f Product=02a7 Version=010f
    N: Name="Generic X-Box pad"
    P: Phys=usb-3f980000.usb-1.4.3/input0
    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.0/input/input2
    U: Uniq=
    H: Handlers=event2 js0
    B: PROP=0
    B: EV=20000b
    B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
    B: ABS=3001b
    B: FF=1 7030000 0 0

    I: Bus=0000 Vendor=0000 Product=0000 Version=0000
    N: Name="Xbox Gamepad (userspace driver)"
    P: Phys=
    S: Sysfs=/devices/virtual/input/input3
    U: Uniq=
    H: Handlers=event3 js1
    B: PROP=0
    B: EV=b
    B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
    B: ABS=3001b

    I: Bus=0000 Vendor=0000 Product=0000 Version=0000
    N: Name="Xbox Gamepad (userspace driver) #2"
    P: Phys=
    S: Sysfs=/devices/virtual/input/input4
    U: Uniq=
    H: Handlers=event4 js2
    B: PROP=0
    B: EV=b
    B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
    B: ABS=3001b



  • The xbox 360 controller cannot be connected to the pi using the play and charge cord as far as I know. It will only charge the battery it wont be detected as a usb controller. The wireless adapters for xbox 360 controllers work great and are only $10-15.


  • Global Moderator

    @niekveldhuizen said in Gamepads not working on 4.4:

    Generic X-Box pad

    As @quicksilver said - and the commands show - the Xbox 360 will not work via the cable you have.

    It seems the PDP controller might be detected as a joystick (at /dev/input/js0. Can you remove the xboxdrv and then try to see if jstest /dev/input/js0 works ?

    Do you know the exact model of the PDP gamepad ? Do you have a vendor page ?



  • Okey,

    I will forget ther wireless controller with charge cable (on my windows PC it is recognised)

    Removed the xboxdr, rebooted with only keyboard and th PDP contorller connected and run jstest. No results.
    Now that i removed xboxdrv there is only 1 gamepad deteced and that is the keyboard.

    This is the controller i have: https://www.pdp.com/en/pdp-wired-controller-048-082-na-bk


  • Global Moderator

    @niekveldhuizen This looks like it should be supported by the xpad driver. Looking at the xpad souce, it looks like this particular VendorID/ProductID combination is not registered with the driver, so maybe that's why the controller is not correctly detected and initialized.
    If you're not afraid to edit a file, then you can edit the xpad driver (it's at /opt/retropie/supplementary/xpad/xpad.c on your RetroPie install) and add a similar entry under the line I pointed above in the source.

    	{ 0x0e6f, 0x02a7, "PDP Wired Controller for Xbox One - Black", 0, XTYPE_XBOXONE },
    

    You can then run:

    sudo $HOME/RetroPie-Setup/retropie_packages.sh xpad build
    

    and this should re-install the driver with your additions. Reboot and see if the gamepad is detected.



  • Hi

    What do you mens i similar line? Or do you mean the line you posted?
    0x0e6f, 0x02a7, "PDP Wired Controller for Xbox One - Black", 0, XTYPE_XBOXONE },

    Where do the 0x codes come from?


  • Global Moderator

    @niekveldhuizen It seems you're not familiar with modifying source code - so it's maybe better to just get an adapter for the Xbox 360 controller, since the PDP adapter is not yet supported by the Linux driver (xpad).



  • I had the same issue, with the same brand PDP controller as the OP but purple controller (vVendor ID 0x0e6f, product ID 0x02bd). I followed the instructions to recompile the driver, but it still wasn't getting picked up.

    I then did full update as per https://retropie.org.uk/docs/Updating-RetroPie/ and it all came good :)

    Regards
    Dan



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.