Problems with controls "juyao dual arcade"



I have mounted an arcade control that Windows recognizes me as “dual juyao arcade” and running, but when connected to Lakka, does nothing. I looked at the setting of “input” but I can not recognize it.

Any idea because it can be?

Thank you!

Xin-mo dual arcade controller not recognized as two in installed mode

Please read this documentation. And it is not recognized by udev driver ?


Hi. Thanks for the reply.

I had already read the documentation that tells me, but my problem is that I can not configure the buttons using the “Brind all” because it does nothing, it does not recognize the device.

Report “joypads” is empty folder.

Thank you very much!


Hello No, it recognized neither by udev driver either …


Can you provide the output of lsusb ? You need to access Lakka command line interface to type the command lsusb.


Hello I’m not sure that is lsusb, even so, tomorrow can not prove anything, so investigare and if I find it, it proves and I’ll tell you.

Thank you very much for the answers!

Ok, I saw that output of ls usb is a command to know that I have devices connected via USB. When morning has access to everything, I try to see what result gives me. Thank you!


Hi, lsusb -t:

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/10p, 12M |__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/10p, 480M

It seems that if recognized, as human interface device, but not get it to work … any ideas or help?

Thank you!!


Can you run also lsusb without options so that we can get vendor/product id ?

Did you try to use hid driver ? Setting Tab > Driver > Joypad Driver > HID




Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 007: ID 0314:0328 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub



Once you’ve selected the option in HID Driver> Driver Joypad, I do something else? I read that when you connect the joypad, should leave a yellow letters at the bottom, but I do not leave anything.


And try to bind your controller with the hid driver :wink:

Anyways, it seems you need to add an udev rule to make it work. Can you try to add the rule to /storage/.config/udev.rules.d ? And don’t forget to put back joypad driver to udev.

nano /storage/.config/udev.rules.d/99-juyao-dual-arcade.rules

then copy this content :

ATTRS{name}=="Arcade Controller JUYAO Dual Arcade",ACTION=="add",ENV{ID_INPUT_TABLET}="0",ENV{ID_INPUT_JOYSTICK}:="1"

Then CTRL+O to save the file and CTRL+X to exit.

You should reboot or restart udev rules with

udevadm control --reload
udevadm trigger




I start to think I’m clumsy … :frowning:

I do step by step what you’ve told me, I even edited the extlinux.conf as indicated in the forum that has bound me (usbhid.quirks = 0x0314: 0x0328: 0x040), but still does not work … in fact not notice any change.

Thanks for insisting help … to see if we can finish running!


Can try to type udevadm monitor then plug your controller, and get the output ?

Lakka:~ # udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[228.312406] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2 (usb)
KERNEL[228.315236] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0 (u                         sb)
KERNEL[228.324469] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002 (hid)
KERNEL[228.330682] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/input/input15 (input)
KERNEL[228.330728] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/input/input15/mouse0 (input)
KERNEL[228.330753] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/input/input15/event3 (input)
KERNEL[228.330777] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/hidraw/hidraw0 (hidraw)
UDEV  [228.331314] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2 (usb)
UDEV  [228.332030] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0 (u                         sb)
UDEV  [228.332407] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002 (hid)
UDEV  [228.333566] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/hidraw/hidraw0 (hidraw)
UDEV  [228.333914] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/input/input15 (input)
UDEV  [228.335228] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/input/input15/mouse0 (input)
UDEV  [228.397301] add      /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00                         03:0314:0328.0002/input/input15/event3 (input)


Can you try now, udevadm info -a -p /devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/00 03:0314:0328.0002/input/input15 ?

Thank you.


Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device.

looking at device ‘/devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/0003:0314:0328.0004/input/input17’: KERNEL==“input17” SUBSYSTEM==“input” DRIVER=="" ATTR{name}==“D_R_M JUYAO Dual Arcade” ATTR{phys}==“usb-0000:00:02.0-2/input0” ATTR{properties}==“0” ATTR{uniq}==""

looking at parent device ‘/devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0/0003:0314:0328.0004’: KERNELS==“0003:0314:0328.0004” SUBSYSTEMS==“hid” DRIVERS==“hid-generic” ATTRS{country}==“21”

looking at parent device ‘/devices/pci0000:00/0000:00:02.0/usb2/2-2/2-2:1.0’: KERNELS==“2-2:1.0” SUBSYSTEMS==“usb” DRIVERS==“usbhid” ATTRS{authorized}==“1” ATTRS{bAlternateSetting}==" 0" ATTRS{bInterfaceClass}==“03” ATTRS{bInterfaceNumber}==“00” ATTRS{bInterfaceProtocol}==“00” ATTRS{bInterfaceSubClass}==“00” ATTRS{bNumEndpoints}==“01” ATTRS{supports_autosuspend}==“1”

