PS3 controller connection
-
I recognize PS3 controller connections are a common problem and I've read what I can but I am having issues connecting. I'm writing this asking for additional guidance.
I run retropie on a Raspberry Pi 4 with 2GB. I keep the installation up-to-date through running update on retropie-setup.sh.
I have what I believe is an OEM PS3 controller. I followed https://retropie.org.uk/docs/PS3-Controller/ as a guide and used
sixaxis
for bluetooth connection. I had no luck whatsoever and never even found the MAC address for the controller. I read https://approxeng.github.io/approxeng.input/api/dualshock3.html which told me that the PS3 controller needs the BT MAC of the Pi because of the unique way bluetooth works on these devices, so I usedsixpair
from http://www.pabr.org/sixlinux/sixpair.c to give the controller the bluetooth MAC of the Pi.Then I went to
bluetoothctl
on the Pi, and when I plug the controller in USB it asks to authorize the MAC for the controller and I reply yes. It does identify it as a Sony Playstation 3 controller. Itrust
the MAC address. I unplug the controller and hit the PS button, andbluetoothctl
tells me the controller is connected. That sounds great but pairing fails. And it quickly becomes disconnected and I am unable to re-connect.Then I move back to bluetooth in
retropie_setup.sh
, and when I try to connect and pair it asks to unplug the controller, hit the PS button, and plug it in again. I do so, and then when I connect and pair to the controller is gives me five security options, all of which fail when making the connection.Oh, and I did enable third party in
sixaxis
just in case this controller in not OEM.Admittedly I am paraphrasing a little in what I have written above, but I wanted to provide some context for what I have tried. I am not sure what else to try and have read what I could find searching these forums and other sources. Do you have any advice?
Thanks.
-
Please add the rest of the info requested in https://retropie.org.uk/forum/topic/3/read-this-first, including the exact RetroPie version you're using.
The PS3 has a special pairing process, that's why it needs a separate driver. Is you controller an original/genuine Sony or is it clone/3rd party ?
Make sure you're on the latest kernel/firmware version - if you've used RetroPie-Setup to run an update and answered Yes to update OS/Packages, then you already have them. Use the
sixaxis
driver to pair and make sure - before you start the pairing - that you removed any registered device from the Bluetooth menu.If that doesn't work, then remove again any device from the Bluetooth menu. Open a SSH session to the Pi. Before starting the pairing again run
bluetoothctl
from the SSH session and leave it running. Try to pair again - plug the controller via USB, unplug it when asked and then try to pair the device.
If it's not working again - then post any output from thebluetoothctl
session started via SSH. -
@mitu
Admittedly, I should have been a little better with the etiquette in asking my question. First, here is the info from read-this-first:Pi Model or other hardware: Pi 4B, 2GB RAM, revision b03114
Power Supply used: CanaKit 3.5A USB-C Power Supply with Noise Filtering
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): Setup script is 4.7.11 (88bf48ba) and I update all packages, including the OS regularly
Built From: Pre made SD Image on RetroPie website
USB Devices connected: Keyboard only
Controller used: Sony Playstation 3 Dualshock 3
Error messages received:
Verbose logĀ (if relevant):
Guide used: https://retropie.org.uk/docs/PS3-Controller/
File: N/A
Emulator: N/A
Attachment of config files: N/A
How to replicate the problem:In answers to your questions, I used RetroPie-Setup to run an update and I did answer Yes for updating OS/Packages. I installed
sixaxis
driver. I removed all registered devices from the Bluetooth menu. The first attempt failed. After removing all devices again, I used a SSH session runningbluetoothctl
and captured the output below. This time, when I used pair and connect it told me the controller was authenticated. However, the controller does not function. Oh, and it is an original Sony to the best of my knowledge (I bought it off of ebay, but it did come in original packaging).One comment I will make, when I do Pair and Connect the controller, the dialog box asks to "unplug the controller, press the PS button, and then replug the controller." This is different than what you've written in your message.
In the
bluetoothctl
output you can see it find the controller, it's MAC address, and the UUID.Thanks for the help.
pi@retropie:~ $ bluetoothctl Agent registered [CHG] Controller DC:A6:32:D0:02:DC Discovering: yes [NEW] Device 59:F3:06:F6:32:00 59-F3-06-F6-32-00 [NEW] Device E7:A7:5A:11:76:4B 9067640CCB5233ADE9 [NEW] Device 50:C4:04:20:A8:54 50-C4-04-20-A8-54 [NEW] Device 38:BE:80:57:EF:2D 38-BE-80-57-EF-2D [NEW] Device ED:BE:66:3A:12:C8 N0E21 [NEW] Device F8:04:2E:E1:90:03 [TV] UN60JU7100 [CHG] Device F8:04:2E:E1:90:03 TxPower: 0 [CHG] Device F8:04:2E:E1:90:03 Modalias: bluetooth:v04E8p8080d0000 [CHG] Device F8:04:2E:E1:90:03 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Device F8:04:2E:E1:90:03 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Device F8:04:2E:E1:90:03 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Device F8:04:2E:E1:90:03 UUIDs: 00001200-0000-1000-8000-00805f9b34fb [CHG] Device F8:04:2E:E1:90:03 ManufacturerData Key: 0x000f [CHG] Device F8:04:2E:E1:90:03 ManufacturerData Value: 00 01 4c ..L [DEL] Device 59:F3:06:F6:32:00 59-F3-06-F6-32-00 [DEL] Device E7:A7:5A:11:76:4B 9067640CCB5233ADE9 [DEL] Device 50:C4:04:20:A8:54 50-C4-04-20-A8-54 [DEL] Device 38:BE:80:57:EF:2D 38-BE-80-57-EF-2D [DEL] Device ED:BE:66:3A:12:C8 N0E21 [DEL] Device F8:04:2E:E1:90:03 [TV] UN60JU7100 [CHG] Controller DC:A6:32:D0:02:DC Discovering: no [CHG] Controller DC:A6:32:D0:02:DC Discovering: yes [NEW] Device 59:F3:06:F6:32:00 59-F3-06-F6-32-00 [NEW] Device 38:BE:80:57:EF:2D 38-BE-80-57-EF-2D [NEW] Device E7:A7:5A:11:76:4B 9067640CCB5233ADE9 [NEW] Device 50:C4:04:20:A8:54 50-C4-04-20-A8-54 [NEW] Device ED:BE:66:3A:12:C8 N0E21 [NEW] Device E5:41:54:1F:30:D8 N02JG [NEW] Device F8:04:2E:E1:90:03 [TV] UN60JU7100 [NEW] Device A0:5A:5C:4F:7E:F7 Sony PLAYSTATION(R)3 Controller [CHG] Device A0:5A:5C:4F:7E:F7 Trusted: yes [CHG] Device A0:5A:5C:4F:7E:F7 UUIDs: 00001124-0000-1000-8000-00805f9b34fb [CHG] Device E7:A7:5A:11:76:4B TxPower is nil [CHG] Device E7:A7:5A:11:76:4B RSSI is nil [DEL] Device E7:A7:5A:11:76:4B 9067640CCB5233ADE9 [CHG] Device F8:04:2E:E1:90:03 TxPower is nil [CHG] Device F8:04:2E:E1:90:03 RSSI is nil [CHG] Device E5:41:54:1F:30:D8 RSSI is nil [CHG] Device ED:BE:66:3A:12:C8 RSSI is nil [CHG] Device 50:C4:04:20:A8:54 TxPower is nil [CHG] Device 50:C4:04:20:A8:54 RSSI is nil [CHG] Device 38:BE:80:57:EF:2D RSSI is nil [CHG] Device 59:F3:06:F6:32:00 RSSI is nil [CHG] Controller DC:A6:32:D0:02:DC Discovering: no
-
@slimbrick said in PS3 controller connection:
Oh, and it is an original Sony to the best of my knowledge (I bought it off of ebay, but it did come in original packaging).
Yeah, it's a clone. PS3 controllers haven't been manufactured for quite a few years.
One comment I will make, when I do Pair and Connect the controller, the dialog box asks to "unplug the controller, press the PS button, and then replug the controller." This is different than what you've written in your message.
True, I assumed you followed the docs on PS3, which mention this process when using
sixaxis
and that's why I said the pairing process is a bit special.If you only have the PS3 controller, you can also try using the alternate
ps3controller
driver, which usessixpair
- it's also explained in the docs.If you wish to get more info/debug logging, you can modify the
bluetooth
service in/etc/systemd/system/bluetooth.target.wants/bluetooth.service
and replace the lineExecStart=/usr/lib/bluetooth/bluetoothd
with
ExecStart=/usr/lib/bluetooth/bluetoothd -d
then reload the service with
sudo systemctl daemon-reload sudo systemctl restart bluetooth
The debugging info can be then vieweed with
journalctl -r -u bluetooth
-
@mitu
I had a pretty bad go of it with this controller. I moved to theps3controller
driver and I did not get that to work per the docs. I tried to sort out which clone I may have, usinglsusb
,evtest
, anddmesg
but none gave me any indication other than Sony. So, I tried them all-- Official Sony, shanwan, and gasia. Although I appreciate the info to get additional bluetooth debugging, that project is "crossing the line" with regard to the time I am willing to invest.Perhaps to make you laugh a bit-- I used retropie for several years with a Logitech F710 controller and an Intellivision Flashback controller. The F710 was getting worn out so I bought another one. It worked terrible! While the new F710 connected no problem, it was very clunky in terms of usability--buttons didn't work quite right, sometimes the control is sticky. Odd! Years ago I had a PS3 and I remember the controller fondly so I thought, I'll try one of those. Needless to say, instead of playing games I'm troubleshooting why this apparently poorly made clone isn't connecting. While the "thrill of the hunt" for the solution to the problem was fun, I'm done.
So, I'm not quite sure which controller I will try next, but the PS3 dualshock clone just found its way to my electronics-recycling box while I sort out my next step.
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.