MediaTek MT7922 Bluetooth not recognized

I’m having issues with my WiFi + Bluetooth card. I already have bluez installed and it has worked in the past, but the bluetooth module doesn’t seem to get recognized (systemd[1]: Bluetooth service was skipped because of an unmet condition check (ConditionPathIsDirectory=/sys/class/bluetooth). in the status of bluetooth.service). The Wi-Fi has always worked fine.

Looking through my general forums, I read that disabling, rebooting and then re-enabling the wireless card in the UEFI settings helps, which did actually fix it for one boot, but it hasn’t worked ever since.

Kernel version is 6.2.11, my motherboard that shipped with this wireless card is the MSI B650I EDGE WIFI.

Hello @lemone

Could you post the output for:

inxi -Na

Just want to see what module it’s loading. Is the WiFi always working or is it both the WiFi and Bluetooth that quit working. I assume the Bluetooth chip is on the WiFi device?

Maybe it wouldn’t hurt to also post the url for this command for all the hardware.

inxi -Faz | eos-sendlog

https://discovery.endeavouros.com/audio/bluetooth/2021/03/

Edit: Not sure what UEFI firmware version the board has also? Will check from the hardware output.

https://ca.msi.com/Motherboard/MPG-B650I-EDGE-WIFI/support

1 Like

output of inxi -Na:

❯ inxi -Na
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
    v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: e000 bus-ID: 0e:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
    bus-ID: 0f:00.0 chip-ID: 14c3:0616 class-ID: 0280

The Wi-Fi does in fact always work, just to Bluetooth doesn’t. Forcing it to only enable the BT-part in the UEFI will of course turn the Wi-Fi off, but Bluetooth won’t work either still.

And here’s the link with the system information https://0x0.st/H8gm.txt

1 Like

I see you have KDE installed. Do you have bluedevil installed?

pacman -Qi bluedevil

If you don’t have it installed then install it. Check bluetooth status.

systemctl status bluetooth

sudo systemctl enable --now bluetooth

I would run through the bluetoothctl procedure

bluetoothctl

scan on

trust

pair

connect

1 Like

bluedevil is installed, however I just saw that I am in fact not on the latest stable UEFI version. I had to check manually since inxi didn’t seem to have it in its output.

Okay… it should be in the hardware output also. Version is 1.10

Edit: So you could try updating the UEFI firmware (Bios) but i would also then run through the above procedure to check status and bluetoothctl set up.

I guess 1.10 is the same as 7D73v11, so perhaps 1.20 would be 7D73v12

Yes i think that is correct.

You could also check dmesg when you try getting bluetooth working and see if it gives any info that would be helpful.

Edit: I did just check the firmware and it looks like the latest patch is there for the Mediatek 7922

/lib/firmware/mediatek

I can at least say that upgrading my UEFI did not fix it.
The only 2 lines I saw in dmesg relating to this are

[  +0.000349] mt7921e 0000:0f:00.0: ASIC revision: 79220010
[...]
[  +0.013046] mt7921e 0000:0f:00.0: WM Firmware Version: ____000000, Build Time: 20221227123243

Trying to start bluetooth.service still shows a message about /sys/class/bluetooth not existing and running bluetoothctl just results in

Waiting to connect to bluetoothd...

forever with nothing changing in the output. I also didn’t see anything additional in dmesg whenever I ran bluetoothctl or tried restarting the bluetooth service.

Are you running Windows also in dual boot? If so you need to disable the fast start up feature in windows power management.

nope, this machine hasn’t had Windows on it so far.

1 Like

Did you try

sudo modprobe mt7921e

Edit: You can also try removing it first and then reload it.

sudo modprobe -r mt7921e

At least without rebooting, this hasn’t changed anything either.

Try shutdown the computer. Unplug the power cord. Press the power button for 30 seconds. Then plug it back in and start it up. Some of these onboard WiFi on motherboards have issues. Have seen it before on certain boards.

3 Likes

Yep, fully powering it down did fix it. Thanks

…Let’s see for how long until it comes back.

I have seen this on Gigabyte boards also. But it’s mostly motherboards that have WiFi. Also make sure in UEFI you have fast boot disabled maybe?

Edit: Hope this helped.

1 Like

I tried to look for a fast boot option but didn’t find anything. I did disable secure boot to no avail.

You need secure boot disabled anyway for EndeavourOS. As long as it’s working well see if it lasts. Could be a power management issue also.

Seeing the same on my Asus rog-strix-x670e-f-gaming-wifi. Latest BIOS. None of the above helped. Also I thought support for bluetooth from this chip would be finally included in kernel 6.4 but it does not work yet and should have before if I read this correctly here.

dmesg error shows:

Bluetooth: hci0: Opcode 0x c03 failed: -110

also:

> inxi -Na
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    vendor: Foxconn driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s
    lanes: 1 bus-ID: 09:00.0 chip-ID: 14c3:0616 class-ID: 0280
  Device-2: Intel Ethernet I225-V vendor: ASUSTeK driver: igc v: kernel
    pcie: gen: 2 speed: 5 GT/s lanes: 1 port: N/A bus-ID: 0a:00.0
    chip-ID: 8086:15f3 class-ID: 0200

Any pointers would be helpful