Lenovo Thinkpad E480 - Bluetooth not working in Ubuntu 18.04

I have recently purchased a Lenovo Thinkpad E480 laptop, I have installed Ubuntu 18.04 on it, everything is working fine except its not able to switch on the Bluetooth. Please help.

I followed this link, but am unable to solve the issue.

Below are the outputs of some commands.

lspci -nnk | grep -iA3 net

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
    Subsystem: Lenovo RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [17aa:506f]
    Kernel driver in use: r8168
    Kernel modules: r8168
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821]
    Subsystem: Lenovo RTL8821CE 802.11ac PCIe Wireless Network Adapter [17aa:c024]
    Kernel driver in use: rtl8821ce
    Kernel modules: 8821ce
06:00.0 SD Host controller [0805]: O2 Micro, Inc. SD/MMC Card Reader Controller [1217:8621] (rev 01)
rajvi@rbt3105:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 06cb:00a2 Synaptics, Inc. 
Bus 001 Device 003: ID 13d3:56a6 IMC Networks 
Bus 001 Device 002: ID 0bda:c024 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

rfkill list

0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
2: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

uname -r

4.15.0-33-generic

dmesg | egrep -i 'blue|firm'

[    0.034532] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    0.127509] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    2.488999] usb 1-5: Product: Bluetooth Radio 
[    2.688316] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_01.bin (v1.1)
[    4.540443] psmouse serio2: trackpoint: Elan TrackPoint firmware: 0x10, buttons: 3/3
[   21.991043] RTW: rtl8821c_fw_dl Download Firmware from array success
[   22.619647] Bluetooth: Core ver 2.22
[   22.619660] Bluetooth: HCI device and connection manager initialized
[   22.619662] Bluetooth: HCI socket layer initialized
[   22.619664] Bluetooth: L2CAP socket layer initialized
[   22.619666] Bluetooth: SCO socket layer initialized
[   22.653194] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is blocked
[   24.796211] Bluetooth: hci0: command 0x1001 tx timeout
[   29.654113] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   29.654114] Bluetooth: BNEP filters: protocol multicast
[   29.654116] Bluetooth: BNEP socket layer initialized
[   32.988224] Bluetooth: hci0: HCI_OP_READ_LOCAL_VERSION failed (-110)

It seems I have to clone, compile and install the required Bluetooth driver, please guide me which Bluetooth driver to use and how to install (with steps if possible).

P.S.: Let me know if any further information is needed to solve this issue, I will add the required info (if any) in the question as per the guidance given.

Edit:

enter image description here

You can see the even though the bluetooth switch is toggle on, it still shows the bluetooth is 'off'.


Ubuntu does not have pre-installed drivers for Realtek Hardware. You were lucky that your wifi worked fine, because I had suffered about almost a month repairing the wifi issues. Now let's solve the realtek problem:

First ensure that you are having Linux kernel > 4.14. To check that, type following on terminal:

uname -msr

If you get something like Linux 4.15, assume everything is fine. And just in case if its not higher than 4.14 (since you are using Ubuntu 18.04, by default the Linux kernel which comes in package is 4.15, so this is for the ones who are still at Ubuntu 16.04), Connect to Ethernet and type following commands:

sudo -s

sudo apt-get dist-upgrade

sudo apt-get upgrade

sudo apt-get update

reboot

This will take time, but have patience. By now you should have linux kernel > 4.14. Now comes the real driver installation part.

Ensure you have installed git. If not type the following command:

sudo apt-get install git

git clone https://github.com/tomaspinho/rtl8821ce.git

cd rtl8821ce/

sudo make all

sudo make install

sudo modprobe -a 8821ce

reboot

This should solve your problem.


kernel update to version 4.15.0-34-generic or higher fixed the issue.

I confirm the same with my work environment. Due to other work commitment, I have to use Windows-10 on my laptop (completely wiped out ubuntu for time being) for a while which kept me away from solving this issue, regret replying late.