I cannot seem to get the bluetooth hardware to work with Ubuntu. I can get a USB dongle working, but I'm sure the laptop has internal bluetooth hardware.
Update:
I have halfway succeeded in getting the bluetooth to work by doing step 12 in the list directly below. I actually did this on Lubuntu 16.04, but will test it with Ubuntu 16.04 as well. I successully paired a bluetooth mouse, and am able to use it. However, it is laggy, but not to the point of being unusable. I am also able to send and receive files to my LG G4 via bluetooth. I am, however, not able to pair to bluetooth speakers. I tried pairing to two speakers of different brands, and it appears to connect briefly for a second and then disconnects.
Update:
I have also just gotten the bluetooth speakers to work on Lubuntu 16.04 by doing step 13 directly below. I also was able to get it working on a freshly installed Ubuntu 16.04. I posted the steps to do it as an answer below.
What I have tried:
1) Okay, so I have the Blueman Bluetooth Manager/BlueZ installed.
2) I know the bluetooth programs are functional because I can plug in a bluetooth usb dongle and eveything works how it should with the dongle. I am able to connect bluetooth devices with the dongle.
3) I also know that the laptop itself has bluetooth hardware apart from the dongle I plugged in, because I can unplug the dongle and boot into Windows 10, and bluetooth functions on the Windows 10 OS.
4) I left bluetooth enabled on Windows as well.
5) There are no hard buttons (that I can find) on my laptop to enable or disable bluetooth.
6) In UEFI, bluetooth is enabled.
7) In UEFI, Secure Boot is disabled.
8) I have tried$ rfkill unblock bluetooth
from this post to no avail.
9) I have also tried $ sudo hciconfig hci0 reset
which sadly didn't work and gives the output
"Can't get device info: No such device"
10) I have also tried $ sudo chmod +x /usr/sbin/bluetoothd
and sudo service bluetooth restart
from this post.
11) I have tried reinstalling software as suggested in this post:
$ sudo apt-get install bluetooth blueman bluez-hcidump bluewho python-bluez bluez-tools
12) I was able to get bluetooth partially working on Lubuntu 16.04 by following the steps from this post by Klip. I had to modify the steps slightly to get it working though, so I will post my modified steps.
mkdir ~/tmp
cd ~/tmp
git clone https://github.com/alinefr/rtbth.git
cd rtbth
make
sudo make install
sudo mkdir /usr/src/rtbth-3.9.3
sudo cp -r ~/tmp/rtbth/* /usr/src/rtbth-3.9.3
sudo dkms install rtbth/3.9.3
sudo nano /etc/modules
- Add
rtbth
to the end of the file, press ctrl+o then enter to save the file, and then press ctrl+x to exit. - Reboot
13) I was able to successfully pair and output audio to my bluetooth speakers on Lubuntu 16.04 by following the steps from this post by user631559. Here they are below:
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
Other information:
-When I open the default bluetooth GUI in System Settings... I am able to toggle the on/off switch.
-Whether the bluetooth is toggled on or off, underneath it, in the box that displays the devices you would be connected to, it says, "Bluetooth is disabled".
-When I try to run Bluetooth Manager it gives this error message:
Connection to BlueZ failed
Bluez daemon is not running, blueman-manager cannot continue.
This probably means that there were no Bluetooth adapters detected or Bluetooth daemon was not started.
Without USB Dongle
With USB Dongle
Without USB Dongle on Windows 10
Output:
$ rfkill list
gives the following output:
0: asus-wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
1: asus-bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
$ dmesg | grep -i blue
gives the following output:
[ 1147.342967] Bluetooth: Core ver 2.21
[ 1147.342987] Bluetooth: HCI device and connection manager initialized
[ 1147.342991] Bluetooth: HCI socket layer initialized
[ 1147.342993] Bluetooth: L2CAP socket layer initialized
[ 1147.342998] Bluetooth: SCO socket layer initialized
$ lspci
gives the following output:
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
00:04.0 Signal processing controller: Intel Corporation Device 0a03 (rev 09)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
00:1f.6 Signal processing controller: Intel Corporation 8 Series Thermal (rev 04)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5287 (rev 01)
02:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)
03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe
03:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
$ lsusb
gives the following output:
Bus 001 Device 003: ID 0461:4d15 Primax Electronics, Ltd Dell Optical Mouse
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lsmod | grep blue
gives the following output:
bluetooth 520192 0
$ uname -a; dmesg | egrep 'blue|firm'
gives the following output:
Linux AsusUbuntu 4.4.0-28-generic #47-Ubuntu SMP Fri Jun 24 10:09:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[ 2.141769] psmouse serio4: elantech: assuming hardware version 4 (with firmware version 0x361f03)
[ 28.577829] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt3290.bin'
[ 28.662579] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.37