带有 Realtek RTL8821CU 芯片组的蓝牙适配器可以工作,但不能在 Ubuntu 上使用

带有 Realtek RTL8821CU 芯片组的蓝牙适配器可以工作,但不能在 Ubuntu 上使用

我的系统识别我的加密狗bluetoothctl支持蓝牙,但我实际上无法在任何蓝牙控制界面( 、、btmgmt图形蓝牙设置等)中使用它。

我在 Windows 机器上测试了该设备,它在那里可以工作,但当我将其放回 Ubuntu 机器上时却不行。

我收到的错误消息和情况如下:

$ sudo btmgmt
# power on
Set Powered for hci0 failed with status 0x03 (Failed)
$ sudo bluetoothctl
# list
[no output]
# show
No default controller available

该适配器支持蓝牙和 Wi-Fi,该公司表示,它们应该可以同时工作。该适配器上的 Wi-Fi 可在 Ubuntu 上使用。

系统信息

$ uname --all
Linux odroid 4.9.337-31 […] aarch64 GNU/Linux

$ cat /etc/issue
Ubuntu 22.04.1 LTS \n \l

$ bluetoothctl --version
5.64

$ lsusb
[other devices]
Bus 001 Device 004: ID 0bda:c820 Realtek Semiconductor Corp. 802.11ac NIC
[other devices]

$ hciconfig -a
hci0:   Type: Primary  Bus: USB
    BD Address: 00:00:00:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0
    DOWN 
    RX bytes:917 acl:0 sco:0 events:130 errors:0
    TX bytes:33030 acl:0 sco:0 commands:131 errors:0
    Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    Packet type: DM1 DH1 HV1 
    Link policy: 
    Link mode: PERIPHERAL ACCEPT

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

$ lsmod
Module                  Size  Used by
[other modules]
btusb                  45056  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
btintel                24576  1 btusb
8821cu               2256896  0
bluetooth             479232  8 btrtl,btintel,bnep,btbcm,btusb
[other modules]

我也有的结果lsusb -v以防万一有帮助。

日志

当我手动运行btmon并启动时bluetoothd,这是我得到的结果btmon(节选):

= New Index: 00:00:00:00:00:00 (Primary,USB,hci0)
= bluetoothd: Bluetooth daemon 5.64
@ MGMT Open: bluetoothd (privileged) version 1.14
= bluetoothd: Starting SDP server
@ MGMT Command: Read Management Version Information (0x0001) plen 0
@ MGMT Event: Command Complete (0x0001) plen 6
      Read Management Version Information (0x0001) plen 3
        Status: Success (0x00)
        Version: 1.14

[a few other successful commands and events]

@ MGMT Command: Remove Advertisement Monitor (0x0053) plen 2
        Handle: 0
@ MGMT Event: Command Status (0x0002) plen 3
      Remove Advertisement Monitor (0x0053)
        Status: Unknown Command (0x01)
= bluetoothd: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Unknown Command (0x01)

最后两行以红色打印。还请注意第一行的 mac 地址。监视器继续显示:

@ MGMT Command: Read Controller Information (0x0004) plen 0
@ MGMT Event: Command Complete (0x0001) plen 283
      Read Controller Information (0x0004) plen 280
        Status: Success (0x00)
        Address: 00:00:00:00:00:00 (OUI 00-00-00)
        Version: Bluetooth 4.2 (0x08)
        Manufacturer: Realtek Semiconductor Corporation (93)
        Supported settings: 0x000010bf
          Powered
          Connectable
          Fast Connectable
          Discoverable
          Bondable
          Link Security
          BR/EDR
          Debug Keys
        Current settings: 0x00000080
          BR/EDR
        Class: 0x000000
          Major class: Miscellaneous
          Minor class: 0x00
        Name: 
        Short name: 
= bluetoothd: No Bluetooth address for index 0

最后一行也以红色打印。

我也有输出bluetoothd -n -d

如果我尝试运行sudo hciconfig hci0 up,我会得到以下信息:

Can't init device hci0: Cannot assign requested address (99)

如果我遗漏了任何相关日志或系统信息,请告诉我。


編輯

$ cat etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

我知道问题不在于我尝试连接的蓝牙设备,因为:

  1. 我甚至无法启动bluetoothctl控制加密狗的会话,而且
  2. 当我将加密狗插入 Windows 机器时,它就可以工作并连接到相关设备。

我问美国机器人,产品经销商,寻求帮助。他们提供的帮助范围是告诉我设备应该可以工作,并推迟到相关帖子在 ODROID 论坛上。

该论坛帖子不包含任何对我有帮助的提示,而且我也在那里发帖寻求帮助。

硬核产品制造商不提供技术服务,根据他们的联系页面,以及 AmeriDroid 给我的同一论坛的链接。

相关内容