64

I'm using Mint 15 w/ Cinnamon.

I bought a set of bluetooth speakers and I'm trying to connect to them via terminal. Via the GUI I can see them normally and I am connected to them. I want to make a small script so every time they are visible I would connect to them automatically.

I am trying to scan them with:

hcitool scan

But I get

Scanning...

and after a few seconds the process dies.

The same thing with hidd --search.

If I run hciconfig scan I get:

hci0:   Type: BR/EDR  Bus: USB
    BD Address: 40:2C:F4:78:E8:69  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN 
    RX bytes:130700 acl:22 sco:0 events:18527 errors:0
    TX bytes:31875398 acl:36784 sco:0 commands:75 errors:0

I suppose that is just saying my bluetooth address and that it is turned on.

As I said already, via the normal User Interface, I can see the speakers and I am connected to them, but through terminal I get nothing.

Actually it is quite funny that hcitool scan isn't finding anything since my speakers are connected and every time I run the command the sound from the speakers breaks for a couple of seconds.

44

I managed to do so via bluez-tools:

sudo apt-get install bluez-tools

List of devices to get the MAC address of my device:

bt-device -l

and successfully connect to it:

bt-audio -c 01:02:03:04:05:06

Keep in mind that the bt-audio feature has been reimplemented probably some time in 2016, so bt-audio is likely no longer available as such.

| improve this answer | |
  • 12
    This is probably for an old version as there is no bt-audio command anymore – Édouard Lopez Oct 3 '16 at 17:02
  • 1
    For update follow the issue github.com/khvzak/bluez-tools/issues/13 – Édouard Lopez Oct 3 '16 at 17:09
  • On Linux Mint 17 (Cinnamon) I successfully used bluez-test-audio connect MAC_ADDRESS for an already paired audio device. – Suzana Jan 28 '17 at 1:23
  • 7
    I successfully used bt-device -c mac_address on Debian. 9. – jbrock Jan 22 '19 at 20:18
  • 4
    On Ubuntu 18.04, bt-audio is not available. Judging from bluez-audio issue #13, this has been the case for years. Running bt-device -c <device-mac> doesn't help ("Error: GDBus.Error:org.bluez.Error.AlreadyExists: Already Exists") and I'm reluctant to go into hacks suggested under issue #13 because I have to do them on each machine, I expect they'll be deprecated easily etc. Can it really be that (after navigating to the right part of the settings GUI) it's a single click on GUI to redirect sound to a speaker, but that there's still no way to do it in a single, simple command from the CLI? – Tomislav Nakic-Alfirevic May 4 at 10:14
20

To do it with the built-in utils, you can follow this slightly more manual process using bluetoothctl.

hcitool scan  # to get the MAC address of your device
bluetoothctl
agent on
scan on  # wait for your device's address to show up here
scan off
trust MAC_ADDRESS
pair MAC_ADDRRESS
connect MAC_ADDRESS

The posts in this Github issue suggest a way to script it, but that did not work for me since I needed to manually wait for the scan to yield results.

| improve this answer | |
  • this is the only way I made it work. Thanks! – Boson Bear Jul 15 at 18:36
  • Yep, this worked like a charm. Now I can connect to my active speaker with Super+G – koem Nov 18 at 21:47
12

I did to sudo apt-get install bluez-tools, because I did use it at some point.

After being able to find the device from hcitool scan, I ran bluez-simple-agent hci0 X where X is the mac address of the device I was adding. This created the connection to the device.

Then I ran hciconfig scan and it seems to have automatically started the connection.

| improve this answer | |
  • 2
    Ubuntu 16.04. There is no bluez-simple-agent command. – LRDPRDX Sep 23 '18 at 13:52
2

I know this is kinda late but I was playing with this command hcitool and I'd like to point out something that I noted which solves your issue of doing a scan and the process "just dying". The thing is the scan only works if the devices are unpaired. In your case, you say you can see the speakers are connected on the GUI which means they've already been paired...hence the scan returns nothing.

I'm working on how to pair/connect devices with the same tool although I can see you've been given other options. I'll update my answer as soon as I manage.

| improve this answer | |
0

I have the following installed in Debian 9.

blueman/stable,now 2.0.4-1 amd64 [installed]
bluez/stable,stable,now 5.43-2+deb9u1 amd64 [installed]
bluez-obexd/stable,stable,now 5.43-2+deb9u1 amd64 [installed,automatic]
bluez-tools/stable,now 0.2.0~20140808-5+b2 amd64 [installed]
pulseaudio-module-bluetooth/stable,now 10.0-1+deb9u1 amd64 [installed]

I have already paired my Bluetooth headphones to a USB Bluetooth adapter on my desktop using the GUI application Bluetooth Manager. I have a keyboard shortcut that runs the following two commands: bt-device -c 00:02:5B:01:3C:3B; pacmd set-default-sink bluez_sink.00_02_5B_01_3C_3B.a2dp_sink

  1. Connect headphones to the Bluetooth USB adapter. (Use bt-device -l to get the MAC address.)
  2. Set Bluetooth audio as the default output. (Use pacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}' to get the correct name.)
| improve this answer | |
-1

This might be a bit late, but I had the exact same problem, with the same output from hciconfig.

However, sudo hcitool lescan did the job for me - maybe it can still help you!

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.