Odroid N2+ Arcade Setup issues

I’m having some issues getting EmuElec setup

Here’s my system info:
* Odroid N2+
* 2 player arcade setup using DragonRise USB encoders
* EmuElec v4.5 installed on EMMC with SD card for ROMS

My issues:

  1. If I only have one DragonRise encoder plugged in (player 1) things seem to work ok. Once I plu in the second one, sometimes it works, sometimes it only works on player 2. I believe this is related to the two DragonRise encoders having the same ID. How can I setup the system to assign the encoders to a specific player?

  2. When I start a game (usually FB Neo) messages pop-up saying “Joystick configured on port 1”. This happens every time I start a game. Is there a way to turn off this notice?

  3. When I exit the game I press hotkey+start. Works as expected the first time. If I go back into the game though, every time I do something I get a pop-up saying “State Slot:0” or “State Slot:1” and I can’t press hotkey+start to exit. It’s almost like once I press the hotkey it doesn’t “unpress”. I can press “ESC” on my keyboard to get out though.

  4. Sound is very low. I have my speakers maxed out and can just barely hear it. If I go into retroarch and increase the gain, I can hear it better but not by much.

I have attached pics of the notices that pop-up (items 2 and 3 above) in case I didn’t explain myself well enough.


Regarding the controllers, have you tried to set the order explicitly in emulation station under start >> bluetooth and controller settings?

regarding state slot: I think there is an option on in retroarch to disable save state on exit which may be causing the issue.

1.- If I remember correctly the issue is that the dvice reports as “the same” with same ID and same information, so the system gets confused. I belive this can be solved via udev rules, but I do not know of any for this specific controller

2.- There is a retroarch setting for this, but I do not recall the name of it.

3.- this seems to be an issue with your controllers, maybe related to n1?

4.- how are the speakers connected?

  1. I’ve looked into the UDEV stuff but am not really understanding what needs to be done. Anyone know what I should look into?

  2. I haven’t found a Retroarch setting to disable this. Anyone have any ideas?

  3. Could be controller related but I’m not sure why it works fine the first time but starts acting like this after I exit using the hotkey?

  4. My speakers are relatively standard desktop PC speakers. They’re connected to the audio 3.5mm jack. I believe the audio setting I’m using is the “0,1”. It’s the only one that gets any audio out.

I just updated to the most recent version but everything is still not working correctly.

I have tried setting them explicitly. Same issue though. When looking at the config files it looks like both controllers have the same UID. They have different names DragonRise #1 and DragonRise#2 though

Connect both controller then SSH in and enter the command:

cat /proc/bus/input/devices

And paste the output here. If ES is only taking into account the UID then I might be able to make it also check the names.

edit: I can see how it would be an issue because the game controller id gets passed too retroarch and I believe if you have 2 of the same it doesnt always respect the order, it’s a bug in ES from memory.

Here’s the output from the CAT command:

I: Bus=0010 Vendor=0001 Product=0001 Version=0100
N: Name=“gpio_keypad”
P: Phys=gpio_keypad/input0
S: Sysfs=/devices/platform/ff800000.gpio_keypad/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0010 Vendor=1b8e Product=0cec Version=0001
N: Name=“cec_input”
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=3
B: KEY=1 0 0 10000000000000 0

I: Bus=0003 Vendor=13ba Product=0018 Version=0110
N: Name="Barcode Reader "
P: Phys=usb-xhci-hcd.0.auto-1.2/input0
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.2/1-1.2:1.0/0003:13BA:0018.0001/input/input2
U: Uniq=
H: Handlers=sysrq kbd leds event2
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff800000000007ff febeffdff3cfffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=13ba Product=0018 Version=0110
N: Name="Barcode Reader "
P: Phys=usb-xhci-hcd.0.auto-1.2/input1
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.2/1-1.2:1.1/0003:13BA:0018.0002/input/input3
U: Uniq=
H: Handlers=kbd mouse0 event3
B: PROP=0
B: EV=1f
B: KEY=3007f 0 0 483ffff17aff32d bf54444600000000 1f0001 130c730b17c000 267bfad941dfed 9e168000004400 10000002
B: REL=143
B: ABS=100000000
B: MSC=10

