8Bitdo Bluetooth Controller Guide (Retropie v3)

Home Forums RetroPie Project Controller Configuration in RetroPie 8Bitdo Bluetooth Controller Guide (Retropie v3)

RetroPie has a new website and forum. Please visit https://retropie.org.uk/ for the new site. The new forum is located at https://retropie.org.uk/forum/. This forum is left here as a read-only archive.

This topic contains 47 replies, has 17 voices, and was last updated by Profile photo of slayer612 slayer612 1 year ago.

Viewing 35 posts - 1 through 35 (of 48 total)
  • Author
    Posts
  • #105079
    Profile photo of niftylifty
    niftylifty
    Participant

    I see a lot of people struggling setting up these controllers with Retropie v3. (myself included). There is a lot of disjointed information floating around that relates to older versions of Retropie. Anyway, I think I’ve finally got it sorted.

    Something to note, after ALOT of head scratching I found the BT on my TV and iPhone were causing interference from time to time, turned them off and my controller was connecting consistently.

    OK, I have found I need the pad in Joystick mode for this to work with the Pi – to do this HOLD START & Right Bumper for 3 secs to start the pad in joystick mode (you must be on latest firmware for this to work).

    Another side note I’m using a SFC30 (other pads should be the same) and a generic bluetooth dongle on a Pi2.

    Let’s begin…

    1. Get latest controller firmware (plug into your PC USB) follow 8bitdo guides for this.

    2. Power on Pi then Putty (ssh) to the Pi from PC or press F4 in emulationstation to get to command line.

    3. Type the following: (agree to any prompts)

    sudo apt-get install bluetooth bluez-utils blueman

    sudo apt-get install bluez python-gobject

    sudo nano /usr/bin/bluez-simple-agent

    EDIT THIS FILE: Once in you need to look for ‘KeyboardDisplay’ and change it to ‘DisplayYesNo’ (please type it as you see it here) Now hit Ctrl + x to save

    Now reboot the Pi with

    sudo reboot

    *************************************************************************

    4. HOLD START & Right Bumper (IMPORTANT) on your SFCS30 controller for 3 secs until it comes on

    Wait a for like 5 secs, then type:

    hcitool scan

    should then get your mac ID (XX:XX:XX:XX:XX:XX),

    type:

    sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX

    sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes

    sudo bluez-test-input connect XX:XX:XX:XX:XX:XX

    Now there should be a solid blue light on your controller

    *************************************************************************** ****

    5. Now hold the START on your controller until it turns off

    then reboot your raspberry pi

    At the RetroPie splashscreen loading hold START + RB on your controller to turn it back on

    your blue light should go solid when you get into emulation station

    Run the emulation station configure input wizard, if it doesn’t start automatically plug in a usb controller and click start to get to the configure input wizard.

    Then run RetroArch control input process (Under retropie menu in Emulation Station)

    ******If you want to start fresh or you feel it’s gone wrong:

    REMOVE BLUETOOTH PAIRING only type:

    bluez-test-device remove XX:XX:XX:XX:XX:XX

    REMOVE BLUETOOTH SOFTWARE PACKAGE:

    sudo apt-get --purge remove bluez

    This seems to be the only way I could get it to work properly. I have not tried with multiple bluetooth controllers yet, however I do use mine along with 2 other wired USB pads with no problems.

    • This topic was modified 1 year, 7 months ago by Profile photo of niftylifty niftylifty.
    • This topic was modified 1 year, 7 months ago by Profile photo of niftylifty niftylifty.
    • This topic was modified 1 year, 7 months ago by Profile photo of niftylifty niftylifty.

    #105093
    Profile photo of buzz
    buzz
    Keymaster

    tnanks.

    Instead of editing bluez-simple-agent try passing it the command parameter “-c DisplayYesNo”

    After checking the source it seems to use this parameter – it isn’t documented it seems. should save having to edit it (to force the security theme used)

    • This reply was modified 1 year, 7 months ago by Profile photo of buzz buzz.
    • This reply was modified 1 year, 7 months ago by Profile photo of buzz buzz.
    #105372
    Profile photo of alpine
    alpine
    Participant

    When trying to connect my SFC30 to RetroPie 3.0 on my Pi2, I receive the following error –
    ERROR:dbus.proxies:Introspect error on :1.3:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
    ..etc…

    I have followed the instructions above to the letter, am able to scan and locate the mac address of the controller but receive the error after typing –
    pi@retropie ~ $ sudo bluez-simple-agent hci0 00:00:00:00:00:00(mac address)

    I have updated the firmware on the controller and I am using a Belkin Bluetooth 4.0 dongle that works with Ps3 controllers. (Have tried 3 others)

    Any suggestions??
    Would love to get this working as my pi is now inside an old SNES and this completes it.

    #105427
    Profile photo of claytonbeaubien
    claytonbeaubien
    Participant

    I run into the same issue as Alpine (above). I am trying to connect a Snes30 Controller. It identifies my controller in hcitool scan but when i go to the next step i get the error:

    pi@retropie ~ $ hcitool scan
    Scanning …
    01:06:86:6D:60:0F 8Bitdo SNES30 GamePad

    pi@retropie ~ $ sudo bluez-simple-agent hci0 01:06:86:6D:60:0F

    ERROR:dbus.proxies:Introspect error on :1.2:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
    Traceback (most recent call last):
    File “/usr/bin/bluez-simple-agent”, line 102, in <module>
    path = manager.FindAdapter(args[0])
    File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 70, in __call__
    return self._proxy_method(*args, **keywords)
    File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 145, in __call__
    **keywords)
    File “/usr/lib/python2.7/dist-packages/dbus/connection.py”, line 651, in call_blocking
    message, timeout)
    dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

    #105429
    Profile photo of alpine
    alpine
    Participant

    I have just tried this on a fresh install of RetroPie V3 and it errors too, admittedly a different error.
    As per the below, I can scan and find the device and also ping it…

    pi@retropie ~ $ /etc/init.d/bluetooth status
    [ ok ] bluetooth is running.
    ——————–
    pi@retropie ~ $ hcitool dev
    Devices:
    hci0 5C:F3:70:6C:71:5A
    ——————–
    pi@retropie ~ $ sudo l2ping -c 1 FE:FC:7C:AD:9F:FE
    Ping: FE:FC:7C:AD:9F:FE from 5C:F3:70:6C:71:5A (data size 44) …
    0 bytes from FE:FC:7C:AD:9F:FE id 0 time 12.03ms
    1 sent, 1 received, 0% loss
    ——————–
    pi@retropie ~ $ sudo bluez-simple-agent hc0 FE:FC:7C:AD:9F:FE
    Traceback (most recent call last):
    File “/usr/bin/bluez-simple-agent”, line 102, in <module>
    path = manager.FindAdapter(args[0])
    File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 70, in __call__
    return self._proxy_method(*args, **keywords)
    File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 145, in __call__
    **keywords)
    File “/usr/lib/python2.7/dist-packages/dbus/connection.py”, line 651, in call_blocking
    message, timeout)
    dbus.exceptions.DBusException: org.bluez.Error.NoSuchAdapter: No such adapter

    #105442
    Profile photo of claytonbeaubien
    claytonbeaubien
    Participant

    I got my controller to finally connect. I had installed Sixad previously to use my ps3 controller and i guess it was interfering.

    I uninstalled Sixad:

    sudo apt-get –purge remove sixad

    the error went away, and i connected.

    I dont have full functionality out of the controller yet, sure i have to play with some config files, but its a start, i will edit the post if i get further.

    #105451
    Profile photo of zden
    zden
    Participant

    Hello

    Great topic, I tried myself following carefully this guide and it worked like a charm.

    However, when restarting the Pi, the controller does not seem to auto-reconnect (after holding R+Start, of course), so I have to do the connect command and kill EmulationStation every time for it to work.

    Are there any additional steps to take for it to auto-connect ?

    #105475
    Profile photo of Floob
    Floob
    Moderator

    Here is a video guide showing how I went about it

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #105533
    Profile photo of claytonbeaubien
    claytonbeaubien
    Participant

    i spent a few days frustrated, finally got this to work. The main thing i had to do was uninstall sixad (a previous bluetooth service i had installed for my ps3 controller) after that i followed this forum, just over half way down is a post by Grizzlema, he explains everything thouroughly and also attached config files, i used those config files to replace my existing ones and my controllers now work in every emulator… now to play some friggin games

    http://blog.petrockblock.com/forums/topic/the-old-story-setting-up-2x-8bitdo-nes30-bluetooth/#post-104511

    #105536
    Profile photo of Floob
    Floob
    Moderator

    Updated Wiki for Bluetooth here:
    https://github.com/RetroPie/RetroPie-Setup/wiki/Setting-up-a-Bluetooth-controller

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #105727
    Profile photo of ptitneo
    ptitneo
    Participant

    Hey everyone, I too was having issues with my SFC30 until I stopped sixad service.

    On top of that I use both a sixaxis gamepad and my 8bitdo (and my controlblock) on my Retropie, so right now it’s no longer possible to use the 8bitdo unless I manually stop sixad, connect the 8bitdo, then run sixad again and connect the PS3 controller. Not super easy:/

    The thing is, at some point it was working. I had the system working for maybe a month until the 8bitdo started to no longer connect a couple of weeks ago. So I’m wondering if a 8bditdo firmware update, or a retropie script or binary update broke my perfectly functional setup. Maybe it made sixad more agressive or start at a different time. Maybe it made my 8bitdo act differently. I can’t tell :/

    #106359
    Profile photo of BuffalAngeleno
    BuffalAngeleno
    Participant

    Hello,

    Complete noob here, just got a 8Bitdo controller for my birthday. I’ve been following Floob’s video (big thanks, great videos) to connect it via bluetooth for RetroPie but then I ran into the same problem as alpine and claytonbeaubien. I understand that I need to remove the Sixad I previously installed (and didn’t use), but I’m getting an error when I type in ‘sudo apt-get -purge remove sixad’.

    The error:
    E: Command line option ‘p’ from (-purge) is not known.

    I have a sneaking suspicion that the uninstall isn’t that simple, but I’m new to working in linux and need a bit more guidance. What am I doing wrong here? Thanks in advance!

    #106361
    Profile photo of Floob
    Floob
    Moderator

    @buffalangeleno
    I had a typo in the Wiki – try this
    sudo apt-get --purge remove sixad

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #106488
    Profile photo of wizard2k3000
    wizard2k3000
    Participant

    My 8Bitdo was working fine then today went to start up and play and wouldn’t pair. When I do the sudo bluez-test-input connect (address), it says org.bluez.Error Failed: Invalid Exchange (52). Any help would be greatly appreciated. Thank you

    #106490
    Profile photo of Floob
    Floob
    Moderator

    Maybe it became unpaired by holding select down too long? Run through the pairing process again and see how you go.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #106541
    Profile photo of atimmins
    atimmins
    Participant

    I have the SNES30 controller which works fine in emulationstation and in games, but I can’t seem to get the hotkeys to work for saving and loading save states. The controller config file at opt/retropie/configs/all has the following lines but they don’t seem to work;

    input_save_state_btn = “18”
    input_save_state_btn = “17”

    I know hotkeys have been enabled because it works to push select + start to exit the emulator. All the hotkeys for my original SNES controllers plugged in to a usb adapter still work fine.

    Is there some reason that I can’t use the shoulder buttons on the SNES30 controller for hotkeys? I saw a post on some other forum where someone said he could never get the shoulder buttons to work either, so he had to re-map the hotkeys to something else.

    Also, if my usb controller is plugged in and I used the 8bitdo controller, it will select the game from emulationstation, but I lose control once in the game. I’m guessing that it assumes the usb controller is player 1. Is there a way to make the 8bitdo controller have priority for player 1?

    #106620
    Profile photo of Floob
    Floob
    Moderator

    @atimmins Yes, there does seem to be an issue with the shoulder buttons on that model – I think it may relate to the firmware on the controller. Perhaps an update will come out to resolve that. In the meantime you could remap the hotkey to something else.

    To set a controller as P1, try plugging it into the top left usb port, and p2 into the bottom left port. (p3 is top right and p4 is bottom right).

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #106632
    Profile photo of atimmins
    atimmins
    Participant

    Floob, unfortunately I haven’t been able to update the controller firmware. It that maybe it doesn’t work with Windows 10 because the update button is always grayed out and cannot be clicked.

    #106651
    Profile photo of atimmins
    atimmins
    Participant

    I was able to update the firmware on my controller with a Windos 7 computer, however, ever since the update, it will not connect over Bluetooth. I tried repeating step 4 of Floob’s guide, but it tells me that device already exists and fails to connect. I even tried uninstalling bluez-utils blueman and bluez python-gobject and reinstalling them, but it made no difference. any ideas?

    #106938
    Profile photo of pucketbw
    pucketbw
    Participant

    I have the same “org.bluez.Error Failed: Invalid Exchange (52)” problem. Please help! Uninstalling and starting fresh doesn’t do anything.

    #110088
    Profile photo of tossy
    tossy
    Participant

    (Edit: I am using a newly, successfully installed RetroPie 3.2.1 on Raspberry Pie 2. The SNES30’s have the latest firmware)

    How does the process differ in the wiki article (https://github.com/RetroPie/RetroPie-Setup/wiki/Setting-up-a-Bluetooth-controller) if I have two SNES30 controllers?

    I followed all the instructions, and I set up both controllers for bluetooth with command lines and edited the startup file so both will automatically connect with each boot.

    On Step 4, my controller D-pads work fine in the GUI, but on the Emulation Station controller configuration the d-pads do not register as assigned keypresses, but just move the selection around. (edit: I have noticed when it’s looking for a controller button to be pressed, and if I press a SNES30 dpad, it will display “keyboard” as the to-be configured device.)

    On Step 5, I was able to configure my first controller using the described method. For the next controller, I did not delete the file again, and when I went into the “Configure input devices for RetroArch” tool, this time the screen goes completely black. Mashing buttons for a while will bring the screen back but with a bunch of timeouts and some assigned buttons to the config tool.

    In practice, I could play a NES game where P1 controller would work fine, but the P2 controller would also work fine except its dpad would control both player 1 and player 2.

    I’m somewhat worried that when I did the “cd /opt/retropie/configs/all/retroarch-joypads/
    ls -lah”
    Aside from my XBOX360 USB I had tried earlier, it only showed the one config file for my gamepads (there was a bak copy as well). I have noticed in Emulation Station my gamepads have identical names. Should there be a config file for each gamepad?

    This is proving to be far more complicated than I ever anticipated. If anyone can help me figure this out I would greatly appreciate it.

    • This reply was modified 1 year, 5 months ago by Profile photo of tossy tossy. Reason: more info
    • This reply was modified 1 year, 5 months ago by Profile photo of tossy tossy.
    #110103
    Profile photo of alpine
    alpine
    Participant

    Exactly the same problem for me word-for-word… I haven’t yet had time to investigate.
    Shall be watching this closely to see if you get a reply 🙂
    I’ll let you know if I figure it out.

    #110131
    Profile photo of Floob
    Floob
    Moderator

    What about if you boot the SNES30 into keyboard mode instead of joypad mode?

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #110138
    Profile photo of tossy
    tossy
    Participant

    I tried that but then RetroPie would not connect to the SNES30 on RetroPie bootup anymore. Thanks for your work on this, Floob, by the way.

    #110141
    Profile photo of Floob
    Floob
    Moderator

    Maybe it has a different mac if its in a different mode. I’ll try to check mine out soon and post back.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #110142
    Profile photo of tossy
    tossy
    Participant

    You know, I thought of that but I’m quite certain hcitool scan showed the same MAC addresses.

    Regarding the boot modes for these 8bitdo, I have seen online some people mention booting with Start-R, but I’m not sure what that is. The sheet for my SNES30 has Start for normal, Start-B for keyboard (two player mode keyboard, second one does Start-B-R).

    My original post here was using only normal mode for both, as per your Wiki guide, and it alllmost worked.

    #110154
    Profile photo of tossy
    tossy
    Participant

    So it’s the same MAC with Start-B (BT keyboard), but if I use Start-R (whatever that is, it’s not in the 8bitdo SNES30 manual, but from my research it’s gamepad mode with controller D-pad, not keyboard…sounds good, right?), it gets a different MAC address! Also a changed name: “8Bitdo SNES30 Gamepad Joystick” instead of “8Bitdo SNES30 Gamepad” So, something new to try.

    I repeated the same steps in the wiki, pairing, trusting, and connecting the two new MAC addresses, and adding these to the startup file. Both were connected fine, even after a RetroPie reboot, and I could then configure both controllers with ES and Retroarch configurator as described. (I still got a black screen with the second controller config, but if I pressed enter after starting, and started pressing the right buttons in order [memorized..] the screen would come back after a button press or two.) Both controllers worked fine simultaneously in a SNES game TMNT4, although START and SELECT were swapped, possibly my error on config process.

    SUCCESS! Except on next system boot, neither SNES30 would reconnect. On manual connection attempt “sudo bluez-test-input connect xx:xx:xx:xx:xx:xx”, I would get the message

    Traceback (most recent call last):
    File "/usr/bin/bluez-test-input", line 40, in <module>
      input.Connect()
    File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
      return self._proxy_method(*args, **keywords)
    File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
      **keywords)
    File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
      message, timeout)
    dbus.exceptions.DBusException: org.bluez.Error.Failed: Invalid exchange (52)

    And now I can’t get either controller to connect again. It appears a few others have had this but I’m not sure what the solution is…

    #110159
    Profile photo of sike
    sike
    Participant

    Hi, good night from Spain

    I have my SFC30 working perfect with your method, but there is something that i cannot solve

    If I power off the gamepad and turn on again, it not reconnects to the raspberry. I have spent hours changing options in the multiple bluethoot config files, but nothing seems to work

    If I restart the service everithing is fine

    P.D.: Both systems are updated, last firmware (gamepad) and updated system (raspberry)…same thing with a fresh install of retropie 3.2.1
    ASUS BT-400 (dongle) Raspberry Pi 2 (system)

    • This reply was modified 1 year, 5 months ago by Profile photo of sike sike.
    #110196
    Profile photo of Floob
    Floob
    Moderator

    @tossy What if you unpair the controllers and try to repair?
    bluez-test-device remove XX:XX:XX:XX:XX:XX

    @sike The command to connect is at step 3 here:
    https://github.com/RetroPie/RetroPie-Setup/wiki/Setting-up-a-Bluetooth-controller

    So it wont try again after that unless you manually try to connect at the command line.
    You could link a connect script to the RetroPie menu in emulation station to manually kick it off.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #110225
    Profile photo of tossy
    tossy
    Participant

    OK, so far things ARE WORKING PERFECTLY.

    First of all, I want to just say that I took the small step to get PuTTY so I could control my Pi from my Windows PC and it made a world of difference being able to copy and paste and see my screen etc. Everyone should do this.

    I can’t explain how the “Invalid exchange 52” problem was solved. I removed and re-added the devices many times, usually the error would persist. But now, after removing all the paired BT devices and just re-adding the Start-R booted SNES30, so far RetroPie is connecting everytime. *knock on wood*

    What ended up working for me? I have:
    two 8Bitdo SNES30 gamepads (firmware 2.63)
    RetroPie v2.3.1 on RPi 2.
    BT usb adapter (Kinivo)
    Wireless usb keyboard

    Boot SNES30 with Start-R (Joystick mode, I guess). It won’t appear to blink differently.
    Confirm it booted in the right mode with hcitool scan
    For me, instead of showing 01:06:F6:0E:xx:xx 8Bitdo SNES30 GamePad
    it would show FE:F9:09:F1:xx:xx 8Bitdo SNES30 GamePad Joystick

    Set up your first SNES30 as per Floob’s wiki instructions

    sudo bluez-simple-agent -c DisplayYesNo hci0 XX:XX:XX:XX:XX:XX
    sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes
    sudo bluez-test-input connect XX:XX:XX:XX:XX:XX

    Repeat the above for the second SNES30. Again, as per the wiki instructions, add sudo bluez-test-input connect XX:XX:XX:XX:XX:XX twice in the startup file, each line for each SNES30 MAC address.

    Now, as per instructions on the first page of this post we will modify the keyboard direction input in retroarch.cfg to nul.
    type sudo nano /opt/retropie/configs/all/retroarch.cfg
    under the Keyboard input section change
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down

    into ..

    input_player1_left = nul
    input_player1_right = nul
    input_player1_up = nul
    input_player1_down = nul

    My SNES30’s have been previously configured with Emulation Station, so I did not perform step 4 on the wiki guide.

    On to step 5, I ensured there was no retroarch .cfg file for my gamepads. Then I ran, from PuTTY, the RetroArch controller configuration script.
    sudo /home/pi/RetroPie-Setup/retropie_setup.sh
    Running this from PuTTY allowed me to avoid the prior bug I had where my TV screen would turn black near the beginning of the mapping. I believe I only had to do this with the one controller, since they are identical and write the same 8BitdoSNES30GamePadJoystick.cfg file anyway.

    I think that’s basically it. To use the SNES30’s, I just turn them on with Start-R just before or after turning on my Pi. The blue flashing turns to solid blue around the time Emulation Station splash screen comes on. I have tested in 2-player simultaneous games in NES and SNES that both controllers work great for P1 and P2 with no d-pad crossover as before. Hopefully some of this info can be helpful to others. In the meantime I hope that “Invalid exchange 52” bluetooth connection issue stays away.

    #110235
    Profile photo of pausuri
    pausuri
    Participant

    OK, so far things ARE WORKING PERFECTLY.

    First of all, I want to just say that I took the small step to get PuTTY so I could control my Pi from my Windows PC and it made a world of difference being able to copy and paste and see my screen etc. Everyone should do this.

    I can’t explain how the “Invalid exchange 52” problem was solved. I removed and re-added the devices many times, usually the error would persist. But now, after removing all the paired BT devices and just re-adding the Start-R booted SNES30, so far RetroPie is connecting everytime. *knock on wood*

    What ended up working for me? I have:
    two 8Bitdo SNES30 gamepads (firmware 2.63)
    RetroPie v2.3.1 on RPi 2.
    BT usb adapter (Kinivo)
    Wireless usb keyboard

    Boot SNES30 with Start-R (Joystick mode, I guess). It won’t appear to blink differently.
    Confirm it booted in the right mode with hcitool scan
    For me, instead of showing 01:06:F6:0E:xx:xx 8Bitdo SNES30 GamePad
    it would show FE:F9:09:F1:xx:xx 8Bitdo SNES30 GamePad Joystick

    Set up your first SNES30 as per Floob’s wiki instructions

    sudo bluez-simple-agent -c DisplayYesNo hci0 XX:XX:XX:XX:XX:XX
    sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes
    sudo bluez-test-input connect XX:XX:XX:XX:XX:XX

    Repeat the above for the second SNES30. Again, as per the wiki instructions, add sudo bluez-test-input connect XX:XX:XX:XX:XX:XX twice in the startup file, each line for each SNES30 MAC address.

    Now, as per instructions on the first page of this post we will modify the keyboard direction input in retroarch.cfg to nul.
    type sudo nano /opt/retropie/configs/all/retroarch.cfg
    under the Keyboard input section change
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down

    into ..

    input_player1_left = nul
    input_player1_right = nul
    input_player1_up = nul
    input_player1_down = nul

    My SNES30’s have been previously configured with Emulation Station, so I did not perform step 4 on the wiki guide.

    On to step 5, I ensured there was no retroarch .cfg file for my gamepads. Then I ran, from PuTTY, the RetroArch controller configuration script.
    sudo /home/pi/RetroPie-Setup/retropie_setup.sh
    Running this from PuTTY allowed me to avoid the prior bug I had where my TV screen would turn black near the beginning of the mapping. I believe I only had to do this with the one controller, since they are identical and write the same 8BitdoSNES30GamePadJoystick.cfg file anyway.

    I think that’s basically it. To use the SNES30’s, I just turn them on with Start-R just before or after turning on my Pi. The blue flashing turns to solid blue around the time Emulation Station splash screen comes on. I have tested in 2-player simultaneous games in NES and SNES that both controllers work great for P1 and P2 with no d-pad crossover as before. Hopefully some of this info can be helpful to others. In the meantime I hope that “Invalid exchange 52” bluetooth connection issue stays away.

    Thanks for the info, are you experiencing any troubles when you try to reconnect the Pad??

    #110264
    Profile photo of tossy
    tossy
    Participant

    Thanks for the info, are you experiencing any troubles when you try to reconnect the Pad??

    I tested again this morning, both SNES30 are reconnecting at startup still.

    #110853
    Profile photo of sike
    sike
    Participant

    Ok, I have fix my problem

    In /etc/rc.local, i have added this lines…

    /etc/init.d/bluetooth stop
    sleep 3
    dbus-send –system –dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discovereable
    sleep 3
    /etc/init.d/bluetooth start
    sleep 3
    hciconfig hci0 piscan

    I’m sure above that my problem, was not if the gamepad is trusted or not
    The key is that with my BT Adapter “BT-400 asus” only search for one instance at the begining and never more

    I know that “raspbian” uses a standard driver for the bluetooth device and maybe, the problem is that with other bluetooth devices, other “things” may ocurr

    For me, the problem is gone away

    Bye everyone, thanks

    #110862
    Profile photo of pausuri
    pausuri
    Participant

    Ok, I have fix my problem

    In /etc/rc.local, i have added this lines…

    /etc/init.d/bluetooth stop
    sleep 3
    dbus-send –system –dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discovereable
    sleep 3
    /etc/init.d/bluetooth start
    sleep 3
    hciconfig hci0 piscan

    I’m sure above that my problem, was not if the gamepad is trusted or not
    The key is that with my BT Adapter “BT-400 asus” only search for one instance at the begining and never more

    I know that “raspbian” uses a standard driver for the bluetooth device and maybe, the problem is that with other bluetooth devices, other “things” may ocurr

    For me, the problem is gone away

    Bye everyone, thanks

    Hi, I have the same problem as you, as the systems boots up I turn on the Snes pad and it pairs straight away but if the pad disconnects there´s no way to reconnect it.
    Could you please double check if everything is ok in my rc.local file?

    Cheers

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will “exit 0” on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.

    # Print the IP address
    _IP=$(hostname -I) || true
    if [ “$_IP” ]; then
    printf “My IP address is %s\n” “$_IP”
    fi

    /etc/init.d/bluetooth stop
    sleep 3
    dbus-send –system –dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discovereable
    sleep 3
    /etc/init.d/bluetooth start
    sleep 3
    hciconfig hci0 piscan

    exit 0

    #111160
    Profile photo of sike
    sike
    Participant

    Yes, your rc local file is right

    I would try the commands in a terminal first, and see if a error message appears..

    I tell you, and trust me, my method works fine, you can leve the raspberry on for days, and everytime i turn on the 8bitdo pad it works flawless

    Update the system, write a new password, whatch the entire menus of retropie looking for optimal options,….

    Check everithing, and tell me things

Viewing 35 posts - 1 through 35 (of 48 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar