-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
After pairing one PS3 controller, the second cannot be paired (Solutions Included) #654
Comments
I can confirm that these workarounds are functional. Once "sixpair" has set both of my PS3 controllers' BT master address to the Pi's BT adapter, I can boot up the system with no controllers attached, wait for Emulationstation to start up, and (issue 3 workaround also applied) at this point turn on both controllers and watch them pair correctly to js0 and js1. I can then control Emulationstation with either controller or the keyboard. This is excellent! |
Please modify the PS3 controller module and do a PR. You can find the module here: As i understand Fix1 should be added in line 44 and Fix2 in line 33? There is another way to pair a PS3 controller. I use the bluez with sixaxis support instead of sixpair atm. http://blog.petrockblock.com/forums/topic/using-the-latest-bluez-for-ps3-bluetooth-how-to/ |
Ooh, I'm gonna have to try out bluez with sixaxis support! I was not aware of such a capability without sixad. Thanks!! Edit: The latest version, 5.28, is currently building on my RetroPie following those linked instructions. I'll test it out tomorrow in more depth. |
subscribing |
In the PS3 install script, maybe we can add in |
@NaWer awesome! I must try this out. The only downside to this that I can see is it would pretty much completely disable using a PS3 controller over USB. (As soon as With this rule in place, this would ensure that the controller is always immediately disconnected from USB as soon as it is recognized, so it would ONLY function over bluetooth. This is probably fine, but I put this out there in case someone has a solution to EDIT: Oh hey -- anyone familiar enough with the sixpair.c source to prevent this from happening? Perhaps we can just get a modified build of sixpair to handle this issue, so those without compatible bluetooth adapters can still play via USB with the rule in place. |
Just wanted to add short comment. It`s enough to use pscan instead of piscan. The i makes the RPi discoverable which might not be what you want. |
Could someone test my "optimized" PS3 controller module? |
@gizmo98 I tested your update on my test installation. I didn't do a clean install but uninstalled all bluez5, bluez and sixad stuff. I had to change two lines: Everything looks fine, pscan on bt-dongle, bluetooth service running, but I didn't get the controllers paired at first. /var/log/daemon.log showed a lot of this, when I press the PS button.
And I didn't see anything under /var/lib/bluetooth/*/ either. After a reboot it works, though I noticed the bluetooth service wasn't starting automatically. Also I still only get two controllers paired at a time. Interestingly every controller I pair after the first one lids the second LED. After I disconnected a previous one. |
@m42i Such a shame. I removed the senseless "!". It seems to run on a clean fresh installation. Plug in your PS3 controller and the connection is setup! |
Please could someone test pairing two controllers with the 3.1 image. thanks. |
In my opinion there is still a problem. If a ps3 controller is connected "hciconfig hci0 pscan" will be disabled. The bluetooth dongle must be discoverable. Raspbian seems to have a problem: http://raspberrypi.stackexchange.com/questions/32451/usb-bluetooth-dongle-loses-its-pscan-state-when-connected-via-bluetooth-serial So if a controller is connected we must enable pscan again. We could add a udev rule (if bluetooth controller is connected enable pscan again) or add a cron job which checks or enables pscan periodically. |
I thought we did enable pscan again - hence you rpoint about that line which was removed (and re-added) ? |
As i think of it's just a workaround to enable pscan again if you connect a ps3 controller over usb.
Enable pscan in ps3pair.sh is a workaround to get a second controller working if you connect it to your usb port (udev rule will be triggered). Everytime you reboot your pi you must connect a second controller over usb once to reenable pscan again. |
I see - Thanks - Will look into possible solutions. Maybe I can get hold of a second controller for some testing. |
Other scenario. Same problem. Disable ps3 controller (press 10s ps button) and try to reconnect. Does not work because bt dongle is not discoverable anymore. |
Could be a workaround. If a wireless ps3controller was connected over bluetooth a udev rule checks if pscan is still enabled and reenables pscan if necessary.
Second: add udev rule 99-ps3vinput.rules:
|
Should be ok now. |
I believe this is still an issue with retropie 3.7 using gasia or clone ps3 controller ?
Actually as soon as you connect the 2nd controller the bluetooth service crashes. crash dump at >> http://pastebin.com/pfuCYWpF |
Since nobody showed interested I tried working on it in, and confirm there there no more crashes after updating to linux kernel to 4.4 >> raspberrypi/linux#1360 (comment) However any additional controller still fail to pair on retropie, this time there is no bluetooth crash its just no paring as 2nd or 3d controller. |
No dev has a gasia controller. As far as i know the "gasia only" installation option gives multiple gasia controller support. The "clone support gasia" installation option gives you original and gasia controller support. Only one controller is pairable. |
@gizmo98 Thanks for the tip will try the gasia only . |
I have search and have not found any information on how to reassign the PS3 controller to a different number. Anyone know of a way to change the assignments? Moving to the RetroPie forum then. thanks |
@coproc79 this is not the right place for support - please use the retropie forum - https://retropie.org.uk/forum/ |
hello |
(ps3 shaman)I'm having an issue connecting a second bluetooth remote first one connects fine when i connect second one it connects and can only be used for 5 seconds before both of them fail the lights on remotes stay on but nothing happens ....when i connect first one it works flawlessly...i had another dongle which broke installed previously that ran 4 blue tooth connections no problems....is it the dongle or script reply |
On retropie 4.2, my ps3 controller would not reconnect if it disconnected after some time. I fixed it with the following udev steps... Create the file ps3reconnect in your home folder with this: sudo /usr/bin/sixad --stop Make it executable: chmod +x ps3reconnect Add the following to the last line of /etc/udev/rules.d/99-sixad.rules: SUBSYSTEM=="bluetooth",ACTION=="remove",RUN+="/home/pi/ps3reconnect" Then run the following to reload udev rules: udevadm control --reload-rules && udevadm trigger By the way, I'm running retropie 4.2 on a raspberry pi 3, with a fake ps3 controller (gasia). The gasia controller only connected after i followd this tutorial. Be careful that your modifications to both files use "Linux style line endings" (which is LF only), not Windows style (whi is CR and LF). Otherwise, your scripts won't work. |
We were able to identify several bugs and find fixes for them in the following forum conversation.
http://blog.petrockblock.com/forums/topic/multiple-ps3-controller-via-bluetooth-frustration/#post-87517
List of bugs:
Fixes
Issue 1
Before pairing the first controller if you run "hciconfig" the mode is "Up Running pscan:. After pairing the first controller the bluetooth adapter exits discovery mode and hciconfig then only reads "up running"
Fix 1
If you change the mode to PISCAN by running "sudo hciconfig hci0 piscan" after pairing the first controller the bluetooth stays in the discovery mode and it works as expected for the pairing of the second controller.
I fixed this by inserting "hciconfig hci0 piscan" into the rc.local file just before the exit 0 line.
Issue 2
After a fresh install to the SD card and the first boot the bluetooth adapter is in the state down if you run "hciconfig" this could be confusing to new users and prevents a trouble and hassle free install if the intent is to use a bluetooth controller
Fix 2
If you run the command "sudo hciconfig hci0 up" this issue is simply fixed so I am guessing before the image was imaged the bluetooth adapter simply needs to be told to be up so when users install the image it will continue to be that way.
Issue 3
Especially with the RPI2 there is simply not enough time to pair the controllers before the "no controllers connected" dialogue pops up. I propose there is a simple option to enable or disable the popup or another workaround is done, this prevents the user from being able to sit back on the couch with wireless controllers and no keyboard on the PI to hit F4 and pair and then run the emulationstation comand
Fix 3
A simple workaround we found was to setup the keyboard as a controller and then even after the keyboard is removed the popup never comes up again. I am not sure this is the best fix but it does work.
The text was updated successfully, but these errors were encountered: