RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Made some progress on 2 Generic (Shanwan) PS3 Controllers via Bluetooth on Pi 3 & RetroPie 3.6

    Scheduled Pinned Locked Moved Help and Support
    9 Posts 3 Posters 10.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Prindle19P
      Prindle19
      last edited by

      Looks like others are having problems getting PS3 (OEM or generic) controllers working with RetroPie 3.6 and the Raspberry Pi 3.

      I have successfully paired 2 of these generic controllers and had them both working in EmulationStation on a Pi 3 with RetroPie 3.6; mostly.

      Just a bit of background on why I'm going down this road, I'm trying to spec out a performant RetroPie build for ~$100 for myself and some friends and family who are interested in building their own.

      I've got an Amazon list that puts together a nice little system with a Pi 3, 64GB MicroSD, Case, Power Adapter, Heatsinks, 6' HDMI Cable, and 2 Generic PS3 Dualshock 3 Controllers for ~ $103 - I think that is a great price!

      The Pi 3's performance + integrated Wifi and Bluetooth seems like the simplest path forward; I didn't like having to use a WiFi dongle and Xbox dongle on my Pi 1 - too much "stuff" hanging off.

      And, I do NOT want to spend $45 EACH for USED OEM Dualshock 3 controllers for a lastgen console - that is crazy. If you can find them at GameStop or Ebay, they're more than the Pi 3 for each one!

      So, for $23 I'm pretty happy with these Generic (Shanwan) Dualshock 3 controllers, assuming I can get them working!

      I built the system and installed RetroPie 3.6 today. I tried to use the instructions here to set up the controllers.

      There is a nice menu in the RetroPie Setup that says that it allows you to install / pair PS3 Controllers. (It has install options for OEM, Shanwan, and Gasia clones). When I plug in the controllers linked above and do a dmesg, I see Shanwan, so, I assume the ones I have are Shanwan clones. (This could be wrong).

      I installed the Shanwan clone and then plugged in the first controller via USB as instructed and after a few seconds, the controller started rumbling and the lights went from all 4 blinking to just lights 2 and 3 blinking.

      I disconnected the USB and pushed the "PS" button, but nothing happened and eventually the controller turned off.

      With the USB connected, I figured I should be at least able to use the controllers in emulation station; they worked fine in jstest and on a windows machine. EmulationStation discovered the gamepad, however, button presses would not register in the EmulationStation controller config.

      I found @MameKid 's post on this forum about a hotfix for having EmulationStation recognize the PS3 controller (via USB) and that took quite some time but it did work (via usb)!

      Still wanting to get the bluetooth to work, I dropped to the console and tried to mess around with sixpair and i didn't see any bluetooth interfaces.

      It dawned on me that maybe RetroPie 3.6 image didn't enable the onboard bluetooth. I confirmed this and found that I needed to run:

      sudo apt-get install pi-bluetooth

      Then, sixpair would show a bluetooth controller / mac address.

      Once I did that, with the controller connected via USB, I was able to run sixpair, and then

      sudo sixad --start

      I could then remove the USB cable and then, when I hit the PS button.... I saw a message that a PlayStation controller was paired!

      When I connected the second controller, it did the same sort of thing - although it lit up buttons 123 - I'm guessing this is showing that it is being identified as a different controller than the first one (which had lit up 2&3) ?

      I then removed the USB connection, hit the PS button and the second controller paired.

      Now, both controllers had all 4 lights blinking, (not 1 & 2 respectively as you'd expect) - but, they appeared to be paired....the problem was, sixad was still running and I couldn't do anything. If i hit Ctrl+c to kill sixadd and then start emulationstation, no gamepads were found.

      It dawned on me to instead run sixadd --start & which let me repeat the pairing process and then run emulationstation with sixadd still working.

      EmulationStation reported 2 gamepads found - both were connected via Bluetooth!

      I configured them both, and the EmulationStation GUI responded as expected to both!

      However, this is about as far as I got; neither controller worked for SNES or Genesis games, even though I could launch them from ES. They both showed something like "PlayStation controller 0/0 not configured" when launching and there was essentially no controller in the emulator.

      I also tried rebooting, and, even making sure I hit the PS button on both controllers at boot time, neither paired and EmulationStation started no gamepads found.

      I tried to add sixadd to the boot configuration using:

      sudo update-rc.d sixad defaults but that did not appear to make a difference.

      So, I think there is some progress here, I just can't them to survive a reboot or work in games.

      Any help would be appreciated; I'll even offer to send a pair of these to someone on the project to get them officially supported and reliable. :)

      1 Reply Last reply Reply Quote 0
      • M
        mauruco
        last edited by mauruco

        RaspberryPi3 with Bluetooth PS3 controller (Original, garsia, Shanwan) crash the system. This is a bug with no solution yet. Perhaps the best thing and expect this error to be fixed. see https://github.com/raspberrypi/linux/issues/1360

        1 Reply Last reply Reply Quote 0
        • Prindle19P
          Prindle19
          last edited by

          Ok, that is good to know, but, feel this (the successful paring and surviving of reboots) of the PS3 controllers can be handled separately than the eventual crash issue.

          As for the controller working in emulation station but not in games, I checked to see that udev was already set, and it was. But that didn't work.

          I found this video from @herb_fargus that showed how to set the controller config in retroarch; not sure why this doesn't get set from the EmulationStation configuration like it did with my Xbox 360 controllers, but once I did the steps here, the controller showed as configured at game launch and worked as expected in the games.

          1 Reply Last reply Reply Quote 1
          • Prindle19P
            Prindle19
            last edited by

            Ok, I made some progress with getting sixad to survive reboots so now every reboot you can re-pair the controllers via dropping to the command line, running sixadd --start & and then going back into emulationstation.

            For whatever reason, running** sudo update-rc.d sixad defaults ** didn't do anything. Well, it did make sixad service start up, but, it didn't actually work.

            I found an issue from the retropie GitHub where joolswills mentioned he had success by adding

            sixad –start in rc.local

            I tried this, but, it ended up halting startup waiting for sixad events.

            But, if you include an & it works, emulationstation boots up, and at any time you can hit the p3 button and you'll be paired. You'll still see the "no gamepad" screen, but, once the controller(s) is paired, you can just hit left or right and it will work as intended.

            To recap:

            sudo nano /etc/rc.local
            Add:

            “sixad --start &”

            Without the quotes above:
            “Exit 0”

            OrnitorickO 1 Reply Last reply Reply Quote 0
            • OrnitorickO
              Ornitorick @Prindle19
              last edited by

              Hey @Prindle19 , did you succesfull paired at the same time 2 generic PS3 cotnroller via bluettoth ?

              Prindle19P 2 Replies Last reply Reply Quote 0
              • Prindle19P
                Prindle19 @Ornitorick
                last edited by

                @Ornitorick yes. have paired 4 of them actually

                1 Reply Last reply Reply Quote 0
                • Prindle19P
                  Prindle19 @Ornitorick
                  last edited by

                  @Ornitorick heres details of how i did it with adding a 3rd party dbt dongle: https://retropie.org.uk/forum/topic/265/bluetooth-with-ps3-sixaxis-still-not-connecting/7

                  OrnitorickO 2 Replies Last reply Reply Quote 0
                  • OrnitorickO
                    Ornitorick @Prindle19
                    last edited by

                    @Prindle19
                    Nice! Thank you, ill try this. I alredy have succesfull paired one controller, but the second juts dont pair....
                    Let se what can i get!

                    1 Reply Last reply Reply Quote 0
                    • OrnitorickO
                      Ornitorick @Prindle19
                      last edited by

                      @Prindle19 hum... the first one i can succesfull pair, but the second just work wen it is on the cable.
                      I cant pair the second controller wiresly .

                      Didi you have this trouble too, wen you was trying to resolve this?

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                      Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.