4

First of all, I'm using Ubuntu 24.10 in a live USB environment.

I'm not a complete novice in linux, but i'm not well-versed either.

My issue is that I cannot make the bluetooth work in Linux, the on/off toggle moves but BT stays off, but it works pretty much out of the box in Windows 11 (I'm using 2 different boot drives). The Wifi/BT chip is a MediaTek MT7925, integrated on the motherboard (Gigabyte X870 Eagle WIFI7).

The wifi works correctly out of the box, although I do not care much as I use a wired ethernet connection, but I am trying to connect an XBox Elite controller through bluetooth, and the first step for it is having a working bluetooth connection.

There seems to be an error in dmesg about BT:

$ sudo dmesg | grep Bluetooth
[   13.033377] Bluetooth: Core ver 2.22
[   13.033393] Bluetooth: HCI device and connection manager initialized
[   13.033395] Bluetooth: HCI socket layer initialized
[   13.033396] Bluetooth: L2CAP socket layer initialized
[   13.033399] Bluetooth: SCO socket layer initialized
[   13.100488] Bluetooth: hci0: Opcode 0x0c03 failed: -16
[   13.179806] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   13.179809] Bluetooth: BNEP filters: protocol multicast
[   13.179811] Bluetooth: BNEP socket layer initialized

I tried using bluetoothctl to power it on, but it says that it couldn't find a default adapter:

$ bluetoothctl
Agent registered
[bluetooth]# power on
No default controller available
[bluetooth]# exit

As far as my google-fu could find, this chip is not that recent, and my kernel should have drivers for it. lsusb doesn't show any MediaTek equipment, and hcitool dev returns nothing either:

$ hcitool dev
Devices:

Here's hciconfig -a

$ 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:6 acl:0 sco:0 events:1 errors:0
    TX bytes:0 acl:0 sco:0 commands:1 errors:1
    Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    Packet type: DM1 DH1 HV1 
    Link policy: 
    Link mode: PERIPHERAL ACCEPT 

I'm not knowledgeable enough to know what else to do from here unfortunately, any help would be very welcome!

BlindSp0t
  • 141

2 Answers2

3

update 18. June 2025 I connected my mouse via BT! Kernel:

Linux headquarter 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr  6 15:05:05 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

This is progress - but I cannot connect my headset: one of these Sony thinks - WT-something; modern but nothing to special. WIFI I don't know yet bc I moved and internet is not set up.

update 13. April 2025 I got a little bit more time for testing:

greping the kernel ring buffer doesn't result in an error anymore:

root@headquarter:~# sudo dmesg | grep Bluetooth
[  622.368812] Bluetooth: Core ver 2.22
[  622.368849] Bluetooth: HCI device and connection manager initialized
[  622.368852] Bluetooth: HCI socket layer initialized
[  622.368854] Bluetooth: L2CAP socket layer initialized
[  622.368856] Bluetooth: SCO socket layer initialized
[ 1299.446811] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1299.446817] Bluetooth: BNEP filters: protocol multicast
[ 1299.446822] Bluetooth: BNEP socket layer initialized

Unfortunately, BT is still not working. But U25.04 is not out (yet).

update end

I have the same issue, but I assume fix is on it's way. I checked:

lsusb -v | grep Media -B12 Bus 001 Device 003: ID 0489:e124 Foxconn / Hon Hai Wireless_Device Device Descriptor:  
...
idVendor           0x0489 Foxconn / Hon Hai
idProduct          0xe124 Wireless_Device
bcdDevice            1.00
iManufacturer           5 MediaTek Inc.

This gives you the device ID (0x0489, 0xe124).

Ubuntu 22.10 kernel is currently 6.11.0 (uname -a), it's Bluetooth code defining supported MT7925 devices can be looked at: https://github.com/torvalds/linux/blob/v6.11/drivers/bluetooth/btusb.c#L689 (mind the v6.11 in the url)

Saddly, you will see that our device ID is missing. So let look at the code of the kernel in the pipeline: https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c#L659

That looks much better! - So we just have to wait a couple of more weeks, until ubuntu updates the kernel.

Can't wait? well, 6.12 is already in mainline, you can install it from there, here are two links:

https://kernel.ubuntu.com/mainline/

https://ubuntushell.com/install-mainline-kernel-on-ubuntu/

I couldn't wait either, installed 6.11 but without success. Everything looks the same, no error in journal whatsoever.

Just updated to 25.04 with kernl 6.14.0-13-generic. BT ist still not working. FW was also updated to F4 (13. March).

0

I have MEDIATEK mt7925e device, and using Linux Mint 22.1 Xia base: Ubuntu 24.04 noble. Wifi was working properly for me, but Bluetooth did not. Using the guide in this thread I found out that my Bluetooth device ID (chip-ID: 0489:e111) was added only recently. And so I upgraded to kernel 6.14.4-061404-generic. After this my device and drivers loaded without errors, however Bluetooth still was not working - "No default controller available" was still showing in bluetoothctl.

This is what fixed it:

sudo modprobe -r btusb
sleep 1
sudo modprobe btusb

I do this every time on system restart and Bluetooth turns on, strangely enough I have to do it two times as if I'm starting a car :D

Stan
  • 101