RPi 3 B+ : tricky bluetooth problem with multiple PS3 controllers
-
Hi every one!
As the title says,
I have troubles with bluetooth of my Raspberry pi 3 B+,
with multiple PS3 controllers.
I have installed last version of Retropie and updated it.So,
- with 1 controller : the connection is perfect.
- with 2 (or higher) : buttons don't respond correctly
(freeze and repeated buttons or not responding) in emulation station AND in games.
It's like a conflict of the two controllers.
somebody on Facebook told me about "diff signal".
(info: the controller 2 takes more time to connect)I have tested bluetooth with 3 differents PS3 controllers:
same problem, so it's not the controllers.
I have tested appairing on all USB ports (uninstall/install PS3 driver in between)
And I have tested with a fresh install of Retropie too.I have conscientiously installed controllers following tutorials
and I have tried "sudo pi-bluetooth" script.
None of these manipulations have changed the situation.And weird problem:
I have a wired fake SNES controller
and it works in EmulationStation
but in games, it doesn't respond at all.
Moreover, this gamepad blocks every controller:
PS3 bluetooth or wireless keyboard.
So I can't combine bluetooth and wired to play with friends.Does anybody has seen this kind of bluetooth problem/conflict before?
Is it possible that the Raspberry itself has a hardware/software problem?By advance,
thank you for reading this and for your help! -
@Bunnyface Please add more info about your system, as requested in https://retropie.org.uk/forum/topic/3/read-this-first.
Try removing the PS3 driver, reboot and then and install thecustomhidsonly
driver from the RetroPie-Setup driver packages. This should make the PS3 controllers use the PI's bluetooth stack. -
@mitu
Sorry, I confess I read the rules quickly :(• Pi Model or other hardware:
3 B+• Power Supply used:
non-official with on/off switch• RetroPie Version Used :
v4.4 (updated)• Built From:
Pre made SD Image on RetroPie website• Controller used:
PS3 controller (bluetooth) / fake SNES USB / wireless keyboardI'm gonna try the customhidsonly driver, thank you very much for your help!
-
@Bunnyface If @mitu ttipps will for some reason not work then ...
- Try reducing distance from your controller to Raspberry
- Try to disable WiFi - this helps to extent signal strength, you can use this script to disable/enable Wifi
I faced also this problem and point 2 helps a bit but the solution for me was point 3
- Buy a new BT adapter and put it to your Raspberry. Use
dtoverlay=pi3-disable-bt
in/boot/config.txt
to disable internal BT module.
-
@cyperghost Thank you for your help!
I have tried @mitu's solution
but the standard bluetooth is not as stable as PS3 driver:
controllers don't connect directly, I have to plug them with USB to switch them on.Moreover with pi's bluetooth stack;
- one controller: works fine in EmulationStation and games
- two controllers: work fine in EmulationStation but no response in games.
So I remove bluetooth devices and try to reconnect them but it fails now...
The distance of the controllers doesn't have any impact on the BT signal.
I will try to disable wifi.@cyperghost, what BT adapter do you recommand?
And does this solution works flawlessly with 3-4 bluetooth controllers?
And can you add wired + bluetooth controllers at the same time?Again, thanks for helping me guys!
-
Try turning off your wifi connection. That works fine for me
-
@Bunnyface Uff.. I used kind of this one ... very cheap but works best. As I mentioned before try to disable WiFi. You can do it manually with
rfkill
command or use my script. No need to worry you can enable/disable WiFi on the fly with this.And does this solution works flawlessly with 3-4 bluetooth controllers?
Well I was in the same issue like you. With one controller I had lags from time to time (signal strength) but with 2 controllers it was no fun at all to play.
I can use that adapter with 2 controllers and they run flawless.And can you add wired + bluetooth controllers at the same time?
Yes but I've no PS-controllers. I've two Bluetooth controllers from Snakebyte and some cheap wired pads for first setups. So I can't say if a wired PS-controller and a PS-BT-paired will work. But my two BT controllers and a wired pad works good.
-
I can confirm that 4 genuine ps3 controllers will work with retropie as I use it most weekends this way.
My setup works flawless, I play many of ps1 multi tap games, alot of micro machines for the mega drive (4 players) and also alot of mame beat'em ups 4 players.
You must disable WiFi for it to work properly, I worked this out a while back.
All I do is disable WiFi then install the ps3 driver.
After that all works perfect.
Before disabling WiFi my player 1 controller would work fine but the others would work intermittent.
Hope this helps. -
@robmcc83 Nice feedback so indeed WiFi Switch Script is useful
@Bunnyface So try before buy
-
- two controllers: work fine in EmulationStation but no response in games.
Just an idea, am not an expert but is the second controller configured correctly in retroarch, Im only suggesting this cause I had the same problem with a friends pi I set up for him
-
@robmcc83 @cyperghost @chicuelo @mitu
Thank you again guys! It works!
I have disabled wifi with f4 "rfkill block wifi"
and the two controllers work flawlessly!
The controller 1 is connected instantly without wifi!@cyperghost, your script is awesome!
I don't need keyboard to switch off wifi now :)Just one tiny "problem" with the wifi off:
now, at the start of the Pi,
there is a boot text (code) between the splashscreen and EmulationStation
which says "bluetooth stopped" during 10 seconds
(and other infos loading)The only solution I see for this is to let the wifi on.
Having a nice boot with a cool splashscreen (and shorter boot)
And disable wifi with cyperghost's script.But maybe somebody has the solution to skip the 10 seconds "bluetooth stopped" text?
-
@Bunnyface Try disabling the
Wait for network
boot option in the Raspbian tools, which you can start from the RetroPie system from a terminal withsudo raspi-config
. -
@mitu
Thank you for this tip!
The boot is faster disabling "wait for network"
and I don't have this text between splashscreen and emulation station.So, for anybody having buggy bluetooth with 2 PS3 controllers
with a Raspberry Pi 3B+ and Retropie,
here is a solution:- disable wifi with [f4] "rfkill block wifi"
- disable wifi with @cyperghost 's script:
https://retropie.org.uk/forum/topic/19734/enable-disable-wifi-with-rfkill
Thanks again everyone,
we are going to have fun with my friends! :D
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.