SHANWAN / PS3 CONTROLLER Pi3 RETROPIE 3.6 BLUETOOTH SETUP
-
@pablo said in SHANWAN / PS3 CONTROLLER Pi3 RETROPIE 3.6 BLUETOOTH SETUP:
Hi @luetzel
[...]
I have a bit of time this weekend... I will try and investigate this further. I just wish I understood why the Pi3 doesn't have a > proper bluetooth address. I'm not sure now if my Pi is faulty or if this is actually the root cause of everyone's Pi3
bluetooth woes... :(Perhaps you could try an USB dongle instead of the internal BT device. Check the forum, there is a way to disable the onboard BT in /boot/config.txt.
On the other hand, I'm not sure how the BT controller is recognized for pairing. As far as I understood, the patches
should enable bluez to do this job, so that sixpair is not necessary. However, it doesn't work without sixpair, yet, at least with my controllers.Unfortunately, there's not much documentation available, except several posts on the gmane mailing list http://thread.gmane.org/gmane.linux.bluez.kernel/41069 . I haven't had enough time to dig in the code to see what's going on.
-
-
I'm currently attempting to do my proper build and am getting a bit stuck when it comes to the QTsixA install this time around for some reason,no idea why as this didn't seem to be an issue before...
I am trying to do the 'make' for QtSixA but it terminates,I'm assuming because this time some dependencies are missing,I do however have no idea how to install these or how or where to get them...
osmc@osmc:~/QtSixA-1.5.1/utils$ make
mkdir -p bins
cc -O2 -Wall -Wl,-Bsymbolic-functions hidraw-dump.c -o bins/hidraw-dump
cc -O2 -Wall -Wl,-Bsymbolic-functions sixpair.c -o bins/sixpairpkg-config --cflags --libs libusb
Package libusb was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libusb' found
sixpair.c:9:17: fatal error: usb.h: No such file or directory
#include <usb.h>
^
compilation terminated.
Makefile:12: recipe for target 'tools' failed
make: *** [tools] Error 1 -
Hi @Wolfman100
You can download pkg-config and libusb with:
sudo apt-get install libusb-dev pkg-config
Hopefully this helps.
-
@Wolfman100
Hi Wolfman,as a rule of thumb: If something like this happens, you have to install the header files, necessary for compilation. If libusb is missing, just do an apt-get install libusb-dev. Usually it is enough to append a '-dev' to the missing library. If it doesn't help, you can search with 'aptitude search <package>' for the desired <package>.
You may also find some build instructions within the README of QtSixA./luetzel
-
@buddhastevend @luetzel Thanks guys, will look into this now.:)
-
After installing necessary packages I am very happy to report that I have now Paired the controller succesfully first time!
I am using the latest 3.8 RetroPie inside OSMC and am hoping that the pairing will survive a reboot as apparently this had been fixed in Retropie 3.8...let's see what happens
-
Sweet mother of God it appears that it has indeed survived a reboot and connects first time no-problem!Can also report bluetooth keyboard is also working simultaneously without issues..
-
Now all I need to do is locate the Roms folder in 3.8 which seems to have changed location or name....
-
@Wolfman100
Should be the same location in 3.8:
/home/pi/RetroPie/romsAt least mine didn't change.
I can pick up and see my controllers in bluetooth, they just will not pair. I know it has to do with my Pi3 onboard registering the aa:aa:aa:aa:aa:aa address instead of its actual hwaddress. I cannot find a way to to make it reset itself either.
-
@buddhastevend I'm guessing that you have RetroPi installed as standalone from your filepath?
I have RetroPi installed 'inside' OSMC,so the filepath will be different.
From my rudimentary knowledge,I would suggest possibly re-installing Bluez and making sure that you have the latest QtSixA which is actually version 5.1,not 4.9.
-
Oh yeah. I already have the latest version of Bluez and QtSixA.
Oh yeah, forgot you were running it inside OSMC. It still shouldn't be to different than that though, maybe just buried a couple further down.
I feel like I should play with OSMC now, with retropie inside it.
-
I am gonna try with a clean 3.8 image tonight and see if the aa:aa:aa:aa:aa:aa situation changes. When I tried to update 3.7 to 3.8 using the setup script it ran through cleanly, but after a reboot I lost any and all access to both wireless and bluetooth. The OS couldn't even detect the devices.
-
You sound like you had similar issues to me.I should imagine that 3.8 may well solve your issue if your correctly follow @luetzels guide.
-
@luetzel folder problems solved...wierd SSH issue.
One thing though,it appears that the Bluez folder and Sixpair folders are installed so they are visible within the browser in OSMC.Can I move these folders so they are out of view and cannot be messed with and everything will still work correctly?They were not visible before,I think because I must have installed as 'Sudo' Root user
-
Already had 3.8 and updated Bluez and QtSixA. There's something wrong with some people's bluetooth hardware addresses.
I got it working no problem with a dongle I had, so I know it's the onboard bluetooth, and I'm done messing with it for now.
As far as hiding those, I have to play with OSMC more before I could tell you that.
-
@buddhastevend Just to also provide a bit of feedback.
Clean install of 3.8, bluetoothctl gives the following (no more aa:aa story):
pi@retropie:~ $ sudo bluetoothctl [NEW] Controller B8:27:EB:A4:47:F7 retropie [default]
bluetoothctl can also see both of my controllers:
[NEW] Device 00:18:01:CA:EB:E8 PLAYSTATION(R)3 Controller [CHG] Device 00:18:01:CA:EB:E8 Class: 0x001f00 [CHG] Device 00:18:01:CA:EB:E8 Connected: yes [CHG] Device 00:18:01:CA:EB:E8 Icon is nil [NEW] Device 00:18:01:CA:FF:D1 PLAYSTATION(R)3 Controller [CHG] Device 00:18:01:CA:FF:D1 Class: 0x001f00 [CHG] Device 00:18:01:CA:FF:D1 Connected: yes [CHG] Device 00:18:01:CA:FF:D1 Icon is nil
But then proceeds to cycle through saying Connected: yes, then no.
The most 'connected' I've managed to get anything to the Pi is with bluetoothctl:
[bluetooth]# info 00:18:01:CA:EB:E8 Device 00:18:01:CA:EB:E8 Name: PLAYSTATION(R)3 Controller Alias: PLAYSTATION(R)3 Controller Class: 0x001f00 Paired: no Trusted: yes Blocked: no Connected: yes LegacyPairing: no Modalias: usb:v054Cp0268d0000
Trying to pair returns:
[bluetooth]# pair 00:18:01:CA:EB:E8 Attempting to pair with 00:18:01:CA:EB:E8 Failed to pair: org.bluez.Error.AuthenticationFailed
lsusb gives me this:
Bus 001 Device 005: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller Bus 001 Device 010: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller
With sixad and sixpair up and running, I get the following read out:
pi@retropie:~ $ sudo sixpair Current Bluetooth master: b8:27:eb:a4:47:f7 Setting master bd_addr to b8:27:eb:a4:47:f7 pi@retropie:~ $ sudo sixad -start [ ok ] Starting bluetooth (via systemctl): bluetooth.service. sixad-bin[5160]: started sixad-bin[5160]: sixad started, press the PS button now Watching... (5s) sixad-bin[5160]: unable to connect to sdp session sixad-bin[5160]: HID create error 107 (Transport endpoint is not connected)
I'm at my wit's end. No idea where to go from here.
EDIT: Just as a sanity check I went through the other sixad installs for the clones and I can confirm that Removing PS3 controller configurations and installing the SHANWAN clone support resulted in proper pairing with the internal RPi 3 Bluetooth. This had no effect before.
-
@pablo https://retropie.org.uk/forum/topic/3/read-this-first - Please format your posts - eg using code blocks for easier reading etc
-
@BuZz Apologies
-
Hi @pablo,
the logs you have posted look promising to me, however, I am a bit confused why you're still trying to use 'sixad' to pair your controller? Sixad takes over bluez/ bluetoothd service so that other bluetooth devices, such as keyboards or mice can’t connect while sixad is active.
If this is what you want to achieve, you should stick to the patched bluez, which can handle PS3 controller clones AND
keyboard/mice at the same time, whereas sixad can handle ONLY PS3 controllers.Again, just for clarification: sixad and bluez should not run at the same time. However, if you decided to use the patched bluez, sixpair is still necessary to trust/pair the PS3 controller, since bluetoothctl otherwise asks for a passkey, which cannot be entered with the controller.
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.