8bitdo FC30/NES30 Bluetooth Controller and Lakka

Hi,

has anybody tried to configure the FC30 controllers with Lakka? I have the FC30 Combo which includes 2 controllers. http://www.fc30.com/eng/ I have trouble to get them working properly. I managed to pair and connect the controllers with bluettothctrl. With the udev driver the D-Pad is functioning, but not the buttons. With linuxraw i could manage to configure the first controller via rgui menu. But seemed to have no effect. The drawback not using udev is that with linuxraw the xbox controller is not autoconfigured.

@Lakka-devs: Would it help that you create a autoconfig file for that controller? I tried myself, but the folder is not writable.

2 Likes

Additonal information. The controllers are working with Retropie. Retropie uses also retroarch, but it’s not openelec as base system. Retropie is OK, but i like Lakka more for the usability, looks and hardware support. Retropie is a hassle to configure. Although it has a beautiful rom launcher, it show linux messages when ending a game. That is annoying. Also no X86 support.

http://forum.8bitdo.com/thread-349-1-1.html

I’d like to see support for these also, I’ve been meaning to buy one for a while!

I also have problems with getting Lakka (on rPi1) to detect my 8Bitdo NES30 and 8Bitdo SFC30 controllers when they are connected via Bluetooth (mode START and mode START+R), when connected via USB they works fine. NB: I have made a custom RetroArch-AutoConfig-Folder on Lakka (rPi1) with added autocfg-files for 8Bitdo NES30 and 8Bitdo SFC30 controller connection variants.

My Sony PlayStation3 DualShock3 controller works fine via Bluetooth on Lakka (on rPi1). My 8Bitdo NES30 and 8Bitdo SFC30 controllers works fine via Bluetooth (mode START and mode START+R) and USB on my Ubuntu PC (x64) with RetroArch and with the same added custom autoconfig-files for the 8Bitdo controller connection variants as I used on Lakka (rPi1).

Here is my results from testing:


# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dmesg - Lakka - PS3
# Lakka-RPi.arm-devel-20150529164419-r21027-g43f71a8.img


[ 8486.150119] input: PLAYSTATION(R)3 Controller as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:41/0005:054C:0268.001C/input/input18
[ 8486.165737] sony 0005:054C:0268.001C: input,hidraw0: BLUETOOTH HID v1.00 Joystick [PLAYSTATION(R)3 Controller] on 99:88:66:00:23:48


[ 8546.402307] usb 1-1.2: USB disconnect, device number 11
[ 8578.609056] usb 1-1.2: new full-speed USB device number 12 using dwc_otg
[ 8578.724785] usb 1-1.2: New USB device found, idVendor=054c, idProduct=0268
[ 8578.724830] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8578.724847] usb 1-1.2: Product: PLAYSTATION(R)3 Controller
[ 8578.724866] usb 1-1.2: Manufacturer: Sony
[ 8578.798900] input: Sony PLAYSTATION(R)3 Controller as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.001D/input/input19
[ 8578.810160] sony 0003:054C:0268.001D: input,hiddev0,hidraw0: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-bcm2708_usb-1.2/input0
[ 8589.416604] usb 1-1.2: USB disconnect, device number 12


# RetroArch = OK.








# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dmesg - Lakka - 8Bitdo SFC30-USB
# Lakka-RPi.arm-devel-20150529164419-r21027-g43f71a8.img
# 8Bitdo Firmware v2.61 (2015-06-06).


[ 9078.642077] usb 1-1.2: new full-speed USB device number 14 using dwc_otg
[ 9078.739035] usb 1-1.2: New USB device found, idVendor=1235, idProduct=ab11
[ 9078.739075] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 9078.739091] usb 1-1.2: Product: FC30  Joystick
[ 9078.739106] usb 1-1.2: Manufacturer: FC30              
[ 9078.789894] input: FC30               FC30  Joystick as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:1235:AB11.0020/input/input22
[ 9078.794883] hid-generic 0003:1235:AB11.0020: input,hidraw0: USB HID v1.10 Joystick [FC30               FC30  Joystick] on usb-bcm2708_usb-1.2/input0


