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



Hi! I have a problem with my xin-mo dual arcade controller in Lakka running on a PC.

I have two players connected to the xin-mo board, with both players having a joystick and six buttons. The xin-mo is connected with a single USB to the PC. When connecting the arcade controller to a Windows PC, the PC recognizes it as two separate controllers, as it should. In Lakka however the controller is recognized as a single controller.

I already found that I need to add “usbhid.quirks=0x16c0:0x05e1:0x040” into the syslinux.cfg file. When accassing the commandline via Putty I can unfortunately not access this file. It simply does not seem to exists.

Via this topic: Problems with controls “juyao dual arcade” I found that it is possible to launch Lakka from a USB and edit the commandline from the boot menu. When I type in the boot menu “live usbhid.quirks=0x16c0:0x05e1:0x040” and open live mode, Lakka recognizes the xin-mo as two separate controllers (yay!).

I would like to have this function be permanently implemented in the installed mode. Typing “installer usbhid.quirks=0x16c0:0x05e1:0x040” in the boot menu does install Lakka as normal. This does however not seem to do anything in the end. Lakka still doesn’t recognize the controller as two separates, and I still can’t reach the syslinux.cfg file via SSH using Putty.

Any ideas?

Thanks in advance!


Did you try this documentation ?


Can you connect your Lakka-installed drive to a Windows/Linux PC and browse the drive? If so, you should be able to find the file in the smaller Lakka partition.


I did indeed try the remount method. When connected via SSH using Putty I can however stil not find the right file:

When trying to edit the syslinux.cfg file it just creates a new file:

Hoping for better luck I also tried this running on a Linux machine. Unfortunately the same results here:


I can unfortunately not connect the HDD to an other computer, since I only have access to laptops. I did try to get acces to the file system via my network using Samba:

When browsing the file system I still can’t find the right file.


Got it!

In this documentation it is said that you need to edit the syslinux.cfg file. This is incorrect. It should be “nano /flash/extlinux.conf”. So after I remounted /flash I could edit the extlinux.conf file. When adding “usbhid.quirks=0x16c0:0x05e1:0x040” after the APPEND command and made sure the whole after APPEND was on one line, I could reboot and it al works!

Can someone change the “nano /flash/syslinux.cfg” line on the Lakka website?

Thanks anyway for you help @gouchi and @hunterk!


The documentation is correct for Lakka 2.1 but I will update the documentation with depending of your version you need to edit syslinux.cfg or extlinux.conf

You may test Lakka 2.1 RC3 if you want :wink:


That’s a great idea. I will. Thanks!


I am still having issue with this? how Do i edit the file? I just put that line of code in? I can log in with putty but dont know what commnds i need to input to even get to the config.txt file or whatever it may be. I’m using an old windows pc. Lakka boots off a usb. SHould I be editing a file with notepad on my other pc or just use putty and input some code somewhere… im so confused.


OKay so now ive completely screwed my lakka up and it wont even boot anymore…

I have Lakka on a usb that I plug into an old pc to run lakka. on the usb drive there is

EFI>(this is a folder) -KERNEL

And in the EFI folder there is a BOOT folder with a few more files .

One of the files in the boot folder is another file name syslinux.cfg which is the exact same name of the file in the parent folder.

I open that file with note pad and get this

SAY Wait for live session to start or press for more options (installer)

LABEL installer
APPEND boot=UUID=2111-3926 installer quiet tty vga=current vt.global_cursor_default=0 loglevel=2

LABEL live
APPEND boot=UUID=2111-3926 disk=UUID=b9ef8ad9-785d-4546-a992-032454f63ce7 portable quiet vt.global_cursor_default=0 loglevel=2

and right after APPEND i manually put the code usbhid.quirks=0x16c0:0x05e1:0x040 (which im not even sure thats right right ID cand venddor which i cant figure out. mine is called twin usb controller not xin mo)

Then i saved the file, put the usb back into the old pc and now it wont even boot


I Just want my usb to register as two devices, It shouldnt be this complicated… the guides on here absolutely suck unless your a linux developer full time day job. I am an average dude how the hell do i do this. I need step by bloody step and not 5 broken guides that all assume you know what your doing. I dont! so guide me


First of all do you have an xin-mo dual arcade controller ? You can check the output of lsusb as described in this page.

Then you can try to boot by entering in the boot menu live usbhid.quirks=0x16c0:0x05e1:0x040. If it is working you can edit the bootloader configuration file following this documentation. You should have something like this :

LABEL live
APPEND boot=UUID=2111-3926 disk=UUID=b9ef8ad9-785d-4546-a992-032454f63ce7 portable quiet vt.global_cursor_default=0 loglevel=2 usbhid.quirks=0x16c0:0x05e1:0x040


Thanks for all the help, I believe I have followed everything to get the Xin-Mo Dual Arcade to work, but the change to “/flash/extlinux.conf” (usbhid.quirks=0x16c0:0x05e1:0x040 at the end of the APPEND line) only seems to change the port of the device index from #1 to #0. Regardless of how I map the joystick/keys they "control’ both players at the same time! Thanks!


I got my Xin Mo controller working properly on an Asus Tinkerboard running Lakka 2.2 by removing the SD card and editing the file /extlinux/extlinux.conf on a windows 10 pc, using Wordpad, as shown below.

label Lakka
    kernel /zImage
    fdt /rk3288-miniarm.dtb
    append earlyprintk boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 quiet ssh usbhid.quirks=0x16c0:0x05e1:0x040

The file is on the first partition, windows wants to format the second partition, don’t let it do that.