Using a Generic PS3 Controller - Definitive Solution?
Hey guys! I'm aware that this question has very likely popped up in this forum multiple times... However, I still can't seem to find a definitive solution to this. I have 3 generic PS3 controllers. The first generic is one that I bought a few years ago. It looks nearly identical to the official controller, except that it was manufactured by a company called Shanwan. The other 2 remaining controllers were recently purchased from Amazon and are made by a company called IHK. Almost every resource/forum post/subreddit that I've read regarding my issue points me to one of these resources:
The RetroPie Wiki
This blog post
However, everything that I've tried based on these resources doesn't work for me. Things just don't go in the same way for me as it did for the writer. The biggest problem that I have is getting the controllers to connect via Bluetooth. I've followed these steps from the RetroPie Wiki so many times to the point that I can do them almost blindfolded (okay, maybe with a little bit of guidance lol):
- Navigate to the "RetroPie" icon in the Home Screen and select it using whatever key you mapped "A" to on your gamepad, and go to RetroPie Setup
- Once in the RetroPie GUI, choose [Manage packages] > [driver].
- Select PS3 Controller Driver ("ps3controller"), and then select [Install from source].
- Once installation completes, exit RetroPie setup and return to the EmulationStation Home Screen.
- Press "Start" to enter the EmulationStation Menu, and select Configure Input.
- Disconnect your PS3 controller from USB. Now hold the PS button on the controller down until you see the lights on it flash sequentially. The controller should now be connected via Bluetooth.
- Emulation Station should now detect another gamepad connected. Hold any button down on the controller to begin configuring it.
I've tried every driver available to get these generics to work wirelessly: the official PS3 driver, both of the Gasia drivers, and of course the Shanwan driver. None of them work. For each of the drivers, I try the following:
- I choose the "Pair controller" menu option.
- I connect the controller over USB, it always vibrates since it's a generic.
- I wait a few seconds and disconnect the USB. After that, I hit the PS button, the LEDs flash but I don't get any of them to stay lit.
- Furthermore, if I try to configure input, the controller isn't detected. It can be detected if I connect it to USB, but it just vibrates the entire time and that doesn't do me any good.
Also, I believe all 3 need the Shanwan driver since that's what appears in "Configure Input" when I connect the controllers over USB. But it could be that the software is mistakenly detecting the controller. In either case, the Shanwan driver from the setup menu doesn't work for these controllers.
Is there anything that I'm missing to get these controllers to work? I've also seen from another source that the Mayflash adapter seems to work with the RetroPie, even with generic PS3 controllers. Can anyone confirm this? And how well does it work? I'm using either the latest version of RetroPie or something close to it. I just setup my RP a few weeks ago and downloaded the software directly from the RP website. As always, any sort of assistance in this would be greatly appreciated. Thanks everyone!
Here are a few updates:
RetroPie version: 4.3
Model: Raspberry Pi 3 Model B (not the B+)
The exact version of RetroPie that I'm using is 4.3.16, based on the RetroPie setup script. Here's a screenshot from when I SSH into my RP:
Also, as you can see from the image, I've updated the setup script so that I'm using the latest and greatest. However, even with the latest script, I still can't seem to be able to setup my aftermarket/generic PS3 controllers.... Also, I know that just the Bluetooth component of my generics works fine. If I try using the Bluetooth configuration tool within the RP, it detects the generic PS3 controller:
So that says to me that the controller can be detected by the RP, it's not like they're not able to see each other at all. Out of curiosity, I tried connecting the controller through the Bluetooth tool, but it then asks me to enter a pin into the device... But I really can't do that with a PS3 controller lol
To add to my frustration over this, I was also looking over the reviews of the controllers that I bought through Amazon and it looks like others have been able to successfully connect these controllers to a RetroPie:
So seeing all of this tells me that there must be a way to get these darn controllers to work...
Does anyone know if there are any log files that I can look at to see the progress when trying to add my generic controllers? Is there something that the setup script generates which shows what's going on? Or at least from the BT perspective?
As always everyone, any sort of support on this is greatly appreciated :)
After installing the driver go to configuration within the driver package and install the Shanwan version of the driver.
@steeeb I've tried that. I've actually tried all 4 possible drivers and none of them seem to work for any of the three generic controllers. For each driver, I do the same thing:
- First, install the driver.
- I choose the "Pair" option for the respective driver.
- The dialog pops up to connect the controller through USB. I connect the controller for around 10s, and then disconnect it.
- I then press the PS button on the controller and.... The lights just flash repeatedly and none of them become solid, meaning that the controller wasn't able to connect.
I've probably tried the Shanwan driver the most but it's always the same result.