You are not logged in.

#1 2026-01-09 12:04:38

Zeyken_0
Member
Registered: 2026-01-09
Posts: 13

[SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

Hi guys! Is there Linux kernel support for FoxConn MediaTek Wifi bluetooth card MT-7920? I've tried a lot. What should I do to get it work? searched internet and found only two links about this card, they're useless. I have Honor MagicBook X16 AMD 2025. Network card consists of Wi-fi and bluetooth. Wi-fi works but bluetooth doesn't. Btw: I use dualboot with Windows (wi-fi worked out-of-the-box, but bluetooth needed some drivers)

There're some diagnostics:

[]$ 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:0 acl:0 sco:0 events:0 errors:0

TX bytes:3 acl:0 sco:0 commands:1 errors:0

Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

Packet type: DM1 DH1 HV1 

Link policy: 

Link mode: PERIPHERAL ACCEPT 
[]$ uname -r

6.18.3-arch1-1

[Aleksey@azher mediatek]$ ls

BT_RAM_CODE_MT7922_1_1_hdr.bin mt7622pr2h.bin.zst mt7668pr2h.bin.zst mt7981_wa.bin.zst mt7986_wo_0.bin.zst mt8196

BT_RAM_CODE_MT7922_1_1_hdr.bin.zst mt7622_rom_patch.bin.zst mt7915_eeprom.bin.zst mt7981_wm.bin.zst mt7986_wo_1.bin.zst sof

BT_RAM_CODE_MT7961_1_2_hdr.bin mt7650.bin.zst mt7915_eeprom_dbdc.bin.zst mt7981_wo.bin.zst mt7987 sof-tplg

BT_RAM_CODE_MT7961_1_2_hdr.bin.zst mt7650e.bin.zst mt7915_rom_patch.bin.zst mt7986_eeprom_mt7975_dual.bin.zst mt7988 WIFI_MT7922_patch_mcu_1_1_hdr.bin

BT_RAM_CODE_MT7961_1a_2_hdr.bin.zst mt7662.bin.zst mt7915_wa.bin.zst mt7986_eeprom_mt7976.bin.zst mt7996 WIFI_MT7922_patch_mcu_1_1_hdr.bin.zst

mt7601u.bin.zst mt7662_rom_patch.bin.zst mt7915_wm.bin.zst mt7986_eeprom_mt7976_dbdc.bin.zst mt8173 WIFI_MT7961_patch_mcu_1_2_hdr.bin.zst

mt7610e.bin.zst mt7662u.bin.zst mt7916_eeprom.bin.zst mt7986_eeprom_mt7976_dual.bin.zst mt8183 WIFI_MT7961_patch_mcu_1a_2_hdr.bin.zst

mt7610u.bin.zst mt7662u_rom_patch.bin.zst mt7916_rom_patch.bin.zst mt7986_rom_patch.bin.zst mt8186 WIFI_RAM_CODE_MT7922_1.bin

mt7615_cr4.bin.zst mt7663_n9_rebb.bin.zst mt7916_wa.bin.zst mt7986_rom_patch_mt7975.bin.zst mt8188 WIFI_RAM_CODE_MT7922_1.bin.zst

mt7615_n9.bin.zst mt7663_n9_v3.bin.zst mt7916_wm.bin.zst mt7986_wa.bin.zst mt8189 WIFI_RAM_CODE_MT7961_1a.bin.zst

mt7615_rom_patch.bin.zst mt7663pr2h.bin.zst mt7925 mt7986_wm.bin.zst mt8192 WIFI_RAM_CODE_MT7961_1.bin.zst

mt7622_n9.bin.zst mt7663pr2h_rebb.bin.zst mt7981_rom_patch.bin.zst mt7986_wm_mt7975.bin.zst mt8195

[]$ rfkill

ID TYPE DEVICE SOFT HARD

0 bluetooth hci0 unblocked unblocked

1 wlan phy0 unblocked unblocked

[]$ lspci -nn | grep -i "foxconn\|mediatek"

02:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7920]

Last edited by Zeyken_0 (2026-01-16 07:53:10)

Offline

#2 2026-01-09 12:47:49

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 72,883

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

