Controller detected but can't configure because button hold is not recognized
-
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
-
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 ?
-
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...
-
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:
The controller board looks like:
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:
In the end all on me. I hope this helps someone else in the future.
Cheers,
Steve
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.