Bluetooth no longer working after fresh install
We're kind of grasping at straws now, but try the bluez_test3 branch:
git fetch psyke git checkout psyke/bluez_test3
That branch just reverts the code adding the new "slow echo" function in case it's somehow causing the issue.
git checkout psyke/bluez_test3
Okay so same thing with the Authentication Failure. Made sure that the controller wasn't in the Display Registered & Connected Bluetooth Devices menu as well as not in bluetoothctl before getting into that branch.
In bluetoothctl when I look at info:
[bluetooth]# info 98:B6:E9:42:4B:35 Device 98:B6:E9:42:4B:35 Name: Pro Controller Alias: Pro Controller Class: 0x002508 Icon: input-gaming Paired: yes Trusted: no Blocked: no Connected: no LegacyPairing: no [bluetooth]# trust 98:B6:E9:42:4B:35 [CHG] Device 98:B6:E9:42:4B:35 Trusted: yes Changing 98:B6:E9:42:4B:35 trust succeeded [CHG] Device 98:B6:E9:42:4B:35 Connected: yes [CHG] Device 98:B6:E9:42:4B:35 Connected: no
So I removed your branches and brought back down the code from 12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e, then removed the controller:
pi@theaterretropie:~/RetroPie-Setup $ git checkout 12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e^ Previous HEAD position was 45645719... bluetooth test3 HEAD is now at 179e2f37... Merge pull request #2591 from cmitu/dolphin-build pi@theaterretropie:~/RetroPie-Setup $ bluetoothctl [NEW] Controller B8:27:EB:81:C7:4C theaterretropie [default] [NEW] Device 98:B6:E9:42:4B:35 Pro Controller [bluetooth]# remove 98:B6:E9:42:4B:35 [DEL] Device 98:B6:E9:42:4B:35 Pro Controller Device has been removed [bluetooth]# exit [DEL] Controller B8:27:EB:81:C7:4C theaterretropie [default]
Confirmed in that version of the setup script (HEAD 179e2f37) that no devices were connected and then tried to connect the controller. Remember when you said it might have been a fluke that it worked before? I think you might be right. Authentication Failure again.
Dive back into bluetoothctl-only for a moment...
I suspect that the authorization is failing via the script, but when you manually "trust" via the shell, it will work... with the important caveat that you power cycle (or disconnect) the controller afterwards, and then allow it to start over with a fresh pairing. Give it a shot and see.
@charleszimm Try an older firmware for the controller ? 1.26 or older.
@psyke83 Hi didn't forget about this. Got busy doing other things last night. I'll probably be able to give it a shot some time this evening once I get home.
@mitu I wouldn't mind trying that but I have a few questions: I was on an older firmware (I think 1.19) when this whole thing started and wasn't able to connect. Now of course I wasn't monitoring bluetoothctl and the associated Bluetooth services, but I'm not sure the firmware is the culprit here.
@charleszimm I mentioned the firmware downgrade because of this topic. There was also a discussion on the LIbretro forums about the 1.29 version changing the button mappings (https://forums.libretro.com/t/8bitdo-sn-30-pro-firmware-1-29-changes/20162).
@psyke83 bluetoothctl can't connect it either now. Something is either weird with the controller or the entire Bluetooth stack.
[bluetooth]# connect 98:B6:E9:42:4B:35 Attempting to connect to 98:B6:E9:42:4B:35 Failed to connect: org.bluez.Error.Failed [CHG] Device 98:B6:E9:42:4B:35 Connected: yes [CHG] Device 98:B6:E9:42:4B:35 Connected: no
I'm debating on reimaging the SD card with the latest image available from the site and before loading any other content or updates to it trying to connect the controller through bluetoothctl.
I reboot the Pi and same Connected Yes/No message. I boot it into the Android mode and this happens:
[bluetooth]# connect E4:17:D8:49:FD:83 Attempting to connect to E4:17:D8:49:FD:83 Failed to connect: org.bluez.Error.Failed [CHG] Device E4:17:D8:49:FD:83 Connected: yes [CHG] Device E4:17:D8:49:FD:83 Paired: yes [CHG] Device E4:17:D8:49:FD:83 Connected: no
I'm at a loss at this point. Do you agree with the reimage idea?
I'm 99% certain that a re-image is pointless. Once you "remove" a profile in bluetoothctl, there is nothing left persistent that can realistically screw up future pairings.
There's a plausible explanation for what's happening to you:
- You were on firmware 1.19, which was working fine.
- You updated the script to a version dated somewhere between Feb 3rd-7th, where the Bluetooth script was temporarily broken for some devices (caused by this commit, and then fixed by this commit).
- Before the fix was applied on the 7th, you upgraded your firmware to 1.29 as a troubleshooting measure, but the new firmware is defective (or at least requires different steps to pair correctly than before).
My advice is to try a firmware downgrade as @mitu suggested, or at least try all other pair modes available besides Switch on your existing firmware.
Alternatively, you might be experiencing issues that are related to the differences between jessie and stretch in the kernel and bluez stack. At this stage I'm 99% certain that the Bluetooth script in RetroPie is not the source of your problems.
@psyke83 I agree. I don't think the script is the problem at this point. We had a problem with the script which we've fixed so that's good (I did see some Reddit posts where people were complaining about the Searching... issue).
I originally did the reimage to get to from Jessie to Stretch because I was seeing weird Bluetooth issues after I updated the setup script. I figured that since I was having an issue I might as well do the OS upgrade at the same time.
I think I still might try the reimage over the weekend and see if I can get the controller to successfully stay connected before doing any updates. I keep the game collection backed up to an external that's connected to the Pi anyway so for me to restore after a reimage only takes a few minutes. If that doesn't work...downgrade the firmware on the controller. Plus that'll give me something to do while the dog is napping.
Thanks for all your help everyone. This was a fun few days of troubleshooting! I'll report back if I come into something that suddenly flickers a light bulb in my head.
If you already have an old jessie image ready to flash (or on a separate card), maybe you could try booting it up, check the existing version of the Bluetooth script from the image as-is, then update the RetroPie script to the latest version and see if it works. That will help you to isolate whether the problem is related to the a) Bluetooth script updates (unlikely, IMHO), b) jessie -> stretch OS component changes (possible), or c) if it's just your new firmware that's not working properly (more likely than the rest).
(Keep in mind that we've dropped official support for jessie - i.e. providing binary updates for packages or testing against that distribution version - so staying on an old image for reasons beyond troubleshooting is not advised).
@psyke83 Well hey while it was fresh I reimaged and...it does the same Connected Yes/No on cda9ffcb from 10 months ago. Next step is to try to downgrade the controller firmware.
I have a second Retropie (livingroomretropie) that is still on Jessie, so the upgrade of the script on that on is a good idea. I have two 8bitdo controllers connected to that one (none of them are the SN30 Pro but still) so we can see what that does as well.
GeekOB last edited by
I can confirm I'm also having issues with my 8Bitdo NES30 Pro Bluetooth controllers (I have 2). Both controllers are detected properly and input configuration goes well until the right analog stick left and right positions, I'm able to map right to +2 but left will not detect movement at all, same behavior for both controllers.
Editing the mapping files for both retroarch and emulationstation has no effect.
Happy to provide more details if this helps.
@GeekOB You're having a different problem - this topic is about not being able to pair - via Bluetooth - the controller. You clearly don't have a problem with this part.
You should open a new topic with your problem and add the info requested in https://retropie.org.uk/forum/topic/3/read-this-first to it.
GeekOB last edited by
@mitu Oooops, sorry about that. Will do!