Problems connecting bluetooth controllers
-
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 usebluetoothctl
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) -
I found out that the problem is related with an update of the package
bluez
. The version that comes with the last RetroPie image is5.50-1.2~deb10u1+rpt1
, and it works ok. I then tried to update Retropie packages throughretropie_setup
, and when asked"Would you like to update the underlying OS packages (eg kernel etc) ?"
answering yes would install the latestbluez
version5.50-1.2~deb10u1+rpt2
which causes my problem. -
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
-
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 doeshciconfig hci0 bdaddr
show ?
I re-paired my Dualshock 4 without issues (running the same - new -
bluez
package version). -
@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).
-
@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 ?
-
@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.
-
@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 withdtoverlay=pi3-disable-bt
inconfig.txt
.
With5.50-1.2~deb10u1+rpt1
the external dongle yields anhciconfig hci0
outputhci0: 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 ofhciconfig hci0
ishci0: 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
bdaddr
givesManufacturer: 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 nowhci0: 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 nowManufacturer: 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. -
@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? -
@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. -
Can you guys have a look at this topic and see if the solution posted there would help ?
-
@mitu Yes! Replacing the old
bthelper
with the new one solved the problem. Now the external dongle is shown with the correctBD Address
byhciconfig hci0
andbdaddr
, and the connection works as before.
Thanks a lot for your help. -
@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.
-
@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 thepi-bluetooth
package. -
@nemo93 said in Problems connecting bluetooth controllers:
@mitu argh! apologize about the confusion.
That should fix this
-
@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.
-
@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....
-
@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 thexpadneo
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. -
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.