RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    SHANWAN / PS3 CONTROLLER Pi3 RETROPIE 3.6 BLUETOOTH SETUP

    Scheduled Pinned Locked Moved Help and Support
    255 Posts 33 Posters 215.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Wolfman100W
      Wolfman100
      last edited by

      For some reason though the 'make' fails:

      osmc@osmc:~/qtsixa-1.4.96/utils$ ls
      bins hcid hidraw-dump.c Makefile sixad-jack.c sixpair.c sixpair_kbd.c
      osmc@osmc:~/qtsixa-1.4.96/utils$ nano Makefile
      osmc@osmc:~/qtsixa-1.4.96/utils$ make
      gcc -Wall -O2 hidraw-dump.c -o bins/hidraw-dump
      gcc -Wall -O2 sixad-jack.c -o bins/sixad-jack -ljack -lm
      sixad-jack.c:25:23: fatal error: jack/jack.h: No such file or directory
      #include <jack/jack.h>
      ^
      compilation terminated.
      Makefile:8: recipe for target 'tools' failed
      make: *** [tools] Error 1

      1 Reply Last reply Reply Quote 0
      • Wolfman100W
        Wolfman100
        last edited by

        I'm really really baffled why all these errors are appearing and why so many packages seem to not be installed as I had none of these issues on previous builds...

        1 Reply Last reply Reply Quote 0
        • Wolfman100W
          Wolfman100
          last edited by

          Managed to get all the missing packages installed and make QtoSixA,but now the Pi sees the controller,but only as a keyboard for some reason....

          [03-C6-9E-66-63-25]# info 03:C6:9E:66:63:25
          Device 03:C6:9E:66:63:25
          Alias: 03-C6-9E-66-63-25
          Class: 0x000540
          Icon: input-keyboard
          Paired: no
          Trusted: no
          Blocked: no
          Connected: yes
          LegacyPairing: no
          [CHG] Device 03:C6:9E:66:63:25 Connected: no
          [DEL] Device 03:C6:9E:66:63:25 03-C6-9E-66-63-25
          [bluetooth]#

          T 1 Reply Last reply Reply Quote 0
          • D
            dagosand
            last edited by

            Hello!
            This is my first post, and my english is not so good.
            After 4 days and 4 nights of hard work spent to pair my ps3 controller shanwan clone and my raspberry pi 3 using the internal Bluetooth I filally say that I have win!!!!
            I have installed a microsd card with retropie 3.8.1 and updated and upgraded to last commits of 2016-06-19.
            I have followed the instructions provided by @luetzel (In this guide) with one more step to add after the Step3 and before the Step4.
            In this new step it is necessary to execute this command that creates a symbolic link called "/etc/firmware":

            sudo ln -s /lib/firmware/ /etc/firmware

            This command is necessary because in a bluez sources there is a file called:
            hciattach_bcm43xx.c
            located in the src/tools folder there is a reference to a path called "/etc/firmware", but this path does not exist in retropie distros.

            Before the creation of the symbolic link, after the execution of the Step4 of the guide, when I execute this command:
            sudo ./sixpair
            I have the same result obtained by user @pablo in this post and user @buddhastevend in this post:
            pi@retropie:~/QtSixA-1.5.1/utils/bins $ sudo ./sixpair
            Current Bluetooth master: aa:aa:aa:aa:aa:aa
            Setting master bd_addr to aa:aa:aa:aa:aa:aa

            After the creation of the symbolic link the pairing process works perfectly!
            pi@retropie:~/QtSixA-1.5.1/utils/bins $ sudo ./sixpair
            Current Bluetooth master: b8:27:eb:e5:2f:e1
            Setting master bd_addr to b8:27:eb:e5:2f:e1

            I hope this great news for me can be useful to other retropie and raspberry users.

            I had the idea to create the symbolic link reading this thread.

            Good night.

            luetzelL Wolfman100W 2 Replies Last reply Reply Quote 2
            • T
              trevevs @Wolfman100
              last edited by

              @Wolfman100
              hey wolfman100 !
              Very interested in your efforts to get shanwan PS3 clone going on retrosmc. Im trying to do the same thing. The tutorial is showing 404 error for me HTTP ERROR 404 - PAGE NOT FOUND!. https://luetzels.raspiblog.com/?p=1870 Have I got the right link?
              Is this a full guide which works on OSMC?

              thanks

              luetzelL 1 Reply Last reply Reply Quote 0
              • T
                trevevs
                last edited by

                @trevevs
                ahh looks like the guide s back up! Still not really able to follow on my OSMC with retrosmc install.
                guessing I can skip to step 4 since I got git clone https://github.com/luetzel/bluez in step 3?
                I did that and get the bluez folder/files in my osmc folder.

                when you got bluez-5.39, do you mean the bluez folder I just got?

                ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-sixaxis
                seemed to do a lot of stuff ..

                tried make -j3 but got:
                : *** No targets specified and no makefile found. Stop.

                Probably something daft Im doing??

                cheers

                Wolfman100W R 2 Replies Last reply Reply Quote 0
                • luetzelL
                  luetzel @trevevs
                  last edited by

                  @trevevs
                  Hi trevevs,
                  sorry that the link to my blog did not work for you! Hope that you are able to pair your PS3 clone now. My blog is on a self-hosted server, consisting of a Banana Pi. It connects via dyndns, so that it is occasionally not reachable when my IP changes.

                  T 1 Reply Last reply Reply Quote 0
                  • luetzelL
                    luetzel @dagosand
                    last edited by

                    @dagosand
                    Hi Dagosand,
                    thank you for providing this information - indeed very helpful for fixing the pairing problems. I hope that the bluez patches will make it soon into the master branch of bluez, so that the PS3 controllers will work out-of-the-box.

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      dagosand @luetzel
                      last edited by

                      Hi @luetzel thank you very much, but with your perfect guide you made the biggest work .
                      Who will inform bluez guys about the "/etc/firmware" folder issue?

                      luetzelL 1 Reply Last reply Reply Quote 0
                      • Wolfman100W
                        Wolfman100 @trevevs
                        last edited by

                        @trevevs when you attempt to do the 'make' did you execute the command form inside the 'bins' folder,this is necessary.

                        1 Reply Last reply Reply Quote 0
                        • Wolfman100W
                          Wolfman100 @dagosand
                          last edited by

                          @dagosand well done for sticking with it and being commited.I certainly know from experience how frustrating it can be!!

                          The symbolic link issue is interesting,been away from the Pi for a week but will look into this tonight.

                          1 Reply Last reply Reply Quote 0
                          • luetzelL
                            luetzel @dagosand
                            last edited by

                            @dagosand
                            I don't think it is necessary to bother the bluez guys with this issue. It just due to the fact that /firmware is at a non-standard location in contrast to other distributions. Guess that it is already possible to pass a ./configure --flag for pointing bluez to the path of the /firmware directory.

                            D 1 Reply Last reply Reply Quote 0
                            • R
                              Ransom @trevevs
                              last edited by

                              @trevevs said in SHANWAN / PS3 CONTROLLER Pi3 RETROPIE 3.6 BLUETOOTH SETUP:

                              @trevevs
                              ahh looks like the guide s back up! Still not really able to follow on my OSMC with retrosmc install.
                              guessing I can skip to step 4 since I got git clone https://github.com/luetzel/bluez in step 3?
                              I did that and get the bluez folder/files in my osmc folder.

                              when you got bluez-5.39, do you mean the bluez folder I just got?

                              ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-sixaxis
                              seemed to do a lot of stuff ..

                              tried make -j3 but got:
                              : *** No targets specified and no makefile found. Stop.

                              Probably something daft Im doing??

                              cheers

                              I'm stuck on the same spot. I skipped to step 4 after downloading the git clone, but I don't get a bluez-5.39 folder, just a "bluez" folder. Same results as @trevevs for the other parts. Configure does a few things, but make and compile say I have no targets specified.

                              I'm pretty new to the pi scene, so I don't know how to move through folders and files within Raspbian, so a lot of the instructions from Step 5 on are pretty lost on me. Anyone get this to work?

                              luetzelL 1 Reply Last reply Reply Quote 0
                              • luetzelL
                                luetzel @Ransom
                                last edited by

                                Hi @Ransom
                                Sorry that the guide is not clear enough. Yes, you have to 'cd' into the bluez folder after cloning it from the git repo. And, ./configure, as well as make must be run while being within the bluez folder. If not sure, you can check your current working directory with 'pwd'. Thus:

                                cd bluez
                                ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-sixaxis
                                make

                                should do it on your machine. Remember that 'make' or 'configure' may fail, if some header files are missing. Watch out for 'foo.h is missing' messages and install the missing dev packages using 'sudo apt-get install <name>-dev'.

                                I haven't had time to update the instructions with a list of all package-dependencies for compilation on a freshly installed system.

                                /luetzel

                                1 Reply Last reply Reply Quote 0
                                • D
                                  dagosand @luetzel
                                  last edited by

                                  @luetzel said in SHANWAN / PS3 CONTROLLER Pi3 RETROPIE 3.6 BLUETOOTH SETUP:

                                  @dagosand
                                  I don't think it is necessary to bother the bluez guys with this issue. It just due to the fact that /firmware is at a non-standard location in contrast to other distributions. Guess that it is already possible to pass a ./configure --flag for pointing bluez to the path of the /firmware directory.

                                  Great!
                                  Can you tell me how can I pass the correct flag in ./configure?

                                  thanks

                                  luetzelL 1 Reply Last reply Reply Quote 0
                                  • luetzelL
                                    luetzel @dagosand
                                    last edited by

                                    @dagosand
                                    I checked ./configure --help for suitable flags pointing it to the firmware directory, but it doesn't seem to be present^^ However, nothing speaks against using a symbolic link to /etc/firmware on distributions using a non standard firmware location. In some distributions, the link is automatically created by post-install scripts of the .deb or .rpm package. If you compile from source you have to do it manually.

                                    1 Reply Last reply Reply Quote 1
                                    • A
                                      auswear
                                      last edited by auswear

                                      I am really struggling getting this working.. I've think I've done all the above steps correctly as I can get one controller to pair, but I can't get 2 to pair at the same time. It's either one or the other. What am I doing wrong?

                                      Also is there any way to stop the controller from vibrating every time I plug it into the USB to charge?

                                      luetzelL 1 Reply Last reply Reply Quote 0
                                      • luetzelL
                                        luetzel @auswear
                                        last edited by

                                        Hi @auswear
                                        For the second controller, try to “register” it using sixpair, but without having the first controller already paired/connected via bluetooth. Then, check with ‘sudo bluetoohctl’ whether you can see hardware addresses of both controllers. For pairing the second controller, wait until LED 1 lights up on the first, only then press the PS button on your second controller. If this doesn’t help, remove both devices using bluetoothctl and start over again with sixpair. Both must be authenticated/trusted for pairing them at the same time. You can check/follow the pairing process with dmesg and bluetoothctl.

                                        About charging:
                                        It is not possible to charge Shanwan controllers without rumbling while being connected to an USB port of your Raspberry Pi/Computer. Here I use an USB wall charger instead. Since the LEDs do not indicate battery level of the controller, I
                                        use a ‘ USB charge doctor' in order to follow current/mA during charging. When mA drop below ~0.03, the battery is fully charged.

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          Hetoft
                                          last edited by

                                          Hi @luetzel (and all you others)

                                          Thanks so much for your work on this.

                                          I am trying to configure my two genuine PS3 controllers (of course, just starting off with one) on RetroPie 4.0 (newest beta) on OSMC on a RPi3 and the onboard bluetooth.

                                          I simply can not figure out how to get it to pair up. Even though I run the PS3 driver configuration from the RetroPie settings, whenever I disconnect it from the USB cable, it is not able to establish the bluetooth connection.

                                          Bluetooth is enabled and able to discover my devices. I also tried with a bluetooth USB dongle; same result.

                                          At some point in all of this tinkering, I managed to establish the bluetooth connection, with the controller vibrating and lighting in the 1 LED. However, I couldn't configure any of the buttons, and a jstest didn't react to any of the button presses. When I then rebooted my Pi, the connection was lost again.

                                          I know this thread is about the Shanwan controllers, but it seems you have plenty of knowledge about the controllers, so I though it'd be worth a try to ask here anyway...

                                          Thanks so much in advance. :)

                                          luetzelL 1 Reply Last reply Reply Quote 0
                                          • luetzelL
                                            luetzel @Hetoft
                                            last edited by luetzel

                                            Hi @Hetoft,
                                            all what I can say is that you should try to monitor the pairing process in order to identify the reason why it fails.
                                            First of all, check the output of 'hciconfig', which should reveal something like this:

                                            hci0:   Type: BR/EDR  Bus: USB
                                                    BD Address: 00:1B:10:00:2A:EC  ACL MTU: 1017:8  SCO MTU: 64:1
                                                    UP RUNNING PSCAN
                                                    RX bytes:549 acl:0 sco:0 events:29 errors:0
                                                    TX bytes:1564 acl:0 sco:0 commands:29 errors:0
                                            

                                            If you don't see UP RUNNING PSCAN there is something wrong with your bluetooth device.

                                            Next, watch what happens using 'sudo bluetoohctl' when you press the PS button:

                                            [NEW] Controller 00:1B:10:00:2A:EC raspi5 [default]
                                            [NEW] Device 01:B6:AD:7F:63:25 PLAYSTATION(R)3 Controller
                                            [NEW] Device 01:B6:52:85:63:25 PLAYSTATION(R)3 Controller
                                            [NEW] Device 20:73:AB:91:DD:6F Bluetooth V3.0 Keyboard
                                            [CHG] Device 01:B6:52:85:63:25 Connected: yes
                                            

                                            Check the connection status of your controller with info <hw address>

                                            info 01:B6:52:85:63:25
                                            Device 01:B6:52:85:63:25
                                                    Name: PLAYSTATION(R)3 Controller
                                                    Alias: PLAYSTATION(R)3 Controller
                                                    Class: 0x000540
                                                    Icon: input-keyboard
                                                    Paired: no
                                                    Trusted: yes
                                                    Blocked: no
                                                    Connected: yes
                                                    LegacyPairing: no
                                                    UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
                                                    Modalias: usb:v054Cp0268d0000
                                            

                                            Lighting of LED1 on your device indicates that it is connected and paired with your Pi. If you're not able to configure buttons, check whether your controller was registered as an input device. 'dmesg' should display something like this:

                                            [  482.434909] input: PLAYSTATION(R)3 Controller as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:11/0005:054C:0268.0001/input/input0
                                            [  482.436176] sony 0005:054C:0268.0001: input,hidraw0: BLUETOOTH HID v0.00 Joystick [PLAYSTATION(R)3 Controller] on 00:1b:10:00:2a:ec
                                            

                                            If it wasn't registered as an input device, you probably have to add the 'joydev' and 'uinput' kernel modules into your /etc/modules (reboot), or load them manually with

                                            'sudo modprobe joydev'
                                            'sudo modprobe uinput'
                                            

                                            Cheers,
                                            /luetzel

                                            BuZzB 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.