Problems with controls "juyao dual arcade"

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

Hi,

lsusb:

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

Hi.

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

Source

Hi.

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 :

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

or

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

HIH !

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!

Hi,

It seems you need to append to the cmdlineto get the 2 players working :

 usbhid.quirks=0x314:0x328:0x040

Hello, How do I edit the cmdline? I connect with Putty

Thank you

On which platform are you running ? It is written in the documentation how to do it, you need to use for example nano editor (shortcut CTRL+O to save, CTRL+W to search, CTRL+X to quit).

I am working on PC, then i need modify syslinux.cfg, it is right?

Yes, you are right.