# RetroArch = OK.
# Autocfg = https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo-SFC30-GamePad-USB.cfg


# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dmesg - Lakka - 8Bitdo SFC30-BT(START)
# Lakka-RPi.arm-devel-20150529164419-r21027-g43f71a8.img
# 8Bitdo Firmware v2.61 (2015-06-06).


[ 9245.896820] hid-generic 0005:2810:0009.0021: unknown main item tag 0x0
[ 9245.911324] input: 8Bitdo SFC30 GamePad as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:39/0005:2810:0009.0021/input/input23
[ 9245.925941] hid-generic 0005:2810:0009.0021: input,hidraw1: BLUETOOTH HID v1.00 Keyboard [8Bitdo SFC30 GamePad] on 99:88:66:00:23:48


# RetroArch = NOT DETECTED. Don't show at all inside RetroArch.


# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dmesg - Lakka - 8Bitdo SFC30-BT(START+R)
# Lakka-RPi.arm-devel-20150529164419-r21027-g43f71a8.img
# 8Bitdo Firmware v2.61 (2015-06-06).


[ 9878.724228] hid-generic 0005:2810:0009.0023: unknown main item tag 0x0
[ 9878.740724] input: 8Bitdo SFC30 GamePad Joystick as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:39/0005:2810:0009.0023/input/input25
[ 9878.752534] hid-generic 0005:2810:0009.0023: input,hidraw0: BLUETOOTH HID v1.00 Keyboard [8Bitdo SFC30 GamePad Joystick] on 99:88:66:00:23:48


# RetroArch = NOT DETECTED. Don't show at all inside RetroArch.








# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dmesg - Ubuntu - 8Bitdo SFC30-USB
# Ubuntu Linux 3.19.0-21-generic #21~14.04.1-Ubuntu SMP x86_64.
# 8Bitdo Firmware v2.61 (2015-06-06).


[23898.965949] usb 1-4: new full-speed USB device number 18 using xhci_hcd
[23899.094907] usb 1-4: New USB device found, idVendor=1235, idProduct=ab11
[23899.094911] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[23899.094913] usb 1-4: Product: FC30  Joystick
[23899.094915] usb 1-4: Manufacturer: FC30
[23899.096176] input: FC30               FC30  Joystick as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:1235:AB11.0022/input/input49
[23899.096314] hid-generic 0003:1235:AB11.0022: input,hidraw1: USB HID v1.10 Joystick [FC30               FC30  Joystick] on usb-0000:00:14.0-4/input0


# RetroArch = OK.
# Autocfg = https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo-SFC30-GamePad-USB.cfg


# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dmesg - Ubuntu - 8Bitdo SFC30-BT(START)
# Ubuntu Linux 3.19.0-21-generic #21~14.04.1-Ubuntu SMP x86_64.
# 8Bitdo Firmware v2.61 (2015-06-06).


[24758.055949] hid-generic 0005:2810:0009.0023: unknown main item tag 0x0
[24758.056069] input: 8Bitdo SFC30 GamePad as /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/bluetooth/hci0/hci0:256/0005:2810:0009.0023/input/input50
[24758.056305] hid-generic 0005:2810:0009.0023: input,hidraw1: BLUETOOTH HID v1.00 Keyboard [8Bitdo SFC30 GamePad] on 28:b2:bd:78:cb:42


# RetroArch = OK.
# Autocfg = https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo-SFC30-GamePad-Bluetooth-Mode(START).cfg


# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dmesg - Ubuntu - 8Bitdo SFC30-BT(START+R)
# Ubuntu Linux 3.19.0-21-generic #21~14.04.1-Ubuntu SMP x86_64.
# 8Bitdo Firmware v2.61 (2015-06-06).


[24891.935505] hid-generic 0005:2810:0009.0024: unknown main item tag 0x0
[24891.935612] input: 8Bitdo SFC30 GamePad Joystick as /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/bluetooth/hci0/hci0:256/0005:2810:0009.0024/input/input51
[24891.936057] hid-generic 0005:2810:0009.0024: input,hidraw1: BLUETOOTH HID v1.00 Keyboard [8Bitdo SFC30 GamePad Joystick] on 28:b2:bd:78:cb:42


