Bluetooth no longer working after fresh install
-
@psyke83 Okay finally got to it. Sorry for the delay.
When I went to remove the controller through bluetoothctl, this happened:
[bluetooth]# devices
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
[DEL] Controller B8:27:EB:81:C7:4C theaterretropie [default]
Waiting to connect to bluetoothd...I check the bluetooth.service status and crashy crash crash.
pi@theaterretropie:~ $ systemctl status bluetooth.service
β bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Wed 2019-02-20 08:01:45 EST; 1min 32s ago
Docs: man:bluetoothd(8)
Main PID: 571 (code=killed, signal=SEGV)
Status: "Running"Feb 20 08:01:10 theaterretropie bluetoothd[571]: Can't get HIDP connection info
Feb 20 08:01:15 theaterretropie bluetoothd[571]: connect error: Host is down (112)
Feb 20 08:01:21 theaterretropie bluetoothd[571]: Can't get HIDP connection info
Feb 20 08:01:27 theaterretropie bluetoothd[571]: connect error: Host is down (112)
Feb 20 08:01:32 theaterretropie bluetoothd[571]: Can't get HIDP connection info
Feb 20 08:01:38 theaterretropie bluetoothd[571]: connect error: Host is down (112)
Feb 20 08:01:43 theaterretropie bluetoothd[571]: Can't get HIDP connection info
Feb 20 08:01:45 theaterretropie systemd[1]: bluetooth.service: Main process exited, code=killed, status=11/SEGV
Feb 20 08:01:45 theaterretropie systemd[1]: bluetooth.service: Unit entered failed state.
Feb 20 08:01:45 theaterretropie systemd[1]: bluetooth.service: Failed with result 'signal'.I restart bluetooth.service and no errors:
pi@theaterretropie:~ $ sudo systemctl start bluetooth.service
pi@theaterretropie:~ $ systemctl status bluetooth.service
β bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-02-20 08:03:30 EST; 5s ago
Docs: man:bluetoothd(8)
Main PID: 29848 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
ββ29848 /usr/lib/bluetooth/bluetoothdFeb 20 08:03:30 theaterretropie bluetoothd[29848]: Starting SDP server
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: Bluetooth management interface 1.14 initialized
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: Failed to obtain handles for "Service Changed" characteristic
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: setsockopt(L2CAP_OPTIONS): Invalid argument (22)
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: avrcp-controller: Protocol not supported (93)
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: setsockopt(L2CAP_OPTIONS): Invalid argument (22)
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: audio-avrcp-target: Protocol not supported (93)
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: Sap driver initialization failed.
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: sap-server: Operation not permitted (1)
Feb 20 08:03:30 theaterretropie bluetoothd[29848]: Failed to set privacy: Rejected (0x0b)Some of those things don't look good but I continue forward. I go back into bluetoothctl and start the scan (I won't post all of the MAC address that it finds since it obviously finds everything that has Bluetooth enabled in the house, but just the SN30 Pro)
[bluetooth]# devices
[bluetooth]# scan on
[NEW] Device 98:B6:E9:42:4B:35 Pro Controller
[bluetooth]# connect 98:B6:E9:42:4B:35
Attempting to connect to 98:B6:E9:42:4B:35
[CHG] Device 98:B6:E9:42:4B:35 Connected: yes
[CHG] Device 98:B6:E9:42:4B:35 Connected: no
Failed to connect: org.bluez.Error.Failed
[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: no
Trusted: no
Blocked: no
Connected: no
LegacyPairing: no
RSSI: -77
[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
[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: no
Trusted: yes
Blocked: no
Connected: no
LegacyPairing: noAt this point I try to turn the controller back on.
[bluetooth]# connect 98:B6:E9:42:4B:35
Attempting to connect to 98:B6:E9:42:4B:35
[CHG] Device 98:B6:E9:42:4B:35 Connected: yes
[CHG] Device 98:B6:E9:42:4B:35 Modalias: usb:v057Ep2009d0001
[CHG] Device 98:B6:E9:42:4B:35 UUIDs: 00001124-0000-1000-8000-00805f9b34fb
[CHG] Device 98:B6:E9:42:4B:35 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device 98:B6:E9:42:4B:35 ServicesResolved: yes
[CHG] Device 98:B6:E9:42:4B:35 Paired: yes
Connection successfulSuccess!
So for entertainment sake, I turn off the controller.
[Pro Controller]# 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: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
Modalias: usb:v057Ep2009d0001It still showed connected which was weird. So I turned the controller back on and bluetoothctl updated with this:
[CHG] Device 98:B6:E9:42:4B:35 ServicesResolved: no
[CHG] Device 98:B6:E9:42:4B:35 Connected: no
[CHG] Device 98:B6:E9:42:4B:35 Connected: yesI look up at the TV and the controller is working. I decided to reboot the Pi to see if the controller automatically syncs. It does!
pi@theaterretropie:~ $ bluetoothctl
[NEW] Controller B8:27:EB:81:C7:4C theaterretropie [default]
[NEW] Device 98:B6:E9:42:4B:35 Pro Controller
[CHG] Device 98:B6:E9:42:4B:35 Connected: yesSo I'm not sure what this tells us. I started digging through the bluetooth.sh script under scriptmodules/supplementary directory to see if anything strikes me that could be causing it to get stuck between bluez, hcitool, and bluetoothctl.
I did notice something weird though. If I go into RetroArch, it doesn't detect the controller as a "RetroPad" like it use to. Instead it is treating the controller as a keyboard but that might be a different topic for a different post.
-
Despite your success, some of your output is still concerning, and we still need to establish whether there's a potential problem in the Bluetooth script that needs addressing.
A potential fix for the infinite hang has just been merged (https://github.com/RetroPie/RetroPie-Setup/pull/2625). Can you try updating your script to ensure you have this change, and then remove & re-register your device, but this time only using the Bluetooth script?
-
@psyke83 said in Bluetooth no longer working after fresh install:
Totally agree with the output concerns. I felt the same way which was why I started digging around the setup script. Give me a few minutes to update the script and remove the device from the bluetoothctl registration.
-
@psyke83 Update:
Got the latest script and confirmed the commit times matched with the Github post.
I no longer hang on "Searching..." so that's all good. It picked up the SN30 Pro, I got the prompt for the input mode, but then I get:
"An error occurred connecting to the bluetooth device (Creating device failed: org.bluez.Error.AuthenticationFailed: Authentication Failed)"
It shows as a registered device but so does every Bluetooth device in the house. The daemon.log shows:
Feb 20 09:29:00 theaterretropie bluetoothd[545]: Refusing input device connect: No such file or directory (2)
Feb 20 09:29:00 theaterretropie bluetoothd[545]: Refusing connection from 98:B6:E9:42:4B:35: unknown device
Feb 20 09:29:06 theaterretropie bluetoothd[545]: 98:B6:E9:42:4B:35: error updating services: Host is down (112)
Feb 20 09:31:43 theaterretropie bluetoothd[545]: Refusing input device connect: No such file or directory (2)
Feb 20 09:31:43 theaterretropie bluetoothd[545]: Refusing connection from 98:B6:E9:42:4B:35: unknown device
Feb 20 09:31:48 theaterretropie bluetoothd[545]: Refusing input device connect: No such file or directory (2)
Feb 20 09:31:48 theaterretropie bluetoothd[545]: Refusing connection from 98:B6:E9:42:4B:35: unknown deviceBluetoothctl shows the device. I try to start the controller up after the sync through the Setup Script and I no longer get stuck in the Connected yes/no loop, but I got automatically disconnected:
pi@theaterretropie:~ $ bluetoothctl
[NEW] Controller B8:27:EB:81:C7:4C theaterretropie [default]
[NEW] Device 98:B6:E9:42:4B:35 Pro Controller
[CHG] Device 98:B6:E9:42:4B:35 Connected: yes
[CHG] Device 98:B6:E9:42:4B:35 Connected: noI checked info and it does show pair but not trusted. I decided to try to trust it but same connected yes/no:
[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 -
@charleszimm just to confirm, you're running latest firmware on controller and have powered on in the correct mode? Apologies if.you have already answered these. Gets confusing with multiple user issues on one thread :-)
-
@BuZz Yep updated and the SN30 Pro is on firmware 1.29 which is the latest firmware for it I can see on 8bitdo's site.
-
@charleszimm It might be worth trying to register/pair with different power on modes.
found this post - a little old but may be useful. https://retropie.org.uk/forum/topic/15201/8bitdo-sf30-pro-and-sn30-pro
-
@BuZz I gave that a shot prior to trying to reaching out on here, but I just ran a quick test in Windows mode. Similar error in the Setup script:
"An error occurred connecting to the bluetooth device (Creating device failed: org.bluez.ErrorConnectionAttemptFailed: Page Timeout)"
-
I think you're comfortable with using the terminal, so could you try reverting RetroPie-Setup to just before my recent major bluetooth changes and retry the same procedure (remove & register via the script only)?
You need to test before commit
12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e
, so:git checkout 12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e^
To go back:
git checkout master
Thanks.
-
@charleszimm said in Bluetooth no longer working after fresh install:
(Creating device failed: org.bluez.ErrorConnectionAttemptFailed: Page Timeout)
I also did a quick google of the error in conjunction with those controllers, and it does suggest that @buzz is correct that the boot method is related to your issue. See: https://www.reddit.com/r/RetroPie/comments/8pxe5d/help_with_8bitdo_n30_pro_bluetooth_gamepad/
Please keep us informed as to your results as we need to know if the recent Bluetooth changes need any more fixes.
-
@psyke83 I should probably state at this point that I'm a Linux sys admin...but I'm also a Linux sys admin that doesn't do a lot with GitHub. Don't I need a branch or a repo for that command to work? When I run git checkout, I get this:
pi@theaterretropie:~ $ git checkout 12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e
fatal: Not a git repository (or any of the parent directories): .gitDo I need to clone it first?
Also the boot mode and security type make no difference. I followed the link from Reddit and that just brings its back to the 8bitdo wiki page on the RetroPie GitHub. Those steps were tried (and remember originally didn't work because of the "Searching..." hang).
-
No need to clone a new copy - simply make sure that you're in the same directory as the existing RetroPie-Setup script:
cd ~/RetroPie-Setup git checkout 12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e^
Note that you omitted the caret to signify the commit preceding the commit specified, so make sure to include it (since you want to test the script right before that commit).
-
@psyke83 Sorry for the delay. Here's the response:
pi@theaterretropie:~/RetroPie-Setup $ pwd
/home/pi/RetroPie-Setup
pi@theaterretropie:~/RetroPie-Setup $ git checkout 12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e^
error: pathspec '12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e^' did not match any file(s) known to git. -
@charleszimm said in Bluetooth no longer working after fresh install:
git checkout 12cb7eb1bc9d810e98adbc8ec7f9a8369ed1f25e^
Huh that's odd. Try to fetch origin before checkout:
git fetch origin
I just tried a fresh clone of the repo and was able to checkout that commit without any problem (on my Pi and laptop).
-
I keep getting flagged as spam but tried the git fetch origin and then the commit point but same message. I recloned the entire RetroPie-Setup from GitHub and tried it again and got the same error.
-
Not sure what's going on there, sorry. Perhaps the caret is causing issues somehow, so it might help to specify another commit that precedes the change. Try:
git checkout 2c9fa79a1ae41c2988d21bd179c33ce515e29245
-
@psyke83 said in Bluetooth no longer working after fresh install:
git checkout 2c9fa79a1ae41c2988d21bd179c33ce515e29245
Nope.
pi@theaterretropie:~/RetroPie-Setup $ git checkout 2c9fa79a1ae41c2988d21bd179c33ce515e29245
fatal: reference is not a tree: 2c9fa79a1ae41c2988d21bd179c33ce515e29245 -
@charleszimm said in Bluetooth no longer working after fresh install:
@psyke83 said in Bluetooth no longer working after fresh install:
git checkout 2c9fa79a1ae41c2988d21bd179c33ce515e29245
Nope.
pi@theaterretropie:~/RetroPie-Setup $ git checkout 2c9fa79a1ae41c2988d21bd179c33ce515e29245
fatal: reference is not a tree: 2c9fa79a1ae41c2988d21bd179c33ce515e29245Very odd. Did you clone from a forked repository instead of the official one? What's the output of
git remote -v
in that folder?P.S. You should encapsulate code via the code tag icon in the editor to avoid the spam filter (and to keep the text tidy).
-
@psyke83 Oh yeah good point. It was more of a laziness thing on my part I won't lie. :-)
pi@theaterretropie:~/RetroPie-Setup $ git remote -v origin https://github.com/RetroPie/RetroPie-Setup.git (fetch) origin https://github.com/RetroPie/RetroPie-Setup.git (push)
-
@charleszimm said in Bluetooth no longer working after fresh install:
@psyke83 Oh yeah good point. It was more of a laziness thing on my part I won't lie. :-)
pi@theaterretropie:~/RetroPie-Setup $ git remote -v origin https://github.com/RetroPie/RetroPie-Setup.git (fetch) origin https://github.com/RetroPie/RetroPie-Setup.git (push)
Really bizarre. The only possibility I can think of is that you somehow have a shallow copy of the repository, so it doesn't include the history of commits up to what we need.
Make sure you're on the master branch, then try to force the whole history to be downloaded:
git checkout master git pull --unshallow
You can see what the oldest commit is via
git log --reverse
- in my case, it shows the very first commit to the repository from 2012.
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.