I: Bus=0003 Vendor=0d62 Product=001d Version=0100
N: Name=“Darfon USB Combo Keyboard”
P: Phys=usb-xhci-hcd.0.auto-1.4/input0
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.4/1-1.4:1.0/0003:0D62:001D.0003/input/input4
U: Uniq=
H: Handlers=sysrq kbd leds event4
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=0d62 Product=001d Version=0100
N: Name=“Darfon USB Combo Keyboard”
P: Phys=usb-xhci-hcd.0.auto-1.4/input1
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.4/1-1.4:1.1/0003:0D62:001D.0004/input/input5
U: Uniq=
H: Handlers=kbd event5
B: PROP=0
B: EV=13
B: KEY=1000002000000 1078d801c001 1e000000000000 0
B: MSC=10

I: Bus=0003 Vendor=0810 Product=e501 Version=0110
N: Name="usb gamepad "
P: Phys=usb-xhci-hcd.0.auto-1.3.1/input0
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0/0003:0810:E501.0005/input/input6
U: Uniq=
H: Handlers=event6 js0
B: PROP=0
B: EV=1b
B: KEY=3ff00000000 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=0810 Product=e501 Version=0110
N: Name="usb gamepad "
P: Phys=usb-xhci-hcd.0.auto-1.3.2/input0
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0/0003:0810:E501.0006/input/input7
U: Uniq=
H: Handlers=event7 js1
B: PROP=0
B: EV=1b
B: KEY=3ff00000000 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=0079 Product=0006 Version=0110
N: Name="DragonRise Inc. Generic USB Joystick "
P: Phys=usb-xhci-hcd.0.auto-1.3.4/input0
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/0003:0079:0006.0007/input/input8
U: Uniq=
H: Handlers=event8 js2
B: PROP=0
B: EV=20001b
B: KEY=fff00000000 0 0 0 0
B: ABS=3002f
B: MSC=10
B: FF=107030000 0

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name=“meson-ir”
P: Phys=meson-ir/input0
S: Sysfs=/devices/platform/ff808040.meson-ir/rc/rc0/input9
U: Uniq=
H: Handlers=kbd event9
B: PROP=0
B: EV=100013
B: KEY=fff 0 4200108fc32e 237605100000000 0 700158000 419240004801 9e96c000000000 10000ffc
B: MSC=10

I: Bus=0003 Vendor=0079 Product=0006 Version=0110
N: Name="DragonRise Inc. Generic USB Joystick "
P: Phys=usb-xhci-hcd.0.auto-1.3.3/input0
S: Sysfs=/devices/platform/ff500000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3:1.0/0003:0079:0006.0008/input/input11
U: Uniq=
H: Handlers=event10 js3
B: PROP=0
B: EV=20001b
B: KEY=fff00000000 0 0 0 0
B: ABS=3002f
B: MSC=10
B: FF=107030000 0

Connect both DragonRise controllers, and in ES Bluetooth and Controller Settings try select DragonRise controllers set to Player 1, and Player 2 respectively. It looks like your usb gamepad is being given priority which is why both DragonRise controllers may not be working.

edit: Oh wait I see you have tried that. I gotta go out I’ll check it out more when I get back.

Hey I have a theory, try and disconnect the usb gamepad and have just the Dragonrise controllers connected and try and launch Retroarch, do they get picked up ok?
I’ve noticed that the config you have it’s got event10 I’m not positive but maybe the double digits are causing them not to get picked up.
When disconnecting usb gamepad make sure you do a full reboot.

Also make sure you disconnect the device that is registering as a barcode reader. I think it might be a light gun sensor but I am not positive.

Sorry for dropping this thread. I had given up on the Odroid and was trying out a different SBC. I’m now back to the Odroid N2+

To answer a couple questions from the thread. I tried unplugging everything and only having the DragonRise controllers. I tried assigning the DragonRise controllers in ES. In all cases there was no change.

I have everything working except the second DragonRise USB controller. Whenever I plug in the second one, it immediately takes precedence and causes other things not to work (like the GPIO pushbutton power).

I’ve been looking into USB quirks a bit to see if it’s something that would help this. So far I haven’t gotten anywhere though.