# RetroArch = OK.
# Autocfg = https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo-SFC30-GamePad-Bluetooth-Mode(START%2BR).cfg

Ok, maybe the version of RA shipped in the release is old, and that makes the difference? You can try the nightly builds and tell me?

So how would one go about setting up the 8bit controllers on a Raspberry Pi 2?

You connect it the same way as in the doc for connecting the PS3 controller. http://www.lakka.tv/doc/Wireless-Dualshock/

Additional to the documentation in the link above I had to use the “scan on” command inside the bluetoothctl tool to enable scanning for searchable Bluetooth devices and their <device_addr>, use the command “scan off” to disable the scanning when you are done scanning.

I recommend you upgrade the 8bitdo firmware on your controller to the latest version so you get the new Bluetooth START+R power on mode (digital works as a joystick), in normal Bluetooth START mode (mode 1) the digital works as keyboard arrow keys. You find the firmware and instructions at http://8bitdo.com/.

At the moment for me, Lakka on rPi1 (Lakka-RPi.arm-devel-20150529164419-r21027-g43f71a8.img) do not recognize my 8bitdo controller(s) inside retroArch when connected via Bluetooth. connected via USB works fine. I will upgrade to a nightly build later today to see if it fixes the problem.

I have not testet Lakka on my rPi2, I believe Lakka is the same version in the image for rPi1 and for rPi2, the Lakka image for rPi2 is in status “Work in Progress”.

With “Start+R” it won’t work either. Already tested. It still appears as Keyboard in Lakka(Openelec). See Github Thread https://github.com/libretro/Lakka/issues/152 As the controllers appear as Joysticks under Windows with Blueetoth, i think that it is a driver/bluetooth stack issue in openelec.

Hmm. I take my last sentence back. I compared the hid id’s in the log files. Since Retroarch in Ubuntu is working with keyboard mode, it’ll be most likely a retroarch vesion issue as Kivutar mentionend.

@paalfe, can you test the autoconfig files with linuxraw instead of udev? input_driver = “linuxraw” Possibly the button id’s might be different when using linuxraw. Is there any tool to check the button id’s in Lakka? In Retropie you could use the tool jstest.

The latest nightly ships RA 1.2.2 I think.

autoconfig files do not work with linuxraw.

[QUOTE=jayp76;25863]@paalfe, can you test the autoconfig files with linuxraw instead of udev? input_driver = “linuxraw” Possibly the button id’s might be different when using linuxraw. Is there any tool to check the button id’s in Lakka? In Retropie you could use the tool jstest.[/QUOTE]

autoconfig files do not work with linuxraw.

I have upgraded my rPi1 from Lakka-RPi.arm-devel-20150529164419-r21027-g43f71a8.img to Lakka-RPi.arm-devel-20150719121625-r21067-gb1a3d7d.kernel + Lakka-RPi.arm-devel-20150719121625-r21067-gb1a3d7d.system, and I deleted the retroarch.cfg file. This version includes the latest 8bitdo autoconfig files.

RetroArch still won’t see the 8bitdo controllers when connected via Bluetooth, they do not show at all in retroarch > settings > input > user 1 device index. It says “N/A (Port #0)”. When the 8bitdo controllers is connected via Bluetooth I do get /dev/input/js0, /dev/input/event1 and /dev/input/mouse1.

Maybe something is wrong in our kernel or udev rules?

Thanks for all of your help, it made a bunch of nerds happy.

Let me know if you want me to test again, when there is a reason for testing :slight_smile:

Whenever I’m not in so much debt, I’ll definitely grab a bluetooth controller and I’ll fiddle until either the controller breaks or I get it. My current job would give me the free time at work to have endless hours to invest into attempting to get it to pair seemlessly. Until then…

Installed Lakka-Generic.x86_64-devel-20150728020643-r21120-gb6541ab.img on a PC, connected my 8bitdo controllers via bluetooth and they do not work here either. Seems like the problem is in Lakka, not RetroArch itself since the controllers works fine via bluetooth if using RetroArch on Ubuntu.

Ok, we may need a kernel module. Any idea of which one?