looking at parent device ‘/devices/pci0000:00/0000:00:02.0/usb2/2-2’: KERNELS==“2-2” SUBSYSTEMS==“usb” DRIVERS==“usb” ATTRS{authorized}==“1” ATTRS{avoid_reset_quirk}==“0” ATTRS{bConfigurationValue}==“1” ATTRS{bDeviceClass}==“00” ATTRS{bDeviceProtocol}==“00” ATTRS{bDeviceSubClass}==“00” ATTRS{bMaxPacketSize0}==“8” ATTRS{bMaxPower}==“500mA” ATTRS{bNumConfigurations}==“1” ATTRS{bNumInterfaces}==" 1" ATTRS{bcdDevice}==“0102” ATTRS{bmAttributes}==“80” ATTRS{busnum}==“2” ATTRS{configuration}=="" ATTRS{devnum}==“6” ATTRS{devpath}==“2” ATTRS{idProduct}==“0328” ATTRS{idVendor}==“0314” ATTRS{ltm_capable}==“no” ATTRS{manufacturer}==“D_R_M” ATTRS{maxchild}==“0” ATTRS{product}==“JUYAO Dual Arcade” ATTRS{quirks}==“0x0” ATTRS{removable}==“unknown” ATTRS{speed}==“12” ATTRS{urbnum}==“23” ATTRS{version}==" 0.20"

looking at parent device ‘/devices/pci0000:00/0000:00:02.0/usb2’: KERNELS==“usb2” SUBSYSTEMS==“usb” DRIVERS==“usb” ATTRS{authorized}==“1” ATTRS{authorized_default}==“1” ATTRS{avoid_reset_quirk}==“0” ATTRS{bConfigurationValue}==“1” ATTRS{bDeviceClass}==“09” ATTRS{bDeviceProtocol}==“00” ATTRS{bDeviceSubClass}==“00” ATTRS{bMaxPacketSize0}==“64” ATTRS{bMaxPower}==“0mA” ATTRS{bNumConfigurations}==“1” ATTRS{bNumInterfaces}==" 1" ATTRS{bcdDevice}==“0406” ATTRS{bmAttributes}==“e0” ATTRS{busnum}==“2” ATTRS{configuration}=="" ATTRS{devnum}==“1” ATTRS{devpath}==“0” ATTRS{idProduct}==“0001” ATTRS{idVendor}==“1d6b” ATTRS{interface_authorized_default}==“1” ATTRS{ltm_capable}==“no” ATTRS{manufacturer}==“Linux 4.6.3 ohci_hcd” ATTRS{maxchild}==“10” ATTRS{product}==“OHCI PCI host controller” ATTRS{quirks}==“0x0” ATTRS{removable}==“unknown” ATTRS{serial}==“0000:00:02.0” ATTRS{speed}==“12” ATTRS{urbnum}==“136” ATTRS{version}==" 1.10"

looking at parent device ‘/devices/pci0000:00/0000:00:02.0’: KERNELS==“0000:00:02.0” SUBSYSTEMS==“pci” DRIVERS==“ohci-pci” ATTRS{broken_parity_status}==“0” ATTRS{class}==“0x0c0310” ATTRS{consistent_dma_mask_bits}==“32” ATTRS{d3cold_allowed}==“1” ATTRS{device}==“0x03f1” ATTRS{dma_mask_bits}==“32” ATTRS{driver_override}=="(null)" ATTRS{enable}==“1” ATTRS{irq}==“23” ATTRS{local_cpulist}==“0-3” ATTRS{local_cpus}==“f” ATTRS{msi_bus}==“1” ATTRS{subsystem_device}==“0x5004” ATTRS{subsystem_vendor}==“0x1458” ATTRS{vendor}==“0x10de”

looking at parent device ‘/devices/pci0000:00’: KERNELS==“pci0000:00” SUBSYSTEMS=="" DRIVERS==""


Can you try to change the rules to :






Now it works!!! In the end it worked with:

ATTRS {product} == “JUYAO Dual Arcade”, ACTION == “add”, ENV {ID_INPUT_TABLET} = “0”, ENV {ID_INPUT_JOYSTICK}: = “1”

Many thanks! If you ever come by Malaga (Spain) you will be invited to a beer! :wink:


Glad it works !


Good, After a long time, I was able to mount my controls completely. In its day only probe with a single player, but when configuring the buttons for 2 players have started the problems.

First I tried the controls in Windows, and I work well the two players, but when I connect them to Lakka, when configuring it, it interprets each button separately, but the pad does not seem to.

When selecting two players, the two move at the same time with the 2 pad, do not go independent.

I do not know if I explained well. Thank you very much for the help!