Cannot connect PiSound App running on Samsung Galaxy S6 or S9

Hi, I’ve been struggling with getting the Android app to connect to the board using both a Samsung Galaxy S6 and S9.
I’m setting the board as discoverable and connecting via the PiSound app.
The app reports a connection failure.
I’ve tried removing the pairing from both the Pi and the Phone but still no luck.
When I connect for the first time, both the phone and Pi prompt for trusting. The bluetooth log on the Pi looks like this:

CHG] Controller B8:27:EB:05:E4:7B Discoverable: yes
[CHG] Device F4:0E:22:C0:20:3A Connected: yes
[CHG] Device F4:0E:22:C0:20:3A Connected: no
[bluetooth]# paired-devices
Device F4:0E:22:C0:20:3A Galaxy S6 edge+
[bluetooth]# info F4:0E:22:C0:20:3A
Device F4:0E:22:C0:20:3A (public)
Name: Galaxy S6 edge+
Alias: Galaxy S6 edge+
Class: 0x005a020c
Icon: phone
Paired: yes
Trusted: yes
Blocked: no
Connected: no
LegacyPairing: no
UUID: OBEX Object Push (00001105-0000-1000-8000-00805f9b34fb)
UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)
UUID: PANU (00001115-0000-1000-8000-00805f9b34fb)
UUID: NAP (00001116-0000-1000-8000-00805f9b34fb)
UUID: Handsfree Audio Gateway (0000111f-0000-1000-8000-00805f9b34fb)
UUID: SIM Access (0000112d-0000-1000-8000-00805f9b34fb)
UUID: Phonebook Access Server (0000112f-0000-1000-8000-00805f9b34fb)
UUID: Message Access Server (00001132-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Vendor specific (d037930c-e691-4e9c-b51b-2e71d016d812)
Modalias: bluetooth:v0075p0100d0200

Looking in /var/log/daemon.log on the Pi I see the following messages:

Sep 20 16:10:45 dgibso2-pi pisound-btn[399]: 2019-09-20.16:10:45: Setting Discoverable prop of /org/bluez/hci0 to true
Sep 20 16:11:01 dgibso2-pi bluetoothd[691]: Unable to get io data for Pisound Control Service: getpeername: Transport endpoint is not connected (107)
Sep 20 16:12:09 dgibso2-pi bluetoothd[691]: a2dp-source profile connect failed for F4:0E:22:C0:20:3A: Protocol not available

Any suggestions?

Thanks,
Dave

Try entering this command to sudo bluetoothctl:

trust F4:0E:22:C0:20:3A

What is the OS you are running? Did you customize any bluetooth related settings / software on the system? Normally, on stock Patchbox OS, the only thing you’d need to do is to put Raspberry Pi into ‘discoverable’ mode, and same on Raspbian OS, after running the ‘install-pisound.sh’ script, then connect via the App.

I am having the same problem on a samsung J7 Neo.

The phone will pair with the pi, but the app simply gives a connection error. Not a very detailed message.

I used bluetoothctl to make the phone a trusted device, but it doesn’t make any difference. I have reloaded raspbian on the pi and went through all the steps and verification to load the software and test. It all produced the expected output.

The app sees the pi, but when i try to connect, it gives a connection error.
Im kind of stumped, since bluetooth seems to be working fine. I even swapped out the pi for a spare 3B+ i had. Same thing.

This is as much information the app can report, the actual reasons are hidden within the Android OS. :slight_smile:

Any chance anyone hitting the issue could post the adb logs of Android when trying to establish the connection? Also there could be some relevant information in the Raspberry’s dmesg log after connection attempt is made.

Another idea would be to add --experimantal flag to bluetoothd server, this helped me resolve connectivity of some unrelated Bluetooth devices to Raspberry Pi. This can be done by editing /lib/systemd/system/bluetooth.service as root and appending the flag to ExecStart line, so the whole line looks like this:

ExecStart=/usr/lib/bluetooth/bluetoothd --experimental

After that is changed run:

sudo systemctl daemon-reload
sudo systemctl restart bluetooth

then try to make the connection again.

Hi,

Sorry for the delay, only just now saw there was a response to this.

So I added the --experimental line to the ExecStart line, ran the commands to reload the daemons and restart bluetooth, and still getting the error.

This time however, the daemon log has the following message;

bluetoothd[519]: Unable to get io data for Pisound control service: getpeername: Transport endpoint is not connected (107)

When I googled this, most people seem to get this error when a bluetooth device is not paired, but when I go into bluetoothctl, I can definitely see the phone as a device. I can pair it and pull information off the Pi using the phone, so on a basic level bluetooth seems to be working.

This is very confusing. I am pretty good at troubleshooting most tech, but aside from the app not connecting, I can’t seem to see anything broken with bluetooth. I am not even clear what the app is supposed to do, since I can’t see anything past the scan for devices.

There is nothing unique about my setup. I even tried a different newer Samsung phone (A6).

Okay, some new info.

I downloaded the latest MODEP image and bluetooth works on it. So at least it isn’t some type of hardware defect. I am still no further than before with the raspbian image.

Any idea on what config files might be different in the preconfigured MODEP image from what the standard install creates?

Thanks again

Hi, do you simply flash the latest Raspbian image, run install-pisound.sh, and try to use the app?

This also fails on Pixel 3 using latest raspian buster lite image and documented pisound installation. But Pixel 3 is able to establish a connection to the old modep image.

Still looking forward to the iOS app…

Hi, resuming this… I have the same problem on a Pixel 4. Is the app still supported? Thanks!

Hey, make sure to update the system using apt-get, there’s been some issues caused by certain libbluez versions. Please check the bluetooth and system logs for any errors after connection attempt using these commands:

sudo systemctl status bluetooth
sudo journalctl -u bluetooth
sudo systemctl status pisound-ctl
sudo journalctl -u pisound-ctl
dmesg

To see the latest log lines in journalctl command, press the ‘end’ key, ‘q’ to exit the viewer.

ok just rebooted, it solved the issue

1 Like