无法解除软阻止的蓝牙

无法解除软阻止的蓝牙

我的蓝牙适配器有问题。无法打开它,我按照一些教程来修复它,但没有成功。它似乎被软阻止了,我运行命令来软解锁,任务栏中的图标变白 0.5 秒,然后切换回来。我该如何解锁?这是我运行时控制台的输出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

我曾经sudo rfkill unblock bluetooth解锁过蓝牙。谢谢。

答案1

如果解除阻止命令不起作用,请尝试另外两个命令(将要求输入密码):

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

答案2

我从过去一周开始就一直面临同样的问题;我记得很清楚,因为我经常将我的蓝牙耳机/耳塞与系统连接起来以进行媒体消费。

在我执行每周系统更新后,这个问题开始出现。

我现在使用的操作系统是 Pop-OS 20.04,它是 ubuntu 20.04 的衍生版本。

我按照上面 Lesego 的回答中指定的步骤进行操作,但做了一些更改:-

首先,让我们列出所有由 rfkill 控制的设备:-

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

输出表明蓝牙已被软阻断。

然后我运行命令从蓝牙设备中删除软块

sudo rfkill unblock bluetooth

接下来,让我们再次检查 rfkill 控制的所有设备的列表:-

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

现在,如果我检查蓝牙服务的状态以确认该服务是否已启用以在启动时启动,则输出显示该服务已启用且处于“活动(运行)”状态:-

$ 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)

因此,我不是运行启用然后启动 bluetooth.service 的命令,而是运行:-

sudo systemctl restart bluetooth.service

完成以下步骤后;

  • 蓝牙服务开始工作,我可以将我的蓝牙设备与系统连接,直到我在蓝牙设置选项中单击“关闭”。

  • 如果我再次单击蓝牙设置选项中的“打开”,则不起作用。

  • 我需要再次执行上述指定的步骤以使蓝牙服务再次正常工作。

共享的步骤在系统重启后也不会保留。

我从讨论类似问题的多个社区论坛上了解到,这可能与驱动程序故障或内核更新错误有关,我认为可能是这样,因为我在进行系统包更新的第二天就开始遇到这个问题。

因此,有一件事似乎可以确认,这可以/将通过未来的系统包更新来修复,我只需要等待相同的操作并按照这些指定的步骤,直到问题通过未来提供的更新自行解决。

答案3

检查 hci0。运行此命令(1),

hciconfig dev

在这种情况下,hci0 很可能已关闭。如果是,请运行下面的命令 (2) 来重置 hci0

sudo hciconfig hci0 reset

再次运行 (1)。hci0 应该已启动并正在运行。如果仍然无法启动,并出现错误“无法初始化设备 hci0:由于 RF-kill (132) 而无法操作”,请运行命令 (3) rfkill。如果蓝牙被软阻止,请通过运行 (4) 来解除阻止

sudo rfkill unblock bluetooth

然后再次尝试 (2)。这应该可以解决问题。不过,每次重启后可能都必须重置 hci0。我仍然面临这个问题,每次系统挂起时蓝牙都会自动关闭。

答案4

我也曾为此奋斗过一段时间,使用的是 ubuntu budgie 21.04。正常控制没有任何作用,然后运行时systemctl status bluetooth我读到:

jun 11 11:43:54 mypc bluetoothd[837]: Bluetooth management interface 1.19 initialized
jun 11 11:43:53 mypc systemd[1]: Started Bluetooth service.
jun 11 11:43:56 mypc bluetoothd[837]: Failed to set mode: Blocked through rfkill (0x12)
jun 11 11:44:12 mypc bluetoothd[837]: Endpoint registered: sender=:1.40 path=/MediaEndpoint/A2DPSink/sbc
jun 11 11:44:12 mypc bluetoothd[837]: Endpoint registered: sender=:1.40 path=/MediaEndpoint/A2DPSource/sbc
jun 11 11:45:19 mypc bluetoothd[837]: Endpoint unregistered: sender=:1.40 path=/MediaEndpoint/A2DPSink/sbc
jun 11 11:45:19 mypc bluetoothd[837]: Endpoint unregistered: sender=:1.40 path=/MediaEndpoint/A2DPSource/sbc
jun 11 11:45:20 mypc bluetoothd[837]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/sbc
jun 11 11:45:20 mypc bluetoothd[837]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/sbc
jun 11 11:45:35 mypc bluetoothd[837]: Failed to set mode: Blocked through rfkill (0x12)

但尝试使用类似方法更改状态rfkill unblock bluetooth没有帮助。重启也不行。

解决问题的唯一方法就是跑步sudo systemctl restart bluetooth.service

我认为造成这种情况的原因是一些非常琐碎的事情,例如将我的计算机置于睡眠模式,然后关闭我正在使用的蓝牙扬声器,并且从未取消配对或从计算机上正确关闭该设备。

这是我的意见。尝试重新启动蓝牙服务。

相关内容