ARC Controller crashes EmulationStation
-
Hi,
As some other RetroPie users when I use 2 new ARC controllers the system crashes.
I follow some instructions found on other ticket - I added the following line to /boot/cmdline.txt
usbhid.quirks=0x0079:0x0006:0x00000400)I restarted the machine and connected the controllers after EmulationStation is started. I can configure the 2 new josticks but as soon as I start to play a MAME game EmulationStattion crashes.
dmesg is full of these messages:
[ 1349.504927] input: DragonRise inc. Generic USB Joystick as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:0079:0006.0521/input/input1313
[ 1349.505584] dragonrise 0003:0079:0006.0521: input,hidraw3: USB HID v1.10 Joystick [DragonRise inc. Generic USB Joystick ] on usb-0000:01:00.0-1.3/input0
[ 1349.506996] usb 1-1.4: USB disconnect, device number 99
[ 1349.944702] usb 1-1.4: new low-speed USB device number 101 using xhci_hcd
[ 1350.083957] usb 1-1.4: New USB device found, idVendor=0079, idProduct=0006, bcdDevice= 1.07
[ 1350.083977] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1350.083994] usb 1-1.4: Product: Generic USB Joystick
[ 1350.084010] usb 1-1.4: Manufacturer: DragonRise inc.
[ 1350.094752] input: DragonRise inc. Generic USB Joystick as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:0079:0006.0522/input/input1Can I provide you with any files to help with the assessment?
-
@diego76 said in ARC Controller crashes EmulationStation:
dmesg is full of these messages:
[ 1349.504927] input: DragonRise inc. Generic USB Joystick as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:0079:0006.0521/input/input1313 [ 1349.505584] dragonrise 0003:0079:0006.0521: input,hidraw3: USB HID v1.10 Joystick [DragonRise inc. Generic USB Joystick ] on usb-0000:01:00.0-1.3/input0 [ 1349.506996] usb 1-1.4: USB disconnect, device number 99 ... [ 1349.944702] usb 1-1.4: new low-speed USB device number 101 using xhci_hcd
...
Looks like the controller connection is not stable - connecting and disconnecting repeatedly. This is what causes EmulationStation to crash and probably will affect also the emulators. You should fix the connection (bad wiring/USB cable ?) and you'll also fix the crash.
The advice you found in another topic may apply to your case, but you need to add
usbhid.quirks=0x0079:0x0006:0x040
to
/boot/config.txt
- not what you posted. -
@mitu I checked all the cables and they are ok. Your suggestion worked perfectly. I will test it further in the next days but the EmulationStation looks stable now. I configured the joysticks and they work as expected. Many thanks for your help!
-
@mitu said in ARC Controller crashes EmulationStation:
usbhid.quirks
Ok, I have been testing the problem all day. Now emulationstation starts even with no quirks in /boot/config.txt
I have also updated all the packages on the system with apt-get.When I try to add a new input ES detects the joystick, I press a button and enter in the configuration mode. That's when I get in trouble: none of the joystick positions gets detected apart from the right position.
Checking the dmesg I see the joystick is detected as:[ 1194.036570] dragonrise 0003:0079:0006.02B4: input,hidraw2: USB HID v1.10 Joystick [DragonRise inc. Generic USB Joystick ] on usb-0000:01:00.0-1.3/input0
[ 1194.999289] usb 1-1.3: USB disconnect, device number 85
[ 1195.372971] usb 1-1.3: new low-speed USB device number 86 using xhci_hcd
[ 1195.512790] usb 1-1.3: New USB device found, idVendor=0079, idProduct=0006, bcdDevice= 1.07
[ 1195.512814] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1195.512833] usb 1-1.3: Product: Generic USB Joystick
[ 1195.512851] usb 1-1.3: Manufacturer: DragonRise inc.
[ 1195.525938] input: DragonRise inc. Generic USB Joystick as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:0079:0006.02B5/input/input693
[ 1195.526481] dragonrise 0003:0079:0006.02B5: input,hidraw2: USB HID v1.10 Joystick [DragonRise inc. Generic USB Joystick ] on usb-0000:01:00.0-1.3/input0
[ 1196.535454] usb 1-1.3: USB disconnect, device number 86
[ 1196.933018] usb 1-1.3: new low-speed USB device number 87 using xhci_hcd
[ 1197.073035] usb 1-1.3: New USB device found, idVendor=0079, idProduct=0006, bcdDevice= 1.07
[ 1197.073057] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1197.073076] usb 1-1.3: Product: Generic USB Joystick
[ 1197.073093] usb 1-1.3: Manufacturer: DragonRise inc.
[ 1197.084418] input: DragonRise inc. Generic USB Joystick as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:0079:0006.02B6/input/input694I do not think the joystick is faulty because I have 2 of them and they both behave in the same way.
-
To be honest, I suspect the controller isn't sending anything for the missing input keys/movements - that's why EmulationStation doesn't record or configure it.
You can test if the inputs are read by Linux usingjstest
, a command line utility which is already installed in RetroPie. Exit EmulationStation and type at the command promptjstest /dev/input/js0
It will show you the inputs detected for the controller and you can press buttons/move the joysticks to see if the actions are registered. You can exit the test utility by pressing Ctrl + C.
If nothing is registered when you move the joystick positions, then there's nothing in EmulationStation that can fix the detection - they're simply not being read by the system. -
@mitu Funny enough both joysticks were incorrectly assembled. I removed the transparent holder in the back, twisted the controls 90 degrees anti-clockwise and reassembled and now both emulationstation and MAME detects the right movements. But still, even with the quirks entry in the config.txt file the only way to start ES without crash is to disconnect the joystick USB, start the software and then reconnect the joysticks.
-
@diego76 your problem sounds like what I am having... Could you please explain what you did exactly with the joystick? I can see the transparent cover and how I'll likely remove it, but not clear what you mean about twisting 90°.
Thanks.
-
@diego76 actually.... Could it be possible that you had the 5-pin connector to the joystick one way up previously, and then you reversed it when you opened up the transparent part of the joystick?
Because I figured out that if I unplugged the 5-pin connector and replugged it back in the other way up then all directions are registered, rather than just one.
Something for other readers of this post to try, anyway. It worked for me with two joysticks.
-
@andymassey Just remove the transparent plastic holder. Then you will be able to take half of the joystick off. That part has to be rotate by 90 degrees and reassembled. Finally you put the tranpsarent plastic holder back.
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.