Strange joystick behavior - help please
-
Hi All,
I've been searching for a few days and I've danced around solutions but nothing has worked. Here's the required info:
Pi Model: 3b
Power Supply used: the one that shipped with the Pi
RetroPie Version Used: Linux retropie 4.14.52-v7
Built From: pre-built image
USB Devices connected: keyboard, joysticks (via usb controller cards)
Controller used: See links with what I purchased from Amazon
Error messages received: only error is from jstest and it says "jstest error reading no such device"
Log found in /dev/shm/runcommand.log (if relevant): n/a
Guide used: (Mention if you followed a guide) I used ETA prime video and another on how to install retropie
File: (File with issue - with FULL path): n/a
Emulator: (Name of emulator - if applicable)": n/a
Attachment of config files: (PLEASE USE PASTEBIN.COM FOR LARGE LOGS): n/a
How to replicate the problem:What I did: I have followed ETA prime video to modify an Arcade1Up machine to use the retropie:
I then followed this video for how to build the retropie:
This is the hardware I purchased from Amazon: https://www.amazon.ca/gp/product/B00WAY9848/ref=ppx_yo_dt_b_asin_title_o01__o00_s00?ie=UTF8&psc=1
Problem explanation: When I move the joystick up or down in either jstest or in emulationstation controller config I get kicked out or it freezes.
What I've tried:
1 - I ran:jstest /dev/input/js0
This works fine. I can press buttons and they respond. When i move the joystick left or right, I get nothing. When I move it up or down I get kicked out of jstest with the error:
jstest error reading no such device
2 - I have two new joysticks in the cabinet so I tried the other joystick: same error and behavior.
3 - I tried to create custom global config for the button mappings and I get the same error and behavior.
4 - Removed all other input devices (keyboard and player 2 USB card) and plugged just the one into the top left. no change in behavior or error.
5 - removed all joystick configs and had it detect a fresh input device. When trying to map the joystick in emulation station the "A" button works but as soon as I try to config the joystick up or down (2nd request) all the buttons flash off then on again (I have LED buttons) then emulation station will not take input from the buttons or joystick. I have to plug in a keyboard and exit the menu.
I've seem some other info on websites when people ask for help so here is more that I hope helps:
*** relevant dmesg output ***
[ 2871.633738] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2871.633747] usb 1-1.1.2: Manufacturer: Microntek [ 2871.638691] input: Microntek USB Joystick as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1- 1.1.2/1-1.1.2:1.0/0003:0079:0006.0018/input/input23 [ 2871.639056] dragonrise 0003:0079:0006.0018: input,hidraw2: USB HID v1.10 Joystick [Microntek USB Joystick ] on usb-3f980000.usb-1.1.2/input0 [ 2896.657322] usb 1-1.1.2: reset low-speed USB device number 25 using dwc_otg [ 2896.947332] usb 1-1.1.2: device descriptor read/64, error -32 [ 2897.367321] usb 1-1.1.2: device descriptor read/64, error -32 [ 2898.217332] usb 1-1.1.2: reset low-speed USB device number 25 using dwc_otg [ 2899.287328] usb 1-1.1.2: reset low-speed USB device number 25 using dwc_otg [ 2899.577317] usb 1-1.1.2: device descriptor read/64, error -32 [ 2901.517768] usb 1-1.1-port2: over-current change [ 2901.777403] usb 1-1.1.2: USB disconnect, device number 25 [ 2901.778116] usb 1-1.1-port3: over-current change [ 2902.407685] usb 1-1-port2: over-current change
*** lsusb ***
Bus 001 Device 026: ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp. Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Well, I hope that's enough to get started. I'm very lost here. I'm fine in a linux distro but I can't figure this out. Any help is greatly appreciated. :)
-
From the logs you have, it seems the USB connection is reset when using the joystick, that's why the tests dont' work and you loose connection in Emulationstation.
This is usually associated with the power source not being correct or the reset being initiated by the device when activating the joysticks.
If you have a linux distro around - on a PC - you can repeat the test by connecting the encoder to the USB port on the PC and runningjstest
agains it to see how it behaves.
You can also useevtest
(apt install evtest
to install it, if not already installed) and runevtest
without parameters to see how your joystick is detected (what buttons, triggers, joysticks, etc.) -
@mitu Thanks for your reply. I finally figured it out the problem was PEBKAC!!! I had the joystick plugged into the wrong 5 pin port. I thought there was only the one and I was wrong. Totally my bad but thanks for the help. I'm going to leave this up since I could not find any solutions to this problem anywhere and it might help someone.
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.