0

This question has been asked several times but no answers were posted.

Cannot turn on Bluetooth on Ubuntu 23.10 (Asus ROG ROG Flow X13 GV302XV) seemed like a great answer but didn't work in my case.

sudo dkms install btusb/4.1

failed at the end of the build. However, this answer was aimed at a problem with a USB BT connection. In my case, bluetooth is implemented on the mobo.

$ sudo service bluetooth status
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor pre>
     Active: active (running) since Fri 2024-02-16 21:38:23 PST; 1 day 21h ago
       Docs: man:bluetoothd(8)
   Main PID: 1905 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 76903)
     Memory: 2.3M
        CPU: 172ms
     CGroup: /system.slice/bluetooth.service
             └─1905 /usr/lib/bluetooth/bluetoothd

Feb 18 17:30:50 Ubuntu bluetoothd[1905]: Endpoint unregistered: sender=:1.89 pa> Feb 18 17:30:50 Ubuntu bluetoothd[1905]: Endpoint unregistered: sender=:1.89 pa>

Shows that the service is running ok. But.... there is no bluetooth icon in the top right status bar (as it is on my M8H machine using a BT dongle)

sudo lshw | grep blue -C 8 
configuration: driver=usbhid maxpower=500mA speed=12Mbit/s
              *-usb:1
                   description: Bluetooth wireless interface
                   product: Qualcomm Bluetooth 4.1
                   vendor: ASUSTek Computer, Inc.
                   physical id: 9
                   bus info: usb@1:9
                   version: 0.01
                   capabilities: bluetooth usb-2.01
                   configuration: driver=btusb maxpower=100mA speed=12Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 5.15.0-94-generic xhci-hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 5.15

Bluetooth has worked on this machine previously but that could have been when earlier versions of Ubuntu were installed.

The mobo specs are bt v4.0/3.0+HS on an Intel Z170 chipset.

The problem: In Ubuntu's BT settings, bluetooth is turned on and the devices search wheel is spinning but no devices are ever found. This is true even if I install a BT dongle. The desktop right beside it is an ASUS ROG M8H mobo with no integrated BT. With a dongle installed it immediately connects to selected BT devices. Both machines are running identical versions of Ubuntu.

ASUS has firmware for bt but only in Microsoft format. They are clear that they do not support *NIX but obviously there are many of us running Ubuntu on ROG machines without problems.

I'd like to be able to run just one speaker via BT on each desktop instead of having four speaker sets, one hardwired to each machine. Yes, I know I can only have the device paired to one PC at a time.

sudo dmesg|grep Blue
[165140.288091] Bluetooth: hci0: unexpected event for opcode 0x2005

bluetoothctl fires up but I don't understand enough about that tool to use it productively. Looks like it's working ok though. Just no devices are discovered (and yes, the wifi antenna is connected. The manual sort of implies that this is needed for BT)

$ hciconfig
hci0:   Type: Primary  Bus: USB
    BD Address: C8:FF:28:31:81:72  ACL MTU: 1024:8  SCO MTU: 50:8
    DOWN 
    RX bytes:13041 acl:0 sco:0 events:2012 errors:0
    TX bytes:17186 acl:0 sco:0 commands:1506 errors:0

As expected for an onboard BT capability

$ btmgmt info
Index list with 1 item
hci0:   Primary controller
    addr C8:FF:28:31:81:72 version 7 manufacturer 29 class 0x000000
    supported settings: powered connectable fast-connectable discoverable bondable link-security ssp br/edr hs le advertising secure-conn debug-keys privacy static-addr phy-configuration 
    current settings: ssp br/edr le secure-conn 
    name Ubuntu
    short name

$ bluetoothctl list Controller C8:FF:28:31:81:72 Ubuntu [default]

$ rfkill unblock all frankie@Ubuntu:~$ hciconfig hci0: Type: Primary Bus: USB BD Address: C8:FF:28:31:81:72 ACL MTU: 1024:8 SCO MTU: 50:8 DOWN RX bytes:13041 acl:0 sco:0 events:2012 errors:0 TX bytes:17195 acl:0 sco:0 commands:1509 errors:0

frankie@Ubuntu:~$ bluetoothctl power on Failed to set power on: org.bluez.Error.Busy frankie@Ubuntu:~$ bluetoothctl scan on Failed to start discovery: org.bluez.Error.NotReady

$ bluetoothctl Agent registered [CHG] Controller C8:FF:28:31:81:72 Pairable: yes

