- USB-bluetooth drivers for Ubuntu 16.04
- 2 Answers 2
- Bluetooth: Using USB bluetooth adapters
- Install Bluez
- Discover the Bluetooth devices in range
- Send an image to your mobile phone
- Enable the Linux Kernel Bluetooth support on Aria G25
- How to Configure Bluetooth On Debian
- Table of Contents
- Installing Bluetooth Drivers
- Getting the Bluetooth Adapter Ready
- Using GNOME Bluetooth to Connect to Bluetooth Devices
- Using Bluedevil to Connect to Bluetooth Devices
- Using Blueman to Connect to Bluetooth Devices
- Conclusion
- References
- About the author
- Shahriar Shovon
USB-bluetooth drivers for Ubuntu 16.04
I need to add bluetooth to my desktop Ubuntu machine, running 16.04. Do I need to buy a specific USB-adapter for driver-support, or can I go pickup basically anything, and it should have support and work?
2 Answers 2
A well-trod path for this is already on the Ubuntu wiki:
The page is maintained by the community — if you discover updated or new information, please share.
to add to this, if you shop on amazon.com or newegg.com many of the product descriptions will say if they support linux. Both of those websites have very good policies for returns so if it turns out not to work they will allow you to return it as defective if it will not work in linux if the description says it will. I have purchased multiple things for my linux box at both sites and have never had an issue getting it to work if it says it’s Linux compatible.
@user535733: I have another device working with Ubuntu 18.04, but not listed on this listing. Where can I notify the community to add such device to this list?
@pt12lol — YOU are a member of the community, too. Make an account, edit the page. While there, update a couple more pages also.
I’ve had a problem with getting Bluetooth audio (well any bluetooth connection) to work with Ubuntu 16:04 on my HP Envy 17 which runs a Broadcom Limited BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03).
After a lot of searching over the last two years, I had a clue in that there was a missing firmware driver error:
bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21fb.hcd failed with error -2
so it was just a matter of tracking down the missing piece of firmware and copying into /lib/firmware/brcm/ which I found at github:
Bluetooth: Using USB bluetooth adapters
The default Linux Debian distribution has the Bluetooth driver already installed so plugging a Bluetooth USB adapter and typing dmesg you will obtain the following messages:
debarm:~# dmesg . usb 1-1: new full speed USB device using at91_ohci and address 2 Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: Generic Bluetooth USB driver ver 0.6 usbcore: registered new interface driver btusb debarm:~# lsusb Bus 002 Device 002: ID 1131:1004 Integrated System Solution Corp. Bluetooth Device Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub debarm:~#
Install Bluez
Bluez is the Official Linux Bluetooth protocol stack (http://www.bluez.org/) and you need to install it to do any further action with Bluetooth. This stack is available as standard Debian package with the name bluez-utils so to install it simply type:
debarm:~# apt-get update . debarm:~# apt-get install bluez .
debarm:~# dmesg . Bluetooth: L2CAP ver 2.15 Bluetooth: L2CAP socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bridge firewalling registered Bluetooth: SCO (Voice Link) ver 0.6 Bluetooth: SCO socket layer initialized
Discover the Bluetooth devices in range
Turn on you mobile phone and enable on it the Bluetooth features.
On the FOX command line type hcitool scan to discover the Bluetooth devices visible from your board:
debarm:~# hcitool scan Scanning . 00:25:48:FC:98:6D Sergio
On this list Sergio is my own mobile phone name and 00:25:48:FC:98:6D is its Bluetooth unique address (learn more about hcitool. ).
Let’s try to check which services are available on my mobile phone typing:
debarm:~# sdptool search OPUSH 00:25:48:FC:98:6D Inquiring . Searching for OPUSH on 00:25:48:FC:98:6D . Service Name: OBEX Object Push Service RecHandle: 0x1000a Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 6 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100
OBEX is the first service we’ll use to do the first experiment and it is on the Channel 6.
OBEX (abbreviation of OBject EXchange) is a communications protocol that facilitates the exchange of binary objects between devices. OpenOBEX, an open source implementation of the OBEX protocol, is used on the Debian Linux distribution.
Send an image to your mobile phone
Let’s try to use OBEX to send an image to our Bluetooth mobile phone.
Download on your FOX this image:
wget http://terzo.acmesystems.it/download/examples/tuxcase.jpg --2010-08-20 13:55:19-- http://terzo.acmesystems.it/download/examples/tuxcase.jpg Resolving www.acmesystems.it. 78.47.10.198 Connecting to terzo.acmesystems.it|78.47.10.198|:80. connected. HTTP request sent, awaiting response. 200 OK Length: 4710 (4.6K) [image/jpeg] Saving to: `tuxcase.jpg' 100%[======================================>] 4,710 --.-K/s in 0.07s 2010-08-20 13:55:20 (69.0 KB/s) - `tuxcase.jpg' saved [4710/4710] debarm:~#
Now install ObexFtp an utility to transfer files using the OBEX protocol (learn mode about ObexFtp. ).
debarm:~# apt-get install obexftp .
then send the Tux to your mobile phone typing:
debarm:~# obexftp --nopath --noconn --uuid none --bluetooth 00:25:48:FC:98:6D --channel 6 -p tuxcase.jpg Suppressing FBS. Connecting..\done Tried to connect for 628ms Sending "tuxcase.jpg". |done Disconnecting../done
Enable the Linux Kernel Bluetooth support on Aria G25
$ make ARCH=arm menuconfig [*] Networking support ---> Bluetooth subsystem support ---> --- Bluetooth subsystem support [*] L2CAP protocol support [ ] SCO links support (NEW) RFCOMM protocol support [ ] RFCOMM TTY support (NEW) < >BNEP protocol support (NEW) < >HIDP protocol support (NEW) Bluetooth device drivers ---> HCI USB driver < >HCI SDIO driver HCI UART driver [ ] UART (H4) protocol support (NEW) [ ] BCSP protocol support (NEW) [ ] Atheros AR300x serial support (NEW) [ ] HCILL protocol support (NEW) < >HCI BCM203x USB driver (NEW) < >HCI BPA10x USB driver (NEW) < >HCI BlueFRITZ! USB driver (NEW) < >HCI VHCI (Virtual HCI device) driver (NEW) < >Marvell Bluetooth driver support (NEW) < >Atheros firmware download driver (NEW)
How to Configure Bluetooth On Debian
Suppose your laptop or computer has WiFi or Bluetooth hardware installed. In that case, there is a chance that Debian won’t recognize it automatically after you’ve installed Debian on your computer, as many other Linux distributions do. It’s because Debian does not include these drivers by default. But, you can easily install the required drivers from the official Debian non-free repository and get them to work on Debian.
In this article, I will show you how to enable and configure Bluetooth on Debian 10. So, let’s get started.
Table of Contents
Installing Bluetooth Drivers
Most laptops these days have one of the many versions of the Intel CNVi wireless adapters installed on them, and these adaptors usually provide WiFi and Bluetooth support for these devices. So, to get Bluetooth working on your Debian machine, you have to install the iwlwifi firmware on your computer.
NOTE: My test computer has the Intel Wireless-AC 9560D2W card installed. It provides Bluetooth and WiFi functionality for my test computer.
First, enable the Debian official non-free package repository with the following command:
The Debian official non-free package repository should be enabled.
Update the APT package repository cache with the following command:
The APT package repository cache should be updated.
Now, install the iwlwifi firmware with the following command:
The iwlwifi firmware is being installed. It may take a few seconds to complete.
The iwlwifi firmware should be installed.
For the changes to take effect, reboot your computer with the following command:
Getting the Bluetooth Adapter Ready
You can use rfkill to find out whether your computer has detected the installed Bluetooth hardware of your computer.
First, install the rfkill package with the following command:
rfkill should be installed.
Run rfkill as follows:
All the wireless hardware (i.e., Wi-Fi and Bluetooth) installed on your computer should be listed.
As you can see, a Bluetooth device is available on the list. It has the ID 0 on my computer. On your computer, the ID may be something other than 0. So, make sure to replace it with yours from now on.
In some cases, Bluetooth may be blocked on your computer.
To use the Bluetooth hardware, you will have to unblock it as follows:
NOTE: Here, 0 is the ID of the Bluetooth device.
As you can see, the Bluetooth device is unblocked. Now, it’s ready to be used.
Using GNOME Bluetooth to Connect to Bluetooth Devices
GNOME Bluetooth is the default Bluetooth manager app for the GNOME 3 desktop environment. GNOME Bluetooth is tightly integrated with the GNOME 3 desktop environment. So, you will have an amazing experience using it.
You can install all the required packages to set up GNOME Bluetooth on Debian 10 with the following command:
To confirm the installation, press Y and then press .
GNOME Bluetooth and all the required dependency packages are being installed. It may take a few seconds to complete.
At this point, GNOME Bluetooth and other required packages should be installed.
Now, check the status of the Bluetooth service as follows:
The Bluetooth service should be active/running and enabled as marked in the screenshot below.
In case the Bluetooth service is not active/running, you can start it with the following command:
In case the Bluetooth service is not enabled, you can enable it with the following command:
Once GNOME Bluetooth is installed and the Bluetooth service is active/running, you can navigate to the Bluetooth section of the GNOME Settings app and connect to your Bluetooth devices from there.
To learn how to use GNOME Bluetooth, read the Connecting to a Bluetooth Device using GNOME Bluetooth section of the article How to Connect to a Bluetooth Device on Arch Linux.
Using Bluedevil to Connect to Bluetooth Devices
Bluedevil is the default Bluetooth manager app for the KDE desktop environment. Bluedevil is tightly integrated with the KDE desktop environment. So, you will have an amazing experience using it.
You can install all the required packages to set up Bluedevil on Debian 10 with the following command:
To confirm the installation, press Y and then press .
Bluedevil and all the required dependency packages are being installed. It may take a few seconds to complete.
At this point, Bluedevil and other dependency packages should be installed.
Now, check the status of the Bluetooth service as follows:
The Bluetooth service may not be running.
The Bluetooth service should be enabled.
In case the Bluetooth service is not active/running, you can start it with the following command:
In case the Bluetooth service is not enabled, you can enable it with the following command:
Once Bluedevil is installed and the Bluetooth service is active, you can click on the Bluetooth icon ( ) from the KDE panel to bring up the Bluetooth applet.
You can manage your Bluetooth devices from here.
You can also right-click (RMB) on the Bluetooth icon ( ) from the KDE panel and click on Configure Bluetooth… as marked in the screenshot below to bring up the Bluetooth System Settings window.
From this window, you can manage your Bluetooth devices from here as well.
To learn how to connect to Bluetooth devices with Bluedevil, read the Connecting to a Bluetooth Device using Bluedevil section of the article How to Connect to a Bluetooth Device on Arch Linux.
Using Blueman to Connect to Bluetooth Devices
Blueman is a third-party Bluetooth manager. If you want, you can also use it to manage your Bluetooth devices.
You can install Blueman on Debian 10 with the following command:
To confirm the installation, press Y and then press .
Blueman is being installed. It may take a while to complete.
At this point, Blueman should be installed.
Once Blueman is installed, you can start it from the Application Menu of your computer.
The Blueman app should start. You can manage your Bluetooth devices from here.
To learn how to connect to Bluetooth devices with Blueman, read the Blueman for Connecting to a Bluetooth Device section of the article How to Connect to a Bluetooth Device on Arch Linux.
Conclusion
In this article, I have shown you how to install Bluetooth drivers on Debian and configure it. I have also shown you how to set up the GNOME 3 desktop environment and the KDE desktop environment for using Bluetooth. I have shown you how to install a third-party Bluetooth manager Blueman on Debian as well.
References
About the author
Shahriar Shovon
Freelancer & Linux System Administrator. Also loves Web API development with Node.js and JavaScript. I was born in Bangladesh. I am currently studying Electronics and Communication Engineering at Khulna University of Engineering & Technology (KUET), one of the demanding public engineering universities of Bangladesh.