完全重新安装蓝牙

完全重新安装蓝牙

我在安装蓝牙时遇到了问题。界面(设置 > 蓝牙)始终显示“正在搜索”状态。如果界面打开并且我运行sudo systemctl restart bluetooth它,它实际上会显示一个设备列表 - 但直到我重新运行命令时,该列表才会更新。此外,蓝牙设备无法正确连接,或者根本无法连接。

这里的特殊之处在于,主板上没有“原生蓝牙”支持——我插入了一个 USB 蓝牙适配器。

我知道蓝牙是一个复杂的东西,我记得我过去曾摆弄过一些配置,以使适配器正常工作。但我首先想尝试的是完全删除(并清除可能损坏的配置)并重新安装整个蓝牙堆栈。

只需运行apt list --installed | grep blue即可得到以下列表:

bluez-btsco/focal,now 1:0.50-0ubuntu7 amd64 [installed]
bluez-cups/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed]
bluez-dbg/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed]
bluez-hcidump/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed]
bluez-obexd/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed]
bluez-tests/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed]
bluez-tools/focal,now 2.0~20170911.0.7cb788c-2build1 amd64 [installed]
bluez/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed]
gir1.2-gnomebluetooth-1.0/focal-updates,now 3.34.3-0ubuntu1 amd64 [installed,automatic]
gnome-bluetooth/focal-updates,now 3.34.3-0ubuntu1 amd64 [installed]
libbluetooth3-dbg/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed,automatic]
libbluetooth3/focal-updates,focal-security,now 5.53-0ubuntu3.5 amd64 [installed,automatic]
libgnome-bluetooth13/focal-updates,now 3.34.3-0ubuntu1 amd64 [installed,automatic]
pulseaudio-module-bluetooth/focal-updates,now 1:13.99.1-1ubuntu3.13 amd64 [installed]

因此,涉及的软件包相当多,我不确定我是否已经全部使用过。因此:

是否有任何命令/实用程序或类似程序可以重新安装整个蓝牙堆栈?是否有任何推荐的解决方案来解决上述问题?哪里是开始解决这些问题的合适地方?

由于评论:

$ lsusb
[…]
Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
[…]

更新

我对此主题进行了更多调查,我想我发现了一些可能导致问题的原因:

# withouth the USB dongle
hciconfig 
hci0:   Type: Primary  Bus: USB
    BD Address: 24:0A:64:6F:0A:00  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN INQUIRY 
    RX bytes:5512 acl:0 sco:0 events:379 errors:0
    TX bytes:13692 acl:0 sco:0 commands:363 errors:0

# with the usb dongle
hci1:   Type: Primary  Bus: USB
    BD Address: 00:1A:7D:DA:71:08  ACL MTU: 310:10  SCO MTU: 64:8
    UP RUNNING PSCAN 
    RX bytes:694 acl:0 sco:0 events:50 errors:0
    TX bytes:3173 acl:0 sco:0 commands:50 errors:0

hci0:   Type: Primary  Bus: USB
    BD Address: 24:0A:64:6F:0A:00  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN INQUIRY 
    RX bytes:5677 acl:0 sco:0 events:409 errors:0
    TX bytes:13877 acl:0 sco:0 commands:388 errors:0

虽然我不是这方面的专家,但似乎已经有一个内置的蓝牙设备和适配器。运行后hciconfig -a发现,蓝牙使用的名称是:hostname因此hostname #1这些名称似乎非常相似。

bluetoothctl list
Controller 00:1A:7D:DA:71:08 hostname #2 [default]
Controller 24:0A:64:6F:0A:00 hostname

移除加密狗并运行systemctl restart bluethooth会使控制面板在设置对话框中的»可见为“...”«中显示不同的名称。

答案1

使用不同的蓝牙软件可能会有所帮助。尝试安装 BlueZ 或 BlueMan。BlueZ:

sudo apt-get install bluez bluez-tools 

蓝人:

sudo apt-get install blueman

您也可以从 Snap 商店(或软件应用程序)安装 BlueZ

sudo snap install bluez

要运行 BlueZ 或 BlueMan(蓝牙管理器),您可以在 Ubuntu 设置页面、软件页面中找到它,也可以运行:

蓝人:

blueman-manager

BlueZ:

bluez

如果您已默认安装了 BlueZ 或 BlueMan,或者您正在使用它,请运行

sudo apt-get install --reinstall bluez bluez-tools

或 BlueMan

sudo apt-get install --reinstall blueman

相关内容