RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Controller detected but can't configure because button hold is not recognized

    Scheduled Pinned Locked Moved Help and Support
    controller confrpi3button regdriver
    4 Posts 2 Posters 735 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bigsdawg
      last edited by

      Hi All,

      I'm trying to connect an arcade-style controller to my RetroPie setup and I see the controller is detected, but no button presses from the controller are registered, so I can't configure it.

      Pi Model or other hardware: 3 with a CanaKit 5V/2.5A supply
      RetroPie Version: 4.8
      Built From: Pre made SD Image on RetroPie website
      USB Devices connected: Keyboard, SHANWAN Android Gamepad (works), SJ@JX CY-822B controller (does not work)

      The controller kit uses a board that is labelled SJ@JX CY-822B. The closest post that I could find to my issue is this one (https://retropie.org.uk/forum/topic/24452/retropie-detects-usb-controller-but-buttons-don-t-work/2). I've gone through the start of the debug processs there.

      When I boot without the controller plugged in I get the following dmesg (https://pastebin.com/uEmVEefP)

      When I execute cat /proc/bus/input/devices I get the following (https://pastebin.com/MUFNpbPJ) and I see the one controller that I have connected, which is a cheap XBOX look alike, which works.

      If I plug in the arcade-style controller I get the following new entry into dmesg:

      pi@retropie:~ $ sudo dmesg
      [  205.711758] usb 1-1.3.1: new low-speed USB device number 13 using dwc_otg
      [  205.849490] usb 1-1.3.1: New USB device found, idVendor=0079, idProduct=0006, bcdDevice= 1.07
      [  205.849517] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      [  205.849532] usb 1-1.3.1: Product: Generic   USB  Joystick
      [  205.849545] usb 1-1.3.1: Manufacturer: DragonRise Inc.
      [  205.911358] input: DragonRise Inc.   Generic   USB  Joystick   as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0/0003:0079:0006.0004/input/input4
      [  205.913817] dragonrise 0003:0079:0006.0004: input,hidraw2: USB HID v1.10 Joystick [DragonRise Inc.   Generic   USB  Joystick  ] on usb-3f980000.usb-1.3.1/input0
      

      If I run cat /proc/bus/input/devices again I get the following new entry:

      I: Bus=0003 Vendor=0079 Product=0006 Version=0110
      N: Name="DragonRise Inc.   Generic   USB  Joystick  "
      P: Phys=usb-3f980000.usb-1.3.1/input0
      S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0/0003:0079:0006.0004/input/input4
      U: Uniq=
      H: Handlers=event3 js1
      B: PROP=0
      B: EV=1b
      B: KEY=fff 0 0 0 0 0 0 0 0 0
      B: ABS=3002f
      B: MSC=10
      

      When I run jstest /dev/input/js1 none of the button presses register, but I do see the following behaviour:

      • Axes 5 and 6 change values when I move the stick and the controller is in one of the two modes selected by pushing the mode button
      • Axes 0 and 1 change values when I move the stick and the controller is in the other of the two modes selected by pushing the mode button
      • None of the buttons ever change their state from OFF

      Here is the output from jstest when the stick is centered:

      Driver version is 2.1.0.
      Joystick (DragonRise Inc.   Generic   USB  Joystick  ) has 7 axes (X, Y, Z, Rx, Rz, Hat0X, Hat0Y)
      and 12 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6).
      Testing ... (interrupt to exit)
      Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0 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
      

      I feel like it is just a driver or configuration issue, but I'm not really sure where to start, especially since I'm seeing the axes values change...

      Any help in figuring out why my button presses aren't registered would be greatly appreciated.

      Thanks,

      Steve

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        Looking at the dmesg , there's something logged about the USB port used:

        ...
        
        [   15.075376] usb 1-1.3-port2: Cannot enable. Maybe the USB cable is bad?
        [   15.985304] usb 1-1.3-port2: Cannot enable. Maybe the USB cable is bad?
        [   15.985698] usb 1-1.3-port2: attempt power cycle
        ...
        

        Did you try a different USB port on the Pi or a different USB cable ?

        B 1 Reply Last reply Reply Quote 0
        • B
          bigsdawg @mitu
          last edited by

          Thanks for the reply @mitu.

          Oddly enough, the USB device it was complaining about is one of the XBOX like controllers that does work, and not the one giving me issues.

          However, I did still try a different cable. I still see the same behaviour with two cables and both of the SJ@JX CY-822B boards that I received. By same behaviour I mean that jstest shows the axes change when I press on the stick, but none of the buttons work.

          Thanks again for the suggestion, but it looks like I'm still stuck for the time being...

          B 1 Reply Last reply Reply Quote 0
          • B
            bigsdawg @bigsdawg
            last edited by

            It turns out the issue was between the controller and the chair.

            I'm posting my resolution here in case someone else ends up with the same issue and goes looking...

            I miswired the controller (it came with no documentation), but I came across this blog post (https://cy-822b.blogspot.com/2016/08/the-cy-822b-usb-led-joystick-controller.html) that showed this image:
            c0fb63ff-f849-4c20-b512-ae2dd514b54c-image.png

            The controller board looks like:
            856a91fc-99f3-4ced-b08c-acd40ff39054-image.png

            The buttons have a 2-pin connector on them so I figured the connected to the lower edge of the image above. But the connection actually happens in the button housing and the 3-pin connector is more than just for the LED, it also contains the switch wiring. So the 2-pin connector connects into the button housing and the 3-pin wire from the housing connects into the controller board.

            I went back to the original Amazon page and found that there are some pictures that describe the wiring, but not terribly clearly:
            cd4a53c7-a851-42b4-875b-919802fd6439-image.png

            In the end all on me. I hope this helps someone else in the future.

            Cheers,

            Steve

            1 Reply Last reply Reply Quote 1
            • First post
              Last post

            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.