Cannot unblock soft-blocked bluetooth

I have a problem with my bluetooth adapter. Can't turn it on, and i followed some tutorials to fix that, but with no luck. It seems to be soft blocked, I run the command to soft unblock, the icon in taskbar goes white for a 0.5 second and then is switched back. how can i unblock this? here is the output of console when I run rfkill list all :

0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: hp-bluetooth: Bluetooth
    Soft blocked: yes
    Hard blocked: no

I used sudo rfkill unblock bluetooth to unblock bluetooth. Thanks.


Solution 1:

If the unblock command doesn't work, try another two commands (which will ask for password):

rfkill unblock bluetooth
systemctl enable bluetooth.service
systemctl start bluetooth.service

Solution 2:

I have been facing this same issue since the last 1 week; I remember it well because I regularly connect my bluetooth headphones/earphones with the system for media consumption.

The issue started occurring after I performed my weekly system update.

The OS I am using right now is Pop-OS 20.04 which is a derivative of ubuntu 20.04.

I followed the steps specified in the answer by Lesego above with some changes :-

First, lets list all the devices being controlled by rfkill :-

$ sudo rfkill list all
0: phy0: Wireless LAN
       Soft blocked: no
       Hard blocked: no
1: hci0: Bluetooth
       Soft blocked: yes
       Hard blocked: no

The output shows that bluetooth has been soft blocked.

Then I run the command to remove the soft block from Bluetooth device

sudo rfkill unblock bluetooth

Next, let's again check the list of all the devices being controlled by rfkill :-

$ sudo rfkill list all
0: phy0: Wireless LAN
       Soft blocked: no
       Hard blocked: no
1: hci0: Bluetooth
       Soft blocked: no
       Hard blocked: no

Now, if I check the status of bluetooth service to confirm whether the service is enabled to start on boot or not, the output shows that the service is enabled as well as "active (running)" :-

$ sudo systemctl status bluetooth.service
 ● bluetooth.service - Bluetooth service
      Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
      Active: active (running) since Sat 2021-04-03 15:10:26 IST; 1h 13min ago
        Docs: man:bluetoothd(8)
        Main PID: 1105 (bluetoothd)
        Status: "Running"
        Tasks: 1 (limit: 18579)
        Memory: 1.7M
        CGroup: /system.slice/bluetooth.service
                └─1105 /usr/lib/bluetooth/bluetoothd
 
Apr 03 15:10:26 pop-os systemd[1]: Starting Bluetooth service...
Apr 03 15:10:26 pop-os bluetoothd[1105]: Bluetooth daemon 5.53
Apr 03 15:10:26 pop-os systemd[1]: Started Bluetooth service.
Apr 03 15:10:26 pop-os bluetoothd[1105]: Starting SDP server
Apr 03 15:10:27 pop-os bluetoothd[1105]: Bluetooth management interface 1.19 initialized
Apr 03 15:10:38 pop-os bluetoothd[1105]: Endpoint registered: sender=:1.75 path=/MediaEndpoint/A2DPSink/sbc
Apr 03 15:10:38 pop-os bluetoothd[1105]: Endpoint registered: sender=:1.75 path=/MediaEndpoint/A2DPSource/sbc
Apr 03 15:10:42 pop-os bluetoothd[1105]: Failed to set mode: Blocked through rfkill (0x12)

So, instead of running the enable and then the start command for bluetooth.service; I run :-

sudo systemctl restart bluetooth.service

After doing the following steps;

  • The bluetooth service starts working and I can connect my bluetooth devices with the system till I click on "Turn Off" in the bluetooth settings option.

  • And then again if I click on "Turn On" in the bluetooth settings option that does not work.

  • I need to again do the above specified steps to make the bluetooth service working again.

The steps shared also do not persist through system reboots.

What I was able to understand from multiple community forums where similar issues were discussed is that this could be related to a faulty driver or a kernel update gone wrong and I think that could be the case because I started experiencing this issue the day after I did a system packages update.

So, one thing seems to be confirmed that this can/will be fixed via future system package updates, I just need to wait for the same and follow these specified steps till the issue gets resolved on its own via future provided updates.