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

    Problems connecting bluetooth controllers

    Scheduled Pinned Locked Moved Help and Support
    bluetoothsolved
    18 Posts 4 Posters 9.8k 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.
    • saccublendaS
      saccublenda
      last edited by saccublenda

      Hello, since I've updated to RetroPie 4.6.6 I'm having problems connecting with bluetooth controllers that used to work before. This happens with all my bluetooth controllers.
      If I try to connect with the RetroPie bluetooth utility the program hangs at the security mode selection, and sits there forever.
      If I try to use bluetoothctl from the command line I get the following message

      [bluetooth]# connect E4:17:D8:A5:6F:6E
      Attempting to connect to E4:17:D8:A5:6F:6E
      Failed to connect: org.bluez.Error.Failed
      

      and

      [bluetooth]# pair E4:17:D8:A5:6F:6E
      Attempting to pair with E4:17:D8:A5:6F:6E
      Failed to pair: org.bluez.Error.ConnectionAttemptFailed
      

      If I then try to turn off and on the controller I get the message

      [CHG] Device E4:17:D8:A5:6F:6E Connected: yes
      [CHG] Device E4:17:D8:A5:6F:6E Connected: no
      

      Pi Model or other hardware: 4
      Power Supply used: USB3.0
      RetroPie Version Used: 4.6.6
      USB Devices connected: 1x Keyboard
      Controller used: 8bitdo sfc30 (bluetooth)

      1 Reply Last reply Reply Quote 0
      • saccublendaS
        saccublenda
        last edited by

        I found out that the problem is related with an update of the package bluez. The version that comes with the last RetroPie image is 5.50-1.2~deb10u1+rpt1, and it works ok. I then tried to update Retropie packages through retropie_setup, and when asked "Would you like to update the underlying OS packages (eg kernel etc) ?" answering yes would install the latest bluez version 5.50-1.2~deb10u1+rpt2 which causes my problem.

        1 Reply Last reply Reply Quote 0
        • N
          nemo93
          last edited by

          hello,

          I might have the same issue as I described in that other post. I do confirm I have been through the same packages upgrade and I end up with same bluez version as @saccublenda:

          ii  bluez          5.50-1.2~deb10u1+rpt2 armhf
          
          1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator
            last edited by mitu

            The only difference to the previous version is a modified bdaddr binary, I'm not sure if that has any impact on the functionality.
            What does

            hciconfig hci0
            bdaddr
            

            show ?

            I re-paired my Dualshock 4 without issues (running the same - new - bluez package version).

            1 Reply Last reply Reply Quote 0
            • N
              nemo93
              last edited by nemo93

              @mitu here you go. My pi and Retropie setup do see the xbox controller in the list of periphals, it's just when the "security" screen shows up (image) it got stuck here forever. First time I face such issue. I've checked xpadneo github and there's no update as I could see even if there might be similar issues pinned.

              pi@retropie:~ $ hciconfig hci0
              hci0:   Type: Primary  Bus: USB
                      BD Address: B8:27:EB:3F:D4:1A  ACL MTU: 1021:8  SCO MTU: 64:1
                      UP RUNNING PSCAN
                      RX bytes:19790 acl:78 sco:0 events:806 errors:0
                      TX bytes:6596 acl:79 sco:0 commands:422 errors:0
              
              pi@retropie:~ $ bdaddr
              Manufacturer:   Broadcom Corporation (15)
              Device address: B8:27:EB:3F:D4:1A (Raspberry Pi Foundation)
              

              I've disabled the internal bluetooth on my pi as I rely on an external/USB version (one from Broadcom as you may see above).

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @nemo93
                last edited by

                @nemo93 said in Problems connecting bluetooth controllers:

                "security" screen shows up ... it got stuck here forever.

                Usually this happens when because of the bluetooth ERTM settings, but xpadneo disables it during installation (you should have a /etc/modprobe.d/99-xpadneo-bluetooth.conf file for this).

                The output of the commands are bit different here

                hci0: Type: Primary Bus: UART
                BD Address: DC:A6:32:04:CC:76 ACL MTU: 1021:8 SCO MTU: 64:1
                UP RUNNING PSCAN ISCAN
                RX bytes:47672881 acl:541727 sco:0 events:440 errors:0
                TX bytes:9574 acl:134 sco:0 commands:217 errors:0

                $ bdaddr
                Manufacturer: Cypress Semiconductor Corporation (305)
                Device address: [...]

                Do you use the on-board Bluetooth or do you have an USB adapter ?

                1 Reply Last reply Reply Quote 0
                • N
                  nemo93
                  last edited by nemo93

                  @mitu you're correct on both: I'm using an USB adapter and the ERTM setting looks disabled to me. The first file below I created manually to try a suggestion from one opened ticket on xpadneo GH.

                  pi@retropie:~ $ cat /etc/modprobe.d/bluetooth.conf
                  options bluetooth disable_ertm=1
                  
                  pi@retropie:~ $ cat /etc/modprobe.d/99-xpadneo-bluetooth.conf
                  options bluetooth disable_ertm=y
                  
                  pi@retropie:~ $ cat /sys/module/bluetooth/parameters/disable_ertm
                  Y
                  

                  Note: my USB adapter is exactly that one => Plugable USB Bluetooth 4.0 Low Energy Micro Adapter.

                  1 Reply Last reply Reply Quote 0
                  • saccublendaS
                    saccublenda
                    last edited by

                    @mitu I think the problem is related with the external bluetooth dongle.
                    I use an external bluetooth dongle, and usually keep the internal adapter disabled with dtoverlay=pi3-disable-bt in config.txt.
                    With 5.50-1.2~deb10u1+rpt1 the external dongle yields an hciconfig hci0 output

                    hci0:	Type: Primary  Bus: USB
                    	BD Address: 5C:F3:70:90:0B:BE  ACL MTU: 1021:8  SCO MTU: 64:1
                    	UP RUNNING
                    	RX bytes:1529 acl:8 sco:0 events:68 errors:0
                    	TX bytes:1958 acl:10 sco:0 commands:54 errors:0
                    

                    while the internal one gives

                    hci0:	Type: Primary  Bus: UART
                    	BD Address: DC:A6:32:04:30:36  ACL MTU: 1021:8  SCO MTU: 64:1
                    	UP RUNNING PSCAN
                    	RX bytes:785 acl:0 sco:0 events:49 errors:0
                    	TX bytes:1780 acl:0 sco:0 commands:49 errors:0
                    

                    If I remove the external dongle and reactivate the internal one, and then upgrade to bluez 5.50-1.2~deb10u1+rpt2 the output of hciconfig hci0 is

                    hci0:	Type: Primary  Bus: UART
                    	BD Address: DC:A6:32:04:30:36  ACL MTU: 1021:8  SCO MTU: 64:1
                    	UP RUNNING PSCAN
                    	RX bytes:1565 acl:0 sco:0 events:95 errors:0
                    	TX bytes:2084 acl:0 sco:0 commands:95 errors:0
                    

                    while bdaddrgives

                    Manufacturer:   Cypress Semiconductor Corporation (305)
                    Device address: DC:A6:32:04:30:36
                    

                    and the connection works ok.
                    If I connect the external dongle now the connection stops working. hciconfig hci0 gives now

                    hci0:	Type: Primary  Bus: USB
                    	BD Address: B8:27:EB:CA:D4:F6  ACL MTU: 1021:8  SCO MTU: 64:1
                    	UP RUNNING PSCAN
                    	RX bytes:2210 acl:0 sco:0 events:122 errors:0
                    	TX bytes:2642 acl:0 sco:0 commands:122 errors:0
                    

                    and bdaddr gives now

                    Manufacturer:   Broadcom Corporation (15)
                    Device address: B8:27:EB:CA:D4:F6 (Raspberry Pi Foundation)
                    

                    The on-board bluetooth is not listed anymore in bluetoothctl list command, even if it is still enabled.
                    Removing the external dongle and rebooting brings the on-board bluetooth back and the connection works again.

                    1 Reply Last reply Reply Quote 0
                    • N
                      nemo93
                      last edited by nemo93

                      @saccublenda thank you very much for the detailed report. Much helpful. I haven't even tried without USB dongle as I had plenty of issues with pi's internal BT controller (hence the dongle :)). But I understand this is the way to go now. Perhaps something fishy with the latest bluez package?

                      1 Reply Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator
                        last edited by

                        @nemo93 said in Problems connecting bluetooth controllers:

                        @mitu thank you very much for the detailed report. Much helpful

                        Not me :), slightly different avatar.
                        But that does add another point to the issue - the external USB dongle. I have one, though it's connected to the Pi3, not the Pi4, so I can give it a test.

                        1 Reply Last reply Reply Quote 2
                        • mituM
                          mitu Global Moderator
                          last edited by

                          Can you guys have a look at this topic and see if the solution posted there would help ?

                          saccublendaS 1 Reply Last reply Reply Quote 0
                          • saccublendaS
                            saccublenda @mitu
                            last edited by

                            @mitu Yes! Replacing the old bthelper with the new one solved the problem. Now the external dongle is shown with the correct BD Address by hciconfig hci0 and bdaddr, and the connection works as before.
                            Thanks a lot for your help.

                            1 Reply Last reply Reply Quote 0
                            • N
                              nemo93
                              last edited by

                              @mitu argh! apologize about the confusion. I take it Megaman is quite popular around here :-D

                              Same as @saccublenda => the topic/post shared above allows for a full resolution of the issue. Tricky one I'd say!

                              Thanks both for your time and support.

                              saccublendaS 1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator
                                last edited by

                                @nemo93 said in Problems connecting bluetooth controllers:

                                I take it Megaman is quite popular around here :-D

                                Not as much as it was this morning :(.
                                Glad you found the solution, this issue will probably be fixed with the next Raspbian package update for the pi-bluetooth package.

                                mituM 1 Reply Last reply Reply Quote 0
                                • saccublendaS
                                  saccublenda @nemo93
                                  last edited by

                                  @nemo93 said in Problems connecting bluetooth controllers:

                                  @mitu argh! apologize about the confusion.

                                  That should fix this

                                  1 Reply Last reply Reply Quote 1
                                  • mituM
                                    mitu Global Moderator @mitu
                                    last edited by

                                    @mitu said in Problems connecting bluetooth controllers:

                                    Glad you found the solution, this issue will probably be fixed with the next Raspbian package update for the pi-bluetooth package.

                                    Package has been updated, with the fix referenced in the Raspbian forums.

                                    O 1 Reply Last reply Reply Quote 1
                                    • O
                                      ogteeg @mitu
                                      last edited by

                                      @mitu , or anyone that happens to read thgis....hopefuly you will see this, as old as this post is now.... but i'm having this issue as well with my xbox controller i bought the other day as well.... Just trying to get it working with my Retropie I have set up on my raspberry pi4.... I know you guys figured out the issue, but I guess you could say im still a bit of a n00b when it comes to linux OS and the know-how behind the scenes of it... So I didnt quite catch the answer to this issue... is bthelper a file I need to update on my pi? my controller is recongized, its even listed as being a "registered device"... but I cannot remove it, nor get it to connect by any means....I havent once controlled retropie with this new controller...so Im at a loss of how to fix this... Im leaning toward looking to buy one of those adapters I hear people talking about...but would rather save some money and get this working asap... If your up for trying to help me out on this one, id appreciate it.. Anybody for that matter. i'm sorry my linux knowledge is subpar...im working on that....

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @ogteeg
                                        last edited by mitu

                                        @ogteeg If your controller is detected, then you're not experiencing the same issue as in this topic.
                                        My advice is to make sure you're fully upgraded (OS/Packages and RetroPie), install the xpadneo driver from RetroPie-Setup (see here on how to install packages in RetroPie) driver section and then re-try the pairing. Make sure you remove the controller from the list of registered devices before attempting to re-pair.
                                        If that doesn't work, then open a separate topic and provide more info about your setup, as detailed in https://retropie.org.uk/forum/topic/3/read-this-first.

                                        1 Reply Last reply Reply Quote 0
                                        • M moody31415 referenced this topic on
                                        • 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.