Please use [code][/code] tags, not "quote" tags. Edit your post in this regard.

I use dualboot with Windows

3rd link below. Mandatory.
Disable it (it's NOT the BIOS setting!) and reboot windows and linux twice for voodo reasons.
Also https://wiki.archlinux.org/title/Blueto … ot_pairing

There're some diagnostics:

There's an unblocked bluetooth device that will rather show up in "lsusb"
What are the actual symptoms of "bluetooth is broken"?
Please don't paraphrase, https://bbs.archlinux.org/viewtopic.php?id=57855

Offline

#3 2026-01-10 06:53:27

Zeyken_0
Member
Registered: 2026-01-09
Posts: 13

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

Sorry, the problem was "No default controller avaliable". I solved it in three days of thinking.
My steps to get away from problem:
1. Ensure that fast boot in Windows is disabled. Disabled in Windows OS settings! (I haven't fast boot in BIOS). Also change purpose of buttons from "Sleep" to "Shut down"
2. Windows shouldn't be in boot order. Remove it from your boot order with efibootmgr.

I suppose that Windows 11 somehow intercepted my bluetooth driver while booting after main system (in my case GRUB started Linux)

Steps to reproduce problem:
1. Enable fast boot in windows settings. Change purpose of buttons to "Sleep"
2. Include Windows boot manager in boot order.

I mark this thread as SOLVED

Offline

#4 2026-01-10 09:53:24

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 72,883

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

2. Windows shouldn't be in boot order. Remove it from your boot order with efibootmgr.

This is nonsense.
The boot entry is completely inert.
The main problem is that fast-start is hibernation in disguise, meaning two OS are operating the chip at the same time, what doesn't work and leaves it in an undefined state.
Radio devices are the most common victim of that, so your problem is rather typical.

Offline

#5 2026-01-14 15:26:01

Zeyken_0
Member
Registered: 2026-01-09
Posts: 13

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

I hurried, the problem returned. Any solutions? What logs should I present?

/:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/3p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 002: Dev 002, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID 2717:5013 Xiaomi Inc. 
    |__ Port 003: Dev 003, If 0, Class=Wireless, Driver=btusb, 480M
        ID 0489:e158 Foxconn / Hon Hai 
    |__ Port 003: Dev 003, If 1, Class=Wireless, Driver=btusb, 480M
        ID 0489:e158 Foxconn / Hon Hai 
    |__ Port 003: Dev 003, If 2, Class=Wireless, Driver=[none], 480M
        ID 0489:e158 Foxconn / Hon Hai 



[] lsmod | grep btusb

btusb                  81920  0
btmtk                  32768  1 btusb
btrtl                  32768  1 btusb
btbcm                  24576  1 btusb
btintel                73728  1 btusb
bluetooth            1118208  15 btrtl,btmtk,btintel,btbcm,bnep,btusb



[Aleksey@azher ~]$ sudo dmesg | grep -i bluetooth && sudo dmesg | grep -i firmware
[    4.265437] Bluetooth: Core ver 2.22
[    4.265462] NET: Registered PF_BLUETOOTH protocol family
[    4.265463] Bluetooth: HCI device and connection manager initialized
[    4.265467] Bluetooth: HCI socket layer initialized
[    4.265469] Bluetooth: L2CAP socket layer initialized
[    4.265472] Bluetooth: SCO socket layer initialized
[    5.077884] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.077888] Bluetooth: BNEP filters: protocol multicast
[    5.077893] Bluetooth: BNEP socket layer initialized
[    6.390943] Bluetooth: hci0: Opcode 0x0c03 failed: -110
[  918.346480] Bluetooth: hci0: Opcode 0x0c03 failed: -110
[    0.092318] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    2.935453] amdgpu 0000:03:00.0: amdgpu: [drm] Loading DMUB firmware via PSP: version=0x04000046
[    2.936005] amdgpu 0000:03:00.0: amdgpu: [VCN instance 0] Found VCN firmware Version ENC: 1.33 DEC: 4 VEP: 0 Revision: 14
[    3.803176] systemd[1]: Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
[    4.500666] mt7921e 0000:02:00.0: WM Firmware Version: ____000000, Build Time: 20260105151055