[bluetooth]# list Controller C8:FF:28:31:81:72 Ubuntu [default] [bluetooth]# show Controller C8:FF:28:31:81:72 (public) Name: Ubuntu Alias: Ubuntu Class: 0x00000000 Powered: no Discoverable: no DiscoverableTimeout: 0x00000000 Pairable: yes UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: OBEX Object Push (00001105-0000-1000-8000-00805f9b34fb) UUID: Message Access Server (00001132-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) UUID: IrMC Sync (00001104-0000-1000-8000-00805f9b34fb) UUID: Vendor specific (00005005-0000-1000-8000-0002ee000001) UUID: Headset (00001108-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb) UUID: Phonebook Access Server (0000112f-0000-1000-8000-00805f9b34fb) UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb) UUID: Handsfree Audio Gateway (0000111f-0000-1000-8000-00805f9b34fb) UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb) UUID: OBEX File Transfer (00001106-0000-1000-8000-00805f9b34fb) Modalias: usb:v1D6Bp0246d0540 Discovering: no Roles: central Roles: peripheral Advertising Features: ActiveInstances: 0x00 (0) SupportedInstances: 0x05 (5) SupportedIncludes: tx-power SupportedIncludes: appearance SupportedIncludes: local-name [bluetooth]# devices [bluetooth]# power on Failed to set power on: org.bluez.Error.Busy

Ideas?

jones0610
  • 2,157
  • No sir, nothing especially interesting. Updated my question with the only relevant message. I saw a related answer where the solution was to build the kernel from source. Agreed that the driver seems to be there but.... most bt implementations are NOT part of the mobo chip set. Wonder if the kernel is looking for a usb/pci bluetooth device. Any way to completely turn off the current bt and install my bt usb dongle? – jones0610 Feb 19 '24 at 03:39
  • 1
    Strange, I expected some error. "configuration: driver=btusb" means the driver found the device successfully. I have an answer at https://askubuntu.com/a/1501779/1004020 if you really want to disable a device. What do you get in bluetoothctl list , hciconfig , and btmgmt info ? – Daniel T Feb 19 '24 at 03:45
  • 1
    If bluetoothd is frozen, please provide a https://wiki.ubuntu.com/Backtrace#Already_running_programs before killing it – Daniel T Feb 19 '24 at 04:23

1 Answers1

1

Your driver was installed successfully. You just need to enable the device:

  1. rfkill unblock all
  2. hciconfig and see see that the "DOWN" turns into "UP RUNNING PSCAN"
  3. bluetoothctl power on
  4. bluetoothctl scan on and see nearby devices

The absence of dmesg and journalctl errors mean that nothing went wrong. You have driver=btusb so the driver loaded and detected the internal device properly. The problem was the "DOWN" in hciconfig, and the corresponding thing you would see in rfkill list.

Daniel T
  • 4,594
  • hciconfig state never changes from down and subsequent commands fail with a blkuez busy error, – jones0610 Feb 19 '24 at 04:26
  • 1
    @jones0610 What happens (in dmesg, etc.) if you bypass the service by doing sudo hciconfig hci0 up ? – Daniel T Feb 19 '24 at 04:45
  • $ sudo hciconfig hci0 up Can't init device hci0: Connection timed out (110); nothing in dmesg – jones0610 Feb 19 '24 at 04:51
  • 1
    Oh no the dreaded error 110. It means either missing/outdated Bluetooth firmware (try 23.10) or interference from Windows. You could try restarting the USB controller using https://unix.stackexchange.com/a/245184/524752 . If it still doesn't work, then it'll be best to just disable it and use the dongle while you wait for Ubuntu to add support – Daniel T Feb 19 '24 at 04:54
  • 1
    @jones0610 I linked the short answer with two echo commands, not the long answer below. You can just do this to all your USB controllers from lspci . Put it in a script in case your keyboard internally uses USB. It's basically just removing the device, then rescanning to add it back – Daniel T Feb 19 '24 at 05:06
  • 1
    Windows is not in play here. I am on the LTS distro so the next update will be 24.04 or something. How do I disable the current BT hardware? The answers you refer to are as clear as mud? Yes on having a USB kybd. I suppose I can just wait until I reboot and see how that goes. If BT starts working I will credit your answer as the solution. Very much appreciate your help! – jones0610 Feb 19 '24 at 05:07
  • 1
    Alright, let's just skip trying to reset the internal USB Bluetooth device. You can just do rfkill block <number corresponding to hci0> from my answer at https://askubuntu.com/a/1501779/1004020 . Or you could just plug in the dongle rfkill unblock all , unplug it, rfkill block all, plug in the dongle, and reenable WiFi from the GUI – Daniel T Feb 19 '24 at 05:08
  • No matter what I do I can't get past the bluez.error busy error at the end of my question.... – jones0610 Feb 19 '24 at 05:15