Sony DualShock 3 - call for testers: "sixaxis" script module
-
This is somewhat encouraging. My guess is that the BlueZ stack has already cached a generic (and incorrect) HID profile for your controller, most likely when you paired via the
ps3controller
driver or an older BlueZ stack version.The Shanwan and Gasia controllers do not pass a correct SDP (Service Discovery Protocol) record via Bluetooth, which is needed for BlueZ to know what HID profile to apply. This doesn't matter on a real PS3, but causes problems on BlueZ until version 5.48, where a correct record is now forced for all controllers. When no SDP record is passed to the stack, a controller will enumerate a
input-keyboard
HID profile and fail to pair correctly.The potential solution is for you to remove the device from the Bluetooth stack and re-pair so that a new profile will be created. In the
bluetoothctl
prompt:remove 00:26:5C:5D:BD:00
Once this is done, go through the process of pairing your controller from the RetroPie bluetooth menu once again.
Hopefully it will pair correctly now, and you'll see
Icon: input-gaming
in the profile information, indicating that the correct SDP record has been applied.If you still have no success, the output of this may help:
cat /var/log/syslog | grep -e blue -e sixaxis
-
@psyke83
Regarding the (apparently) wrong SDL controller index, don't hesitate to ask if you need more informations or tests. -
@psyke83
I don't think the problem if for an already cached HID profile becasue the raspberry pi 3 is still te same but i've renstalled Retropie on a new SD card.
Anyway, i removed the controller[bluetooth]# remove 00:26:5C:5D:BD:00 [DEL] Device 00:26:5C:5D:BD:00 Sony PLAYSTATION(R)3 Controller Device has been removed
and try to repair but it still not working
Changing discoverable on succeeded [CHG] Controller B8:27:EB:EB:7F:B8 Discoverable: yes [CHG] Controller B8:27:EB:EB:7F:B8 Discovering: yes [NEW] Device 00:26:5C:5D:BD:00 Sony PLAYSTATION(R)3 Controller [CHG] Device 00:26:5C:5D:BD:00 Trusted: yes [CHG] Device 00:26:5C:5D:BD:00 UUIDs: 00001124-0000-1000-8000-00805f9b34fb [CHG] Controller B8:27:EB:EB:7F:B8 Discovering: no [CHG] Device 00:26:5C:5D:BD:00 Class: 0x00000540 [CHG] Device 00:26:5C:5D:BD:00 Icon: input-keyboard [CHG] Device 00:26:5C:5D:BD:00 Connected: yes [CHG] Controller B8:27:EB:EB:7F:B8 Discoverable: no [CHG] Device 00:26:5C:5D:BD:00 ServicesResolved: no [CHG] Device 00:26:5C:5D:BD:00 Connected: no [CHG] Device 00:26:5C:5D:BD:00 Connected: yes [CHG] Device 00:26:5C:5D:BD:00 Connected: no
here is the output for
cat /var/log/syslog | grep -e blue -e sixaxis
Jul 5 11:46:04 retropie bluetoothd[667]: Bluetooth daemon 5.23 Jul 5 11:46:05 retropie bluetoothd[667]: Starting SDP server Jul 5 11:46:06 retropie bluetoothd[667]: Bluetooth management interface 1.14 initialized Jul 5 11:46:06 retropie bluetoothd[667]: Sap driver initialization failed. Jul 5 11:46:06 retropie bluetoothd[667]: sap-server: Operation not permitted (1) Mar 13 21:03:29 retropie bluetoothd[670]: Bluetooth daemon 5.23 Mar 13 21:03:29 retropie bluetoothd[670]: Starting SDP server Mar 13 21:03:29 retropie bluetoothd[670]: Bluetooth management interface 1.14 initialized Mar 13 21:03:29 retropie bluetoothd[670]: Sap driver initialization failed. Mar 13 21:03:29 retropie bluetoothd[670]: sap-server: Operation not permitted (1) Mar 13 21:42:18 retropie bluetoothd[670]: Terminating Mar 13 21:42:18 retropie bluetoothd[670]: Stopping SDP server Mar 13 21:42:18 retropie bluetoothd[670]: Exit Mar 13 21:42:18 retropie bluetoothd[5383]: Bluetooth daemon 5.48 Mar 13 21:42:18 retropie bluetoothd[5383]: Starting SDP server Mar 13 21:42:18 retropie bluetoothd[5383]: Bluetooth management interface 1.14 initialized Mar 13 21:42:18 retropie bluetoothd[5383]: Sap driver initialization failed. Mar 13 21:42:18 retropie bluetoothd[5383]: sap-server: Operation not permitted (1) Mar 13 22:22:19 retropie bluetoothd[5383]: sixaxis: compatible device connected: Sony PLAYSTATION(R)3 Controller (054C:0268 /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.0003/hidraw/hidraw2) Mar 13 22:22:19 retropie bluetoothd[5383]: sixaxis: setting up new device Mar 13 22:22:20 retropie systemd[1]: Starting system-sixaxis.slice. Mar 13 22:22:20 retropie systemd[1]: Created slice system-sixaxis.slice. Mar 13 22:22:20 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:22:20 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:22:20 retropie sixaxis-helper.sh[6179]: Calibrating: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 13 22:22:20 retropie sixaxis-helper.sh[6179]: Disabling L2/R2 analog axes: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 13 22:22:20 retropie sixaxis-helper.sh[6179]: Setting 600 second timeout on: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 13 22:32:11 retropie sixaxis-helper.sh[6179]: Disconnecting: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 13 22:32:20 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:32:20 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:32:20 retropie sixaxis-helper.sh[6290]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:32:20 retropie sixaxis-helper.sh[6290]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:32:20 retropie sixaxis-helper.sh[6290]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:33:05 retropie sixaxis-helper.sh[6290]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:36:10 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:36:10 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:36:10 retropie sixaxis-helper.sh[6333]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:36:10 retropie sixaxis-helper.sh[6333]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:36:11 retropie sixaxis-helper.sh[6333]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:36:52 retropie sixaxis-helper.sh[6333]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:37:26 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:37:26 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:37:26 retropie sixaxis-helper.sh[6372]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:37:26 retropie sixaxis-helper.sh[6372]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:37:27 retropie sixaxis-helper.sh[6372]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:38:08 retropie sixaxis-helper.sh[6372]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:38:24 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:38:24 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:38:25 retropie sixaxis-helper.sh[6408]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:38:25 retropie sixaxis-helper.sh[6408]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:38:25 retropie sixaxis-helper.sh[6408]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:38:41 retropie bluetoothd[5383]: Authentication already requested for 00:26:5C:5D:BD:00 Mar 13 22:38:41 retropie bluetoothd[5383]: device_notify_pin: Operation not permitted Mar 13 22:38:44 retropie bluetoothd[5383]: Authentication already requested for 00:26:5C:5D:BD:00 Mar 13 22:38:44 retropie bluetoothd[5383]: device_request_pin: Operation not permitted Mar 13 22:39:09 retropie sixaxis-helper.sh[6408]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:39:09 retropie bluetoothd[5383]: 00:26:5C:5D:BD:00: error updating services: Connection timed out (110) Mar 13 22:39:13 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:39:13 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:39:13 retropie sixaxis-helper.sh[6444]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:39:14 retropie sixaxis-helper.sh[6444]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:39:14 retropie sixaxis-helper.sh[6444]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:39:44 retropie sixaxis-helper.sh[6444]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:39:48 retropie bluetoothd[5383]: Can't get HIDP connection info Mar 13 22:39:51 retropie bluetoothd[5383]: connect error: Operation already in progress (114) Mar 13 22:39:55 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:39:55 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:39:55 retropie sixaxis-helper.sh[6480]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:39:56 retropie sixaxis-helper.sh[6480]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:39:56 retropie sixaxis-helper.sh[6480]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:40:38 retropie bluetoothd[5383]: 00:26:5C:5D:BD:00: error updating services: Connection timed out (110) Mar 13 22:40:40 retropie sixaxis-helper.sh[6480]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:45:51 retropie bluetoothd[5383]: sixaxis: compatible device connected: Sony PLAYSTATION(R)3 Controller (054C:0268 /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.000A/hidraw/hidraw2) Mar 13 22:45:51 retropie bluetoothd[5383]: sixaxis: setting up new device Mar 13 22:45:51 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:45:51 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:45:51 retropie sixaxis-helper.sh[6666]: Calibrating: SHANWAN PS3 GamePad (06:38:91:6E:63:25) Mar 13 22:45:51 retropie sixaxis-helper.sh[6666]: Disabling L2/R2 analog axes: SHANWAN PS3 GamePad (06:38:91:6E:63:25) Mar 13 22:45:52 retropie sixaxis-helper.sh[6666]: Setting 600 second timeout on: SHANWAN PS3 GamePad (06:38:91:6E:63:25) Mar 13 22:47:34 retropie sixaxis-helper.sh[6666]: Disconnecting: SHANWAN PS3 GamePad (06:38:91:6E:63:25) Mar 13 22:47:42 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 13 22:47:42 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 13 22:47:42 retropie sixaxis-helper.sh[6747]: Calibrating: Sony PLAYSTATION(R)3 Controller (06:38:91:6E:63:25) Mar 13 22:47:42 retropie sixaxis-helper.sh[6747]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (06:38:91:6E:63:25) Mar 13 22:47:42 retropie sixaxis-helper.sh[6747]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (06:38:91:6E:63:25) Mar 13 22:48:17 retropie systemd[1]: Starting sixaxis helper (/dev/input/event3)... Mar 13 22:48:17 retropie systemd[1]: Started sixaxis helper (/dev/input/event3). Mar 13 22:48:17 retropie sixaxis-helper.sh[6773]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:48:17 retropie sixaxis-helper.sh[6773]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:48:17 retropie sixaxis-helper.sh[6773]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:49:01 retropie sixaxis-helper.sh[6773]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 13 22:50:34 retropie sixaxis-helper.sh[6747]: Disconnecting: Sony PLAYSTATION(R)3 Controller (06:38:91:6E:63:25) Mar 13 22:51:20 retropie systemd[1]: Stopping system-sixaxis.slice. Mar 13 22:51:20 retropie systemd[1]: Removed slice system-sixaxis.slice. Mar 13 22:51:25 retropie bluetoothd[655]: Bluetooth daemon 5.48 Mar 13 22:51:26 retropie bluetoothd[655]: Starting SDP server Mar 13 22:51:26 retropie bluetoothd[655]: Bluetooth management interface 1.14 initialized Mar 13 22:51:26 retropie bluetoothd[655]: Sap driver initialization failed. Mar 13 22:51:26 retropie bluetoothd[655]: sap-server: Operation not permitted (1) Mar 14 08:10:30 retropie bluetoothd[655]: sixaxis: compatible device connected: Sony PLAYSTATION(R)3 Controller (054C:0268 /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.0003/hidraw/hidraw2) Mar 14 08:10:30 retropie bluetoothd[655]: sixaxis: setting up new device Mar 14 08:10:30 retropie systemd[1]: Starting system-sixaxis.slice. Mar 14 08:10:30 retropie systemd[1]: Created slice system-sixaxis.slice. Mar 14 08:10:30 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 14 08:10:30 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 14 08:10:31 retropie sixaxis-helper.sh[1110]: Calibrating: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 14 08:10:31 retropie sixaxis-helper.sh[1110]: Disabling L2/R2 analog axes: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 14 08:10:31 retropie sixaxis-helper.sh[1110]: Setting 600 second timeout on: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 14 08:11:19 retropie sixaxis-helper.sh[1110]: Disconnecting: Gasia Co.,Ltd PS(R) Gamepad (00:26:5C:5D:BD:00) Mar 14 08:11:28 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 14 08:11:28 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 14 08:11:28 retropie sixaxis-helper.sh[1181]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:11:28 retropie sixaxis-helper.sh[1181]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:11:29 retropie sixaxis-helper.sh[1181]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:12:08 retropie sixaxis-helper.sh[1181]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:12:17 retropie systemd[1]: Starting sixaxis helper (/dev/input/event2)... Mar 14 08:12:17 retropie systemd[1]: Started sixaxis helper (/dev/input/event2). Mar 14 08:12:17 retropie sixaxis-helper.sh[1218]: Calibrating: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:12:17 retropie sixaxis-helper.sh[1218]: Disabling L2/R2 analog axes: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:12:17 retropie sixaxis-helper.sh[1218]: Setting 600 second timeout on: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:13:02 retropie sixaxis-helper.sh[1218]: Disconnecting: Sony PLAYSTATION(R)3 Controller (00:26:5C:5D:BD:00) Mar 14 08:13:02 retropie bluetoothd[655]: Can't get HIDP connection info
-
It looks like this line may be a clue:
Mar 13 22:40:38 retropie bluetoothd[5383]: 00:26:5C:5D:BD:00: error updating services: Connection timed out (110)
I'll look into the issue and get back to you - your help has been much appreciated.
-
@psyke83
I'm glad to help if i can.
If you want me to try anything else i'm here. -
@psyke83 What is the easiest way to revert back to the master branch using git? I want to do some other testing without this script module and then switch back to it in the future.
-
@psyke83 For information, at first glance your sixaxis version works like a charm on newest 4.14.30 kernel.
I'll continue the tests, but no ghost input (unlike the native driver).
just had to remap my controller. -
On Shenwan Controllers I get a Timor Out error and need to plug and unplug it a few times to get it to pair the first time. But works good.
Also get a sixad.service could not start error on the Bluetooth screen.
Button mapping is better for those emulators that hard code button 1 and 2 which is now X and O instead of SELECT and I think L3.
Keep up the good work will happily help solve the Shenwan issues.
-
I have lost overview about this.
Is this new driver already in the 4.4 release?
Since I will try to install RetroPie for new on a Ubuntu 17.10.1 amd64. -
I'm having an awful time trying to sync my Shenwan controllers. It finds the controllers but then asks me to input a 6 digit pin number, which of course is not possible. Any recommendations?
Edit: I've tried all the different pair options that pop up when initially pairing and all of them are requiring a 6 digit pin. :( -
@iriman had this input too with genuine PS3 Sixaxis Controllers. I just ignored the message and canceled the process when the input of the code was required.
The Controller works fine anyway, only issue is that i cannot configure the analog sticks in Emulationstation, but this will have nothing to do with the Bluetooth Connection
-
Hello guys, are you planning to include the old configuration of the sixad driver named "Gasia-only"? I have a bunch of ps3 clone controllers that shows "SZMY PS3 Controller" when connected through usb and just work on BT when using the option "Gasia-only". Anyway, just thanks for your great job!!
-
@tupc10 said in Sony DualShock 3 - call for testers: "sixaxis" script module:
Hello guys, are you planning to include the old configuration of the sixad driver named "Gasia-only"? I have a bunch of ps3 clone controllers that shows "SZMY PS3 Controller" when connected through usb and just work on BT when using the option "Gasia-only". Anyway, just thanks for your great job!!
The native sixaxis driver seems to have problems with pairing on Gasia clones, so this solution probably won't work. Until the problem is resolved, you'll be stuck with the
ps3controller
driver. I don't own a Gasia clone, so I can't do much to troubleshoot.See: https://bugzilla.kernel.org/show_bug.cgi?id=200009
RetroPie on Raspbian stretch (without this PR) is quite messy for DS3 controllers at the moment. The
ps3controller
driver now has different button mappings to thehid-sony
kernel driver (what the pad uses when connected via USB). -
I see @psyke83 , so this is bad news for me.. Thanks for your reply! Best regards
-
@psyke83 I have just one Gasia clone controller, but if can be of help I may send it to you.
If the shipment price is not too high it can be done.
Please let me know. -
@psyke83 do you think it will be possible to integrate in the next release both the sixad driver and the sixaxis even if it's not working with gasia controller?
It seems to me that it is working much better than the sixad driver, it allows me to connect multiple controller without problem while the sixad driver it givesme problem very often.
Thank you very much -
This post is deleted! -
I've updated the PR with a potential fix for Gasia pads if anyone is interested in testing. The fix is specific to the
customhidsony
module which should get installed along with thesixaxis
module, but you also need to manually installcustombluez
so that the BlueZ compatibility for third-party sixaxis controllers will work.Unfortunately, sixad will interfere with the native driver, so both can't be used at the same time. We've no plans to remove sixad, however, so it'll always be available for manual installation. Perhaps the sixad daemon could at least be updated to use the newer controller button map so that it will better co-exist with the new driver, but I haven't touched that yet. In the meantime, I'd appreciate if you could test the PR.
-
I'm willing to give it a try soon with my 2 legimate DS3 controllers, but I have a doubt I'd like to clarify first - how is the situation with analog triggers? Normally they are not an issue but now with Steam Link being available for rpi and Retropie, and with Moonlight Game Streaming, lack of pressure sensitivity on triggers with a sixad driver is somewhat annoying.
-
@psyke83 Thank you for your work on the sixaxis scripts!
After I setup a new Stretch build on my Pi 3B+ I found I could no longer get more than 4 dualshock3's to connect at the same time using the ps3controller driver. I installed your sixaxis PR and am happy to report I can get 5 official dualshock3's working great! I will borrow at least 1 more PS3 controller and do some more thorough testing to make sure 6player Xmen arcade still works.
Inputs seemed very responsive as if the input lag is reduced as well.
Thanks again!
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.