[Aleksey@azher ~]$ rfkill list
1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
2: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no


[Aleksey@azher ~]$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
     Active: active (running) since Wed 2026-01-14 16:49:23 MSK; 20min ago
 Invocation: ea3b7f8a34df45ddb43cac5d77bfc4ee
       Docs: man:bluetoothd(8)
   Main PID: 670 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 18142)
     Memory: 2.9M (peak: 3.9M)
        CPU: 26ms
     CGroup: /system.slice/bluetooth.service
             └─670 /usr/lib/bluetooth/bluetoothd

янв 14 16:49:22 azher systemd[1]: Starting Bluetooth service...
янв 14 16:49:23 azher bluetoothd[670]: Bluetooth daemon 5.85
янв 14 16:49:23 azher systemd[1]: Started Bluetooth service.
янв 14 16:49:23 azher bluetoothd[670]: Starting SDP server
янв 14 16:49:23 azher bluetoothd[670]: Bluetooth management interface 1.23 initialized


[Aleksey@azher ~]$ sudo pacman -S linux-firmware bluez bluez-utils linux-firmware-mediatek
предупреждение: linux-firmware-20260110-1 не устарел -- переустанавливается
:: bluez указан в IgnorePkg/IgnoreGroup. Всё равно установить? [Y/n] Y
предупреждение: bluez-5.85-1 не устарел -- переустанавливается
предупреждение: bluez-utils-5.85-1 не устарел -- переустанавливается
предупреждение: linux-firmware-mediatek-20260110-1 не устарел -- переустанавливается
разрешение зависимостей...
проверка конфликтов...

Пакеты (4) bluez-5.85-1  bluez-utils-5.85-1  linux-firmware-20260110-1
           linux-firmware-mediatek-20260110-1

Будет установлено:  30,09 MiB
Изменение размера:   0,00 MiB

