Solution:
After finding that the profile (a2dp) wasn't connected and seeing that others had the same problem, I looked into whether this profile was implemented in BlueZ5 yet. I guess I didn't read the porting guide closely enough, because it explains that a2dp was moved out of the BlueZ stack and into GStreamer. I had never heard of GStreamer, but I also saw from this post that PulseAudio and JACK would implement this profile as well. I tried PulseAudio, but it would not load the proper UUIDs for the adapter. Then I finally found a post on the ArchLinux wiki. I must have been to this page a million times, but it was probably when I was still using BlueZ4.
Most importantly:
-download the new PulseAudio 5 source code, which has support for BlueZ5, and compile it. (It is not the newest version in the apt repositories.)
-compiling took a LOT of dependencies (JSON,libsndfile,libcap, etc)
-keep in mind that the path for PA5 is /usr/local not /usr/ (This is important, because I had to put it in $LD_LIBRARY_PATH so that PA could find libpulsecore-5.0 at startup)
-as the ArchLinux wiki says, kill the pulseaudio server that is run at startup and start a new one. It doesn't load the profiles at startup. Also make sure that the daemon respawns. (Set in /usr/local//etc/pulse/client.conf)
After that, the usual pactl commands work. I was able to get an a2dp BT source (i.e. iPod) to stream to PA5, and then, using the loopback module, stream to an a2dp BT sink!
I wasn't able to get it to run with ALSA, but I read somewhere that BlueZ5 may not support ALSA pcm plugins anymore.
As no one has posted an answer yet, I'll post a few solutions to try and it will hopefully inspire others with more experience to post answers.
See what others have tried
From Unix & Linux site there is this Q&A: How to pair Bose Soundlink Bluetooth using pulseaudio in Linux Mint Debian:
sudo nano /etc/bluetooth/audio.conf # Insert lines below & save
[General]
Disable=Socket
Enable=Media,Source,Sink,Gateway
Then the commands:
sudo service bluetooth restart
sudo pactl load-module module-bluetooth-discover
sudo pactl load-module module-switch-on-connect
Don't try these steps as is, Read the entire answer!
Answers in Ask Ubuntu
Another answer worth checking out is: How to get Bose Soundlink Mini Bluetooth Working
Another method of gathering log info
With Ubuntu 16.04 and greater you can open a terminal and type journalctl --follow
. Then perform various GUI actions such as bluetooth pairing and see system messages in real-time. This gives you a systemd alternative to dmesg
.
Below is log output from journalctl --follow
where:
- Bluethooth visibility was turned on
- Sony external speaker was set for pairing
- Attached Motorola phone which was previously paired to speaker was woken up to turn off the phone's bluetooth
journalctl
sample log:
$ journalctl --follow
-- Logs begin at Mon 2018-03-05 05:53:18 MST. --
Jul 07 09:49:05 alien dbus[762]: [system] Rejected send message, 2 matched rules; type="method_return", sender=":1.34" (uid=0 pid=1527 comm="/usr/lib/bluetooth/bluetoothd -E ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.63" (uid=1000 pid=2519 comm="/usr/lib/x86_64-linux-gnu/indicator-bluetooth/indi")
Jul 07 09:49:40 alien kernel: nouveau 0000:01:00.0: DRM: resuming kernel object tree...
Jul 07 09:49:41 alien kernel: nouveau 0000:01:00.0: DRM: resuming client object trees...
Jul 07 09:49:41 alien kernel: nouveau 0000:01:00.0: DRM: resuming display...
Jul 07 09:49:41 alien kernel: nouveau 0000:01:00.0: DRM: resuming console...
Jul 07 09:49:46 alien kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150930/nsarguments-95)
Jul 07 09:49:46 alien kernel: ACPI: \_SB_.PCI0.PEG0.PEGP: failed to evaluate _DSM
Jul 07 09:49:46 alien kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150930/nsarguments-95)
Jul 07 09:49:46 alien kernel: nouveau 0000:01:00.0: DRM: suspending console...
Jul 07 09:49:46 alien kernel: nouveau 0000:01:00.0: DRM: suspending display...
Jul 07 09:49:46 alien kernel: nouveau 0000:01:00.0: DRM: evicting buffers...
Jul 07 09:49:46 alien kernel: nouveau 0000:01:00.0: DRM: waiting for kernel channels to go idle...
Jul 07 09:49:46 alien kernel: nouveau 0000:01:00.0: DRM: suspending client object trees...
Jul 07 09:49:46 alien kernel: nouveau 0000:01:00.0: DRM: suspending kernel object tree...
Jul 07 09:51:20 alien kernel: usb 1-1.4.4: new high-speed USB device number 13 using xhci_hcd
Jul 07 09:51:20 alien kernel: usb 1-1.4.4: New USB device found, idVendor=22b8, idProduct=2ea4
Jul 07 09:51:20 alien kernel: usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul 07 09:51:20 alien kernel: usb 1-1.4.4: Product: Moto E (4)
Jul 07 09:51:20 alien kernel: usb 1-1.4.4: Manufacturer: motorola
Jul 07 09:51:20 alien kernel: usb 1-1.4.4: SerialNumber: ZY224VD3MX
Jul 07 09:51:20 alien mtp-probe[17678]: checking bus 1, device 13: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.4"
Jul 07 09:51:20 alien mtp-probe[17678]: bus: 1, device: 13 was not an MTP device
Jul 07 09:51:21 alien kernel: usb 1-1.1: usbfs: interface 0 claimed by usblp while 'brscan-skey-0.2' sets config #1
There might be other messages the system is generating at the same time that you might to ignore.
Turning bluetooth speakers on
Using the systray GUI, when clicking the Off to turn it On this message appears in the terminal:
Jul 07 10:14:32 alien bluetoothd[1527]: Unable to get Headset Voice gateway SDP record: Host is down
Because the speakers have no microphone so the message is trivial.
Bose Revolve Soundlink troubleshooting
From here it suggests:
Bluetooth Will Not Pair
Your Bluetooth device will not pair to the speaker.
Speaker isn't in Bluetooth Mode
Make sure your speaker is in Bluetooth mode by pressing the Bluetooth button on the speaker while it is on. When the speaker is ready to pair, the LED next to the Bluetooth button will flash blue, and, if the voice prompts are on, the speaker will say, "ready to pair".
Bluetooth isn't Turned on or Enabled on Your Device
Make sure the Bluetooth for your device is turned on or enabled and try to pair it again.
The Device You are Trying to Connect to the Speaker to may be Out of Range
The speaker's wireless range is 30 feet. Make sure that the device you are trying to connect to the speaker is within that range and try to pair it again.
There is Something in Between Your Device and the Speaker
Make sure there isn't anything between your device and the speaker, like bodies, walls, etc. and try to pair it again.
Multiple Paired Devices
Only one device can be connected to the speaker at a time. If there are two devices paired to the speaker, turn off the Bluetooth on the device you don't want to be connected to the speaker and try to pair the device you do want to be connected to the speaker.
There Have Been Eight Devices Connected to the Speaker
The speaker can only store information about the last eight devices that were paired with it. To select your device, repeatedly press the Bluetooth button on the speaker until you hear the name of your device. If you don't hear your device's name, clear the speaker's device memory. To clear the memory and connect your device, press and hold the Bluetooth button on the speaker until you hear a tone and, if voice prompts are enabled, you will also hear a voice prompt. Then the Bluetooth light will begin flashing blue and you can try to connect your device to the speaker again.
The Speaker's Motherboard May be Faulty
First, factory reset the speaker by pressing and holding the power button while the speaker is on until the speaker asks you to select a language and there is a flashing blue light. Select a language and try to connect your device to the speaker again. If your device still won't connect to the speaker, consider replacing the motherboards as a last resort.
Best Answer
This is not really the answer required, relating to using
blueman
, but gives an alternative toblueman
, as a solution to the more general problem thatblueman
didn't solve: "I would like to have a "connect" option in the tray icon for the paired devices."That is provided by the 1.2.9 version of
blueberry
, the Linux Mint configuration tool for bluetooth, available in Linux Mint 19.2. I have tested it in the Xfce version (New features in Linux Mint 19.2 Xfce, under XApps improvements: "The Blueberry systray menu now lets you connect or disconnect paired devices with a click of the mouse". The same is said for the Mate and Cinnamon versions).Right-clicking the tray icon shows the menu:
I am not sure if/when blueberry 1.2.9 is/will be available in the very Ubuntu repos, and for the moment I can only find as deb to download the version 1.2.5, but this PPA provides the 1.2.9 version.
Another solution would be a panel launcher to connect, for example by running this script, which will connect the first unconnected bluetooth headset that it finds.
After saving the script and making it executable, create a
.desktop
file in~/.local/share/applications
to run that script:Then, add 'Bluetooth-connect' as a launcher to the Xfce panel. (That
.desktop
file can be used differently in other desktops of course. It can also be found by search & launch tools like Synapse, WhiskerMenu, etc.)