My system recognizes my dongle as supporting Bluetooth, but I cannot actually use the thing in any of the Bluetooth control interfaces (bluetoothctl
, btmgmt
, the graphical Bluetooth settings, etc.).
I tested the device on a Windows machine, and it worked there but not when I put it back into my Ubuntu machine.
Among the error messages and conditions I get:
$ sudo btmgmt
# power on
Set Powered for hci0 failed with status 0x03 (Failed)
$ sudo bluetoothctl
# list
[no output]
# show
No default controller available
The dongle supports both Bluetooth and Wi-Fi, and the company says they are supposed to work simultaneously. The Wi-Fi on the dongle works on Ubuntu.
System information
$ 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]
I also have the result of lsusb -v
in case it helps.
Logs
When I run btmon
and start bluetoothd
manually, this is what I get from btmon
(abridged):
= 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)
Those last two lines get printed in red. Also note the mac address on the first line. The monitor continues:
@ 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
That last line also gets printed in red.
I also have the output from bluetoothd -n -d
.
If I try to run sudo hciconfig hci0 up
, I get this:
Can't init device hci0: Cannot assign requested address (99)
Let me know if I am missing any pertinent logs or system information.
Edits
$ cat etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
I know that the problem is not with the Bluetooth devices to which I am trying to connect because:
- I can't even initiate a
bluetoothctl
session controlling the dongle, and
- When I plug the dongle into a Windows machine, it works and connects to the devices in question.
I asked AmeriDroid, the product distributor, for help. The extent of the help they provided was telling me the device should work and deferred to a relevant post on the ODROID forum.
That forum post does not include any tips that have yielded results for me, and I have posted there as well asking for help.
Hardkernel, the product manufacturer, does not provide technical services, according to their contact page, and links to the same forum AmeriDroid gave me.