:: Приступить к установке? [Y/n] Y
(4/4) проверка ключей                                         [##################################] 100%
(4/4) проверка целостности пакета                             [##################################] 100%
(4/4) загрузка файлов пакетов                                 [##################################] 100%
(4/4) проверка конфликтов файлов                              [##################################] 100%
(4/4) проверка доступного места                               [##################################] 100%
:: Обработка изменений пакета...
(1/4) переустановка linux-firmware-mediatek                   [##################################] 100%
(2/4) переустановка linux-firmware                            [##################################] 100%
(3/4) переустановка bluez                                     [##################################] 100%
(4/4) переустановка bluez-utils                               [##################################] 100%
:: Запуск post-transaction hooks...
(1/6) Reloading system manager configuration...
(2/6) Reloading user manager configuration...
(3/6) Restarting marked services...
(4/6) Arming ConditionNeedsUpdate...
(5/6) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-lts -g /boot/initramfs-linux-lts.img
==> Starting build: '6.12.65-1-lts'
  -> Running build hook: [base]
  -> Running build hook: [systemd]
  -> Running build hook: [autodetect]
  -> Running build hook: [microcode]
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [sd-vconsole]
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux-lts.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux -g /boot/initramfs-linux.img
==> Starting build: '6.18.5-arch1-1'
  -> Running build hook: [base]
  -> Running build hook: [systemd]
  -> Running build hook: [autodetect]
  -> Running build hook: [microcode]
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [sd-vconsole]
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
(6/6) Reloading system bus configuration...



[Aleksey@azher ~]$ ls /usr/lib/firmware/mediatek/
BT_RAM_CODE_MT7922_1_1_hdr.bin       mt7981_wa.bin.zst
BT_RAM_CODE_MT7922_1_1_hdr.bin.zst   mt7981_wm.bin.zst
BT_RAM_CODE_MT7961_1_2_hdr.bin       mt7981_wo.bin.zst
BT_RAM_CODE_MT7961_1_2_hdr.bin.zst   mt7986_eeprom_mt7975_dual.bin.zst
BT_RAM_CODE_MT7961_1a_2_hdr.bin.zst  mt7986_eeprom_mt7976.bin.zst
mt7601u.bin.zst                      mt7986_eeprom_mt7976_dbdc.bin.zst
mt7610e.bin.zst                      mt7986_eeprom_mt7976_dual.bin.zst
mt7610u.bin.zst                      mt7986_rom_patch.bin.zst
mt7615_cr4.bin.zst                   mt7986_rom_patch_mt7975.bin.zst
mt7615_n9.bin.zst                    mt7986_wa.bin.zst
mt7615_rom_patch.bin.zst             mt7986_wm.bin.zst
mt7622_n9.bin.zst                    mt7986_wm_mt7975.bin.zst
mt7622pr2h.bin.zst                   mt7986_wo_0.bin.zst
mt7622_rom_patch.bin.zst             mt7986_wo_1.bin.zst
mt7650.bin.zst                       mt7987
mt7650e.bin.zst                      mt7988
mt7662.bin.zst                       mt7996
mt7662_rom_patch.bin.zst             mt8173
mt7662u.bin.zst                      mt8183
mt7662u_rom_patch.bin.zst            mt8186
mt7663_n9_rebb.bin.zst               mt8188
mt7663_n9_v3.bin.zst                 mt8189
mt7663pr2h.bin.zst                   mt8192
mt7663pr2h_rebb.bin.zst              mt8195
mt7668pr2h.bin.zst                   mt8196
mt7915_eeprom.bin.zst                sof
mt7915_eeprom_dbdc.bin.zst           sof-tplg
mt7915_rom_patch.bin.zst             WIFI_MT7922_patch_mcu_1_1_hdr.bin
mt7915_wa.bin.zst                    WIFI_MT7922_patch_mcu_1_1_hdr.bin.zst
mt7915_wm.bin.zst                    WIFI_MT7961_patch_mcu_1_2_hdr.bin.zst
mt7916_eeprom.bin.zst                WIFI_MT7961_patch_mcu_1a_2_hdr.bin.zst
mt7916_rom_patch.bin.zst             WIFI_RAM_CODE_MT7922_1.bin
mt7916_wa.bin.zst                    WIFI_RAM_CODE_MT7922_1.bin.zst
mt7916_wm.bin.zst                    WIFI_RAM_CODE_MT7961_1a.bin.zst
mt7925                               WIFI_RAM_CODE_MT7961_1.bin.zst
mt7981_rom_patch.bin.zst


[Aleksey@azher ~]$ uname -r
6.18.5-arch1-1


[Aleksey@azher ~]$ sudo systemctl stop bluetooth
sudo modprobe -r btusb btrtl btintel btbcm btmtk bluetooth
sudo modprobe btusb
sudo dmesg | tail -20
modprobe: FATAL: Module bluetooth is in use.
[   23.350641] atkbd serio0: Use 'setkeycodes e077 <keycode>' to make it known.
[   23.435830] atkbd serio0: Unknown key pressed (translated set 2, code 0xf7 on isa0060/serio0).
[   23.435845] atkbd serio0: Use 'setkeycodes e077 <keycode>' to make it known.
[   23.479207] atkbd serio0: Unknown key released (translated set 2, code 0xf7 on isa0060/serio0).
[   23.479225] atkbd serio0: Use 'setkeycodes e077 <keycode>' to make it known.
[   23.558347] atkbd serio0: Unknown key pressed (translated set 2, code 0xf7 on isa0060/serio0).
[   23.558361] atkbd serio0: Use 'setkeycodes e077 <keycode>' to make it known.
[   23.618031] atkbd serio0: Unknown key released (translated set 2, code 0xf7 on isa0060/serio0).
[   23.618051] atkbd serio0: Use 'setkeycodes e077 <keycode>' to make it known.
[   23.724115] atkbd serio0: Unknown key pressed (translated set 2, code 0xf7 on isa0060/serio0).
[   23.724129] atkbd serio0: Use 'setkeycodes e077 <keycode>' to make it known.
[   23.781756] atkbd serio0: Unknown key released (translated set 2, code 0xf7 on isa0060/serio0).
[   23.781774] atkbd serio0: Use 'setkeycodes e077 <keycode>' to make it known.
[   24.417780] input input14: Unknown key pressed, code: 0x02a7
[   32.250084] warning: `ThreadPoolForeg' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
[  909.028553] usbcore: deregistering interface driver btusb
[  916.296236] usbcore: registered new interface driver btusb
[  918.346480] Bluetooth: hci0: Opcode 0x0c03 failed: -110
[ 1552.553953] usbcore: deregistering interface driver btusb
[ 1552.830486] usbcore: registered new interface driver btusb

[Aleksey@azher ~]$ sudo dmesg | grep -i mediatek
sudo dmesg | grep -i firmware
[    1.252073] usb 3-3: Manufacturer: MediaTek Inc.
[    0.092318] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    2.935453] amdgpu 0000:03:00.0: amdgpu: [drm] Loading DMUB firmware via PSP: version=0x04000046
[    2.936005] amdgpu 0000:03:00.0: amdgpu: [VCN instance 0] Found VCN firmware Version ENC: 1.33 DEC: 4 VEP: 0 Revision: 14
[    3.803176] systemd[1]: Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
[    4.500666] mt7921e 0000:02:00.0: WM Firmware Version: ____000000, Build Time: 20260105151055


[Aleksey@azher ~]$ sudo lsusb -vvv -d 0489:e158

Bus 003 Device 003: ID 0489:e158 Foxconn / Hon Hai Wireless_Device
Negotiated speed: High Speed (480Mbps)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 [unknown]
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x0489 Foxconn / Hon Hai
  idProduct          0xe158 Wireless_Device
  bcdDevice            1.00
  iManufacturer           5 MediaTek Inc.
  iProduct                6 Wireless_Device
  iSerial                 7 000000000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00fe
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          8 Config_01
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         3
      bFunctionClass        224 Wireless
      bFunctionSubClass       1 Radio Frequency
      bFunctionProtocol       1 Bluetooth
      iFunction               4 BT_FUNCTION
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              1 BT_ACL_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              2 BT_SCO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              2 BT_SCO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              2 BT_SCO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              2 BT_SCO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              2 BT_SCO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              2 BT_SCO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       6
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              2 BT_SCO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x003f  1x 63 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x003f  1x 63 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              3 BT_ISO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0a  EP 10 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              3 BT_ISO_If
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0a  EP 10 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x000c
  bNumDeviceCaps          1
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000000
      (Missing must-be-set LPM bit!)
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered



[Aleksey@azher ~]$ cat /sys/class/bluetooth/hci0/device/uevent
cat /sys/class/bluetooth/hci0/device/modalias
DEVTYPE=usb_interface
DRIVER=btusb
PRODUCT=489/e158/100
TYPE=239/2/1
INTERFACE=224/1/1
MODALIAS=usb:v0489pE158d0100dcEFdsc02dp01icE0isc01ip01in00
usb:v0489pE158d0100dcEFdsc02dp01icE0isc01ip01in00

Offline

#6 2026-01-15 14:19:32

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 72,883

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

seth wrote:

What are the actual symptoms of "bluetooth is broken"?
Please don't paraphrase, https://bbs.archlinux.org/viewtopic.php?id=57855

hci0: Opcode 0x0c03 failed: -110

is a timeout error - whether that's relevant remains to be seen
Please post your complete system journal for the boot:

sudo journalctl -b | curl -F 'file=@-' 0x0.st

Fyi, "grep -iE 'bluetooth|firmware' but really please don't grep for random tokens unless you already know what you're specifically looking for

Offline

#7 2026-01-15 16:01:26

Zeyken_0
Member
Registered: 2026-01-09
Posts: 13

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

seth wrote:
seth wrote:

What are the actual symptoms of "bluetooth is broken"?
Please don't paraphrase, https://bbs.archlinux.org/viewtopic.php?id=57855

hci0: Opcode 0x0c03 failed: -110

is a timeout error - whether that's relevant remains to be seen
Please post your complete system journal for the boot:

sudo journalctl -b | curl -F 'file=@-' 0x0.st

Fyi, "grep -iE 'bluetooth|firmware' but really please don't grep for random tokens unless you already know what you're specifically looking for


http://0x0.st/P84Z.txt . Btw, my internal microphones also don't work (alsamixer show that there no input, AMD Ryzen ALC-256, but maybe it's for another topic)

Offline

#8 2026-01-15 16:25:44

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 72,883

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

янв 15 18:58:50 azher bluetoothd[686]: src/main.c:check_options() Unknown key Enable for group General in /etc/bluetooth/main.conf
янв 15 18:58:50 azher bluetoothd[686]: src/main.c:check_options() Unknown key AutoEnable for group General in /etc/bluetooth/main.conf
seth, couple of times wrote:

What are the actual symptoms of "bluetooth is broken"?

Off topic:
Disable systemd-networkd if you want to use dhcpcd+iwd

my internal microphones also don't work

янв 15 18:58:50 azher kernel: snd_hda_codec_alc269 hdaudioC1D0:    inputs:

But yes, you should open a new thread for that and post the outputs of

aplay -lL; amixer -Dhw:0; amixer -Dhw:1

  there.

Offline

#9 2026-01-15 16:39:19

Zeyken_0
Member
Registered: 2026-01-09
Posts: 13

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

seth wrote:
янв 15 18:58:50 azher bluetoothd[686]: src/main.c:check_options() Unknown key Enable for group General in /etc/bluetooth/main.conf
янв 15 18:58:50 azher bluetoothd[686]: src/main.c:check_options() Unknown key AutoEnable for group General in /etc/bluetooth/main.conf
seth, couple of times wrote:

What are the actual symptoms of "bluetooth is broken"?

Off topic:
Disable systemd-networkd if you want to use dhcpcd+iwd

my internal microphones also don't work

янв 15 18:58:50 azher kernel: snd_hda_codec_alc269 hdaudioC1D0:    inputs:

But yes, you should open a new thread for that and post the outputs of

aplay -lL; amixer -Dhw:0; amixer -Dhw:1

  there.


Oh, I'm sorry. The actual syndrom is: No default controller available while in bluetoothctl. I turned off networkd daemon as you suggested.

[Aleksey@azher ~]$ bluetoothctl
Agent registered
[bluetoothctl]> power on
No default controller available

Offline

#10 2026-01-15 21:33:49

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 72,883

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

Sorry, your device is actually covered by https://git.kernel.org/pub/scm/linux/ke … usb.c#n642 but that's not made it into https://github.com/archlinux/linux/blob … usb.c#L641 yet nor https://github.com/torvalds/linux/blob/ … usb.c#L641

You'd have to build https://git.kernel.org/pub/scm/linux/ke … -next.git/ - I don't think there's even an AUR package for that.


PS You should still address the bogus /etc/bluetooth/main.conf

Offline

#11 2026-01-16 07:52:14

Zeyken_0
Member
Registered: 2026-01-09
Posts: 13

Re: [SOLVED] Drivers support for MT-7920? Bluetooth is broken, WI-FI works

seth wrote:

Sorry, your device is actually covered by https://git.kernel.org/pub/scm/linux/ke … usb.c#n642 but that's not made it into https://github.com/archlinux/linux/blob … usb.c#L641 yet nor https://github.com/torvalds/linux/blob/ … usb.c#L641

You'd have to build https://git.kernel.org/pub/scm/linux/ke … -next.git/ - I don't think there's even an AUR package for that.


PS You should still address the bogus /etc/bluetooth/main.conf


Fine, I mark this thread as solved. I had recompiled btusb.c module with Qwen and my bluetooth worked!

sudo pacman -S linux-headers base-devel git
git clone --depth=1 https://github.com/torvalds/linux.git
cd linux/drivers/bluetooth

Add

{ USB_DEVICE(0x0489, 0xe158), .driver_info = BTUSB_MEDIATEK | BTUSB_WIDEBAND_SPEECH },

to btusb.c

make -C /lib/modules/$(uname -r)/build M=$(pwd) modules

sudo rmmod btusb && sudo insmod btusb.ko

bluetoothctl power on
hciconfig

I'll wait until next archlinux updates cause It needs to recompile btusb.c module after every kernel update.



P.S. There is another thread with comprehesive guide to solve problem: https://bbs.archlinux.org/viewtopic.php?id=311688

Last edited by Zeyken_0 (2026-01-17 14:53:36)

Offline

Board footer

Powered by FluxBB