Multiple PS3 controller via bluetooth frustration

Home Forums RetroPie Project Controller Configuration in RetroPie Multiple PS3 controller via bluetooth frustration

This topic contains 44 replies, has 15 voices, and was last updated by Profile photo of yves1984 yves1984 2 years ago.

Viewing 35 posts - 1 through 35 (of 45 total)
  • Author
    Posts
  • #86976
    Profile photo of ridle
    ridle
    Participant

    Hey guys,

    First of all I got to say, this some badass software 🙂
    All those games I used to play on my snes, awesome.

    Now my problem.
    I can not seem to activate more than one PS3 bluetooth controller at the same time. I can get my 2 controllers to activate separately.

    Now I read numerous tutorials on how to accomplish multiple PS3 controllers connected trough bluetoot and reinstalled everything about 12 times at this moment. I think I tried like, everything.

    The weird thing is, when I run sixad (sudo sixad –start), i can only connect one, it does not look any further for other to be connected controllers.

    Can anyone direct me in the right direction, it’s so frustrating.

    Thank you for your time.

    #86987
    Profile photo of kasgore
    kasgore
    Participant

    I am having the same issue.

    I even ran .sixpair with both controllers plugged in and the only controller that will connect is the first that I press the PS button on. I can reboot and do the other controller and it works but if I try pairing the second controller it just blinks.

    Looking for help to get both controllers attached via bluetooth at the same time so I can get some 2 player lined up! 😉

    #87007
    Profile photo of marv
    marv
    Participant

    i have the exact same problem.
    some people wrote, that when you get the controllers to work individually all you have to do then is to “parse the second controller”. i dont really get what it means. i am confused because various tutorials about this matter tell you to edit config files, that are either not there at all or are named differently or are at a different place. it seems the tutorials all relate to certain versions of retropie and obviously there were changes made to the location and naming of config files.

    https://dhoium3009.wordpress.com/raspberry-pi-connecting-multiple-ps3-controllers-via-bluetooth/

    i tried the above tutorial among others and i dont get where i should put the config lines for the second controller. what i did find was the declaration of the controllers index. i uncommented these lines in, without success..

    id like to hear someone explaining it on the most current version. that would be seriously cool!

    im so amazed by the speed of the rpi2 and the ability to emulate all those games from the past. thank you for that neat software project! 🙂

    #87074
    Profile photo of chyczewski
    chyczewski
    Participant

    Same issue here since I ran sudo apt-get update/upgrade

    Either controller connects with no issues as long as it is the first to do so. The second controller just blinks.

    #87080
    Profile photo of kasgore
    kasgore
    Participant

    I should have mentioned that I used the 2.5 image download and that is what I am seeing this issue with. Both controllers are Genuine PS3 controllers.

    That is interesting.. so did both of your controllers work up until you did a update/upgrade? I am not one of the smart people that I read helping people left and right on this forum but if that is the case it would seem a specific program update is causing this issue.

    I have been using Retroepie for a long while now with two controllers but it was an older version on the Raspberry Pi B model. I got my new shiny rpi2 and had to have the new retropie since they did such a good job at everything and the new UI looks amazing.

    I have tried 3 total bluetooth adapters with the same issue so it does not appear to be bluetooth dongle hardware related.

    Someone that is smarter than me, could you give me something to try by any chance? I would love to help the community by working on this until it is fixed.

    #87084
    Profile photo of chyczewski
    chyczewski
    Participant

    Yes I can confirm both of my genuine PS3 controllers worked via bluetooth (all LEDs blinking but working)

    I was getting ready for rpi2 and used my retropie image and just ran all the updates to support RPI2 (which it works same as my regular rpi).

    I ran update/upgrade and rpi-update (fw?) and retropie-setup.sh script and updated binaries. Once done, I notice my LEDs were not blinking on the controller anymore and it was assigned a correct profile but for the life of me I cannot get both controllers to connect on boot.

    I did manage somehow to get both of them assigned via bluetooth ONCE. Worked beautifully but a simple reboot and they do not work again. Running sudo ./sixpar in combination is how I got them to both work somehow. I can try to re-create the situation to confirm.

    I also have an old SD card with the old retropie image before the updates I can try to pop in and see if the problem persists.

    #87085
    Profile photo of chyczewski
    chyczewski
    Participant

    Ok I can confirm that you can get both controller working MANUALLY by doing this:

    press PS button on the first controller and wait until its assigned P1.

    run:

    sudo sixad –stop
    sudo sixad –start

    and when it tells you to press the PS button press the PS button on controller 2, I had this working but by no means is this a solution.

    I imaged my SD card with the image I had that had the controllers working. They act the same way, which leads me to believe when we ran raspi-update it updated some firmware which is persistent no matter what version of RetroPie is used.

    I am using a asus USB-BT211 dongle

    thanks!

    #87086
    Profile photo of kasgore
    kasgore
    Participant

    EDIT: THIS FIXED THE SDP ERRORS IN THE SIXAD LOG FILE BUT DOES NOT SEEM TO HAVE FIXED THE TWO CONTROLLER ISSUE.

    I think I was able to find the fix. If you could try this out and confirm I would greatly appreciate it!

    Go to /home/pi/Retropie-Setup/tmp/build/ps3controller/sixad/

    Edit the bluetooth.cpp file.

    Change line #218 to what you see below.

    Replace this:
    if (!legacy && req.vendor == 0x054c && req.product == 0x0268) {

    With this:
    if (!legacy) {

    #87089
    Profile photo of chyczewski
    chyczewski
    Participant

    Yes I have tried that in the past before, not sure what that does and since it did not fix my two controller issue, i restored it to original.

    At this point, I have tried several different versions of the RetroPie software, two different types of BT dongles (BT211 and BT400) paired fine individually but cannot get both controllers online at the same time. I am out of ideas..

    #87091
    Profile photo of chyczewski
    chyczewski
    Participant

    UPDATE:

    I was able to load an old image I had from several months ago and it works as it did before. Both controllers connect but the controller LEDs all blink non-stop. Functionally it is 100%

    I am pretty sure something with the apt-get update/upgrade, specifically with sixpair was changed. They fixed the profiles (LEDs get assigned) but this only works good with one controller. This needs to be fixed asap!

    When you run the script to install the ps3 controller from retropie-setup.sh it install a directory:

    /opt/retropie/supplementary/ps3controller

    In my old image this is not there, I have:

    /opt/retropie/supplementary/sixpair

    instead.

    I will do some more digging to see if I can make it work on the new image somehow. Maybe re-run the apt-get update/upgrade ONLY and see if that is what breaks it. But this will have to wait until I get some sleeeep.

    Thanks

    #87168
    Profile photo of ridle
    ridle
    Participant

    Hey chyczewski

    I hope you can find a way to figure this out. I am totaly not into linux. But I am willing to test things out for you.

    I have a raspberry pi 2 B+ model.
    If you want me to test things please write a tutorial and I will check things out.

    thank you for helping out anyway

    #87221
    Profile photo of kasgore
    kasgore
    Participant

    I have found a fix for this that I have tested multiple times. I am not sure of the best way to make this change sticky so it is not manual but I think this is the actual underlying issue.

    When I type “hciconfig” and I look at the output it will say “UP RUNNING PSCAN” and I will pair the first controller. Now this is the issue, I have noticed after the first controller if you run “hciconfig” again it will simply say “UP RUNNING” and that is it.

    If I then run “sudo hciconfig hci0 pscan” this puts it back into pscan mode and I can then pair the second controller.

    I am going to start my Google quest to see if I can now figure out why it is changing modes, maybe it is supposed to but it is indeed what causes the pair issue on the second controller it seems.

    #87247
    Profile photo of chyczewski
    chyczewski
    Participant

    Kasgore,

    Thats great news, I didn’t notice that before. Im wondering if we can run a script at boot up or some interval to force it into that mode.

    Thanks

    #87257
    Profile photo of chyczewski
    chyczewski
    Participant

    Guys,

    playing around this morning with the hciconfig I think I might of came up with a solution.

    open up /usr/bin/emulationstation

    and enter this below the #!/bin/bash:

    sleep 2
    sudo hciconfig hci0 up
    sleep 1
    sudo hciconfig hci0 pscan
    sleep 13

    For some reason my hcicofig is coming up DOWN so i force it UP first, then force it to scan. A ton of reboots and its working like a champ so far.

    Let me know if this works for you guys as well.

    The only thing that bothers me is that if no controller is connected on reboot (I dont press the button right away) I get emulationstation complaining about no gamepad detected. Before didnt matter if no controllers were connected it would just launch to the main screen.

    P.S.
    Kasgore, I ran the old image I had with the old software, which i never had issues pairing to, the only thing was that the LEDs would all blink, but controllers were rock solid. Anyhow, running hciconfig showed me its was in PSCAN all the time back then. I think its safe to assume forcing it to PSCAN all the time should not affect anything negatively.

    #87262
    Profile photo of ridle
    ridle
    Participant

    Definitely gonna try this out this weekend.
    Will reinstall/update all shit.

    Just a question, this is how i suppose to connect right:
    https://github.com/retropie/RetroPie-Setup/wiki/Setting-up-a-PS3-controller#for-older-versions-of-retropie

    And after that first one, just run

    sudo hciconfig hci0 pscan

    And connect the second one right?

    #87274
    Profile photo of chyczewski
    chyczewski
    Participant

    If you are starting fresh, I would download the latest retropie image and then run these commands as pi user:

    cd RetroPie-Setup
    sudo bash retropie_setup.sh

    That should open up the retropie screen then select:
    SETUP
    Install PS3 controller driver

    follow the on screen directions and you should be setup for the first controller. (It might complain that it cannot find the controller)

    REBOOT

    then run these commands as root:

    cd /opt/retropie/supplementary/ps3controller

    now plug in your first controller via usb and run:

    sudo ./sixpair

    this should set the MASTER for your controller to your Raspi BT dongle.

    now unplug the first controller and plug in the second controller and re-run:

    sudo ./sixpair

    same thing should happen.

    Modify the /usr/bin/emulationstation as described above and reboot

    should be golden

    #87331
    Profile photo of ridle
    ridle
    Participant

    OMG YES this works, you 2 guys are like gods to me.
    Thank you so much!!!

    Got 1 question though:
    I have my roms for the SNES in /home/pi/RetroPie/roms/snes
    This is the only snes emulator that the controllers work on, on the fly. But it is laggy sometimes (it stutters).

    I have the raspberry 2 B+. Set the memsplit to 256. How can i get the stuttering to stop?

    Please advice.

    #87335
    Profile photo of benthehen2010
    benthehen2010
    Participant

    After ages of trying to get this to work it finally does, cheers!

    #87341
    Profile photo of chyczewski
    chyczewski
    Participant

    OMG YES this works, you 2 guys are like gods to me.
    Thank you so much!!!

    Got 1 question though:
    I have my roms for the SNES in /home/pi/RetroPie/roms/snes
    This is the only snes emulator that the controllers work on, on the fly. But it is laggy sometimes (it stutters).

    I have the raspberry 2 B+. Set the memsplit to 256. How can i get the stuttering to stop?

    Please advice.

    What game are you trying to play? I know a game like starfox will be a bit choppy, forget about Doom. If its every game then I would say its something with your settings. I played snes on both the original raspi B+ and the raspi 2 B+. Never had issues with more than a couple of games. You can open up retroarch config WHILE playing a game. On my controller it is Select and Triangle. You can also try select and R1. There are a few “hidden” keys to load state, save state, and one of them is to open config. Once you get retroarch config open, you can play with those settings.

    I can share my settings if need be, I did not change anything from default tho. Thanks!

    #87342
    Profile photo of ridle
    ridle
    Participant

    I tried Super Mario World and Donkey kong. Both stuttered wile running and jumping and fast images.

    I think it is because i have my resoltion to high. Its at 1920 x 1080 at the moment.

    Gonna try to fiddle with that first because last weewerkek before i got both controllers working i did not stutyer but i changed the resolution. Got to be that i think.

    Can you share your oppinion?

    #87380
    Profile photo of kasgore
    kasgore
    Participant

    I have come up with a very easy way to fix the multiple PS3 controller connecting issue.

    It turns out the mode PISCAN which turns on ISCAN and PSCAN at the same time for the bluetooth fixes the issue. The command to manually do this is

    “sudo hcitool hci0 piscan”

    This will let both controllers connect perfectly. So the easy fix I did was just above the Exit 0 in the /etc/rc.local file I added a line that reads:

    “hcitool hci0 piscan”

    So when the PI boots it enables that mode automatically with a nice simple command.

    The other thing I have noticed is that for some reason when you first copy the 2.5 image to your card and boot it your bluetooth adapter is in the state down. This is easily fixed with

    “sudo hciconfig hci0 up”

    Once you do this a single time there is a line in the /etc/blueooth/main.conf that tells your PI to remember the last manual state set on the adapter so it will be automatically up the next time you boot it.

    As for the controller not detected screen if you do not get the controllers paired fast enough the quick and dirty work around is to add a sleep 10 or so timer so there is a delay, you could also echo something like “press the PS button now to pair your controllers” which would make this make a little more sense.

    I would love to find a way to get rid of that splash page all together but I may be ok at bashing my way through issues with the help of Google and a little smarts but I am not a code monkey so I that is better left to the real smart people. Maybe an option?

    By the way do any of the core developers read these so they can implement these things into a bug fix? Now it will be straight forward now that we have figured it out. 😉

    #87387
    Profile photo of chyczewski
    chyczewski
    Participant

    I tried Super Mario World and Donkey kong. Both stuttered wile running and jumping and fast images.

    I think it is because i have my resoltion to high. Its at 1920 x 1080 at the moment.

    Gonna try to fiddle with that first because last weewerkek before i got both controllers working i did not stutyer but i changed the resolution. Got to be that i think.

    Can you share your oppinion?

    I agree it has to be something you processed with the resolution. I am using the regular snes emulator (not snes-pisnes or snes-snes9xrpi) and everything works great, even starfox on my rpi2.

    #87388
    Profile photo of chyczewski
    chyczewski
    Participant

    I have come up with a very easy way to fix the multiple PS3 controller connecting issue.

    It turns out the mode PISCAN which turns on ISCAN and PSCAN at the same time for the bluetooth fixes the issue. The command to manually do this is

    “sudo hcitool hci0 piscan”

    This will let both controllers connect perfectly. So the easy fix I did was just above the Exit 0 in the /etc/rc.local file I added a line that reads:

    “hcitool hci0 piscan”

    So when the PI boots it enables that mode automatically with a nice simple command.

    The other thing I have noticed is that for some reason when you first copy the 2.5 image to your card and boot it your bluetooth adapter is in the state down. This is easily fixed with

    “sudo hciconfig hci0 up”

    Once you do this a single time there is a line in the /etc/blueooth/main.conf that tells your PI to remember the last manual state set on the adapter so it will be automatically up the next time you boot it.

    As for the controller not detected screen if you do not get the controllers paired fast enough the quick and dirty work around is to add a sleep 10 or so timer so there is a delay, you could also echo something like “press the PS button now to pair your controllers” which would make this make a little more sense.

    I would love to find a way to get rid of that splash page all together but I may be ok at bashing my way through issues with the help of Google and a little smarts but I am not a code monkey so I that is better left to the real smart people. Maybe an option?

    By the way do any of the core developers read these so they can implement these things into a bug fix? Now it will be straight forward now that we have figured it out. ;)

    Good find.

    I did have in the older build bypass that damn gamepad screen at boot. Even with no controllers connected at the time it went straight to the main menu. I will try to work on that next to figure that out, maybe there is a solution out there, need to look into it.

    I just signed up to this forum couple days ago pertaining to the ps3 BT issue. I really hope the developers are reading or maybe there is a way to request a bug fix and share the solution. As far as I know this is the only thread with the solution to this issue as I was scratching my head before this solution for some time.

    Thanks to everyone for all your hard work. Love the RetroPie!

    #87409
    Profile photo of chyczewski
    chyczewski
    Participant

    FIXED!

    If anyone is interested, to bypass the welcome, no gampad detected screen even with no controllers connected this is what I did to make it work everytime:

    plug in a USB keyboard and setup the buttons with the keyboard ONCE. Unplug keyboard and reboot. Should go straight to the main emulator menu.

    Thanks

    #87489
    Profile photo of crazyduck
    crazyduck
    Participant

    Hey guys,
    With the piscan method, i am able to connect two controller but not more. 🙁 maybe there is another problem

    #87517
    Profile photo of mabans
    mabans
    Participant

    I did the same thing then realized I didn’t pair the 3rd. I know it sounds silly but make sure it’s paired.

    Also as a general question, what about the PS3 button? I know it has a button ID of 16 but is there anyway to utilize it to exit out of an emulator? Seems like seemingly natural option.

    Finally, kudos to your guys figuring this out. I’ve followed the direction to the T and was about to succeed. Thank you.

    #87712
    Profile photo of kornbaby
    kornbaby
    Participant

    I have come up with a very easy way to fix the multiple PS3 controller connecting issue.

    It turns out the mode PISCAN which turns on ISCAN and PSCAN at the same time for the bluetooth fixes the issue. The command to manually do this is

    “sudo hcitool hci0 piscan”

    This will let both controllers connect perfectly. So the easy fix I did was just above the Exit 0 in the /etc/rc.local file I added a line that reads:

    “hcitool hci0 piscan”

    So when the PI boots it enables that mode automatically with a nice simple command.

    The other thing I have noticed is that for some reason when you first copy the 2.5 image to your card and boot it your bluetooth adapter is in the state down. This is easily fixed with

    “sudo hciconfig hci0 up”

    Once you do this a single time there is a line in the /etc/blueooth/main.conf that tells your PI to remember the last manual state set on the adapter so it will be automatically up the next time you boot it.

    As for the controller not detected screen if you do not get the controllers paired fast enough the quick and dirty work around is to add a sleep 10 or so timer so there is a delay, you could also echo something like “press the PS button now to pair your controllers” which would make this make a little more sense.

    I would love to find a way to get rid of that splash page all together but I may be ok at bashing my way through issues with the help of Google and a little smarts but I am not a code monkey so I that is better left to the real smart people. Maybe an option?

    By the way do any of the core developers read these so they can implement these things into a bug fix? Now it will be straight forward now that we have figured it out. ;)

    For me the hcitool hci0 command would not work. I did have success adding hciconfig hci0 piscan.

    I was wondering if anyone has been able to get the PS3 controller to work with pisnes. The pisnes emulator does not seem to recognize the PS3 controller at all.

    #87729
    Profile photo of crazyduck
    crazyduck
    Participant

    Thats true hcitool will not work, but hciconfig will.

    I am still not able to connect more than two controllers at a time, as least wireless. I have four controllers each of them will establish connection, if not two already connected.
    Where does sixad write logs?

    #87755
    Profile photo of chyczewski
    chyczewski
    Participant

    Thats true hcitool will not work, but hciconfig will.

    I am still not able to connect more than two controllers at a time, as least wireless. I have four controllers each of them will establish connection, if not two already connected.
    Where does sixad write logs?

    Not sure where the logs go. I just tested 3 PS3 controllers working fine. All of you controllers are paired? meaning you can get all of them to connect to retropie one at a time? You can get two at the same time at the most?

    Have you ran an updated retropie_setup.sh and installed ps3 controller (from the setup script)?

    after pairing 2 controllers when you run hciconfig what does it return?

    Thanks

    #88230
    Profile photo of cyrus
    cyrus
    Participant

    Hey everyone. Sorry for resurrecting this thread, but figured my question was closely related to the issue previously discussed.
    After reading through here and many other websites, everything seems to set up nicely. I have managed to get two PS3 controllers connected via Bluetooth and when I enter:
    “cd /dev/input/
    ls”

    it lists both controllers as being connected. The issue I have is when I boot up Super Mario World on SNES (as an example), only one PS3 controller is recognized in yellow text at the bottom of the screen. Furthermore, when I play a 2-player game, only the player 1 controller works (I.e. it has to be passed back and forth). Any ideas on how I can get the second controller working?
    I am very new to all of this, so any help is appreciated.
    Thanks!

    #88922
    Profile photo of
    Anonymous

    This works, thanks!

    #88955
    Profile photo of mabans
    mabans
    Participant

    Something to add.
    if you add
    sudo ~/./sixpair
    to /usr/bin/emulationstation along with the changes suggested by chyczewski you can pair your PS3 controllers on boot up just like the PS3. I’ve tested it on about 9 different controllers and it worked consisently. Pluging up 2 3 at a time. (1 usb port reserved for BT dongle)

    #93098
    Profile photo of husar
    husar
    Participant

    I think I have finally been able to get both of my controllers now connecting at boot. I did pretty much what was detailed in this thread. My one question is about the red lights on my PS3 controllers. They both show as #2. Is that normal? I would think that I should have one as #1 and the other as #2, no?

    UPDATE #1: Just after posting this I tried a game and I don’t have any controls working even though both controller at boot are found as Bluetooth controllers. This is very frustrating. I am rebooting again and see what the deal is.

    #93100
    Profile photo of kmhamel
    kmhamel
    Participant

    I think I have finally been able to get both of my controllers now connecting at boot. I did pretty much what was detailed in this thread. My one question is about the red lights on my PS3 controllers. They both show as #2. Is that normal? I would think that I should have one as #1 and the other as #2, no?

    UPDATE: Just after posting this I tried a game and I don’t have any controls working even though both controller at boot are found as Bluetooth controllers. This is very frustrating. I am rebooting again and see what the deal is.

    I had the same problem. Turn on your controllers one at a time. Don’t turn on the second until the first is booted. Do you have any other usb joysticks installed taking up the js0 position. I had a encoder board that would take up the js0 position and the ps3’s would take the js1 and js2 position (player 2 and 3 on the leds)

    #93102
    Profile photo of husar
    husar
    Participant

    Okay, when do you turn on each controller and make is searchable? After start up and ES has started or during the boot process of the RPi?

    I have no other controllers attached.

    Also, should they be wire or unwired at boot?

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

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

Skip to toolbar