You are not logged in.
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
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
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
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
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:v0489pE158d0100dcEFdsc02dp01icE0isc01ip01in00Offline
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.stFyi, "grep -iE 'bluetooth|firmware' but really please don't grep for random tokens unless you already know what you're specifically looking for
Offline
seth wrote:What are the actual symptoms of "bluetooth is broken"?
Please don't paraphrase, https://bbs.archlinux.org/viewtopic.php?id=57855hci0: 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.stFyi, "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
янв 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.confWhat 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:1there.
Offline
янв 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.confseth, couple of times wrote:What are the actual symptoms of "bluetooth is broken"?
seth, also wrote:Off topic:
Disable systemd-networkd if you want to use dhcpcd+iwdmy 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:1there.
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 availableOffline
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
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/bluetoothAdd
{ 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
hciconfigI'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