MediaTek Bluetooth MT7961 page fault

I have a Beelink 4900H miniPC which uses a Mediatek BT/WiFi controller for wireless. The BT is on USB and the WiFi is on PCI. Debian/Proxmox identify the driver as MT7961, but Windows identify the driver as MT7921 for BT and MT7922 for WinFi. I assume as MT7921 does not exist under Linux MT7961 is the correct module to use.

Initially the system would not load the driver

1659662631116.png

so I manually downloaded it from

1659662682500.png

and copied it to

1659662824256.png

On reboot the system throws an error which unfortunately I cannot troubleshoot. I seek assistance to resolve this issue please. dmesg output below:

1659663177977.png

then further down the dmesg list, another error

1659663413263.png

I also provide he text output in case it is useful:

[ 4.172992] Bluetooth: Core ver 2.22
[ 4.173149] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 4.173160] cfg80211: failed to load regulatory.db
[ 4.173530] NET: Registered PF_BLUETOOTH protocol family
[ 4.173533] Bluetooth: HCI device and connection manager initialized
[ 4.173537] Bluetooth: HCI socket layer initialized
[ 4.173539] Bluetooth: L2CAP socket layer initialized
[ 4.173543] Bluetooth: SCO socket layer initialized
[ 4.209654] usbcore: registered new interface driver btusb
[ 4.216587] BUG: unable to handle page fault for address: ffffa0d838e1e469
[ 4.216600] #PF: supervisor read access in kernel mode
[ 4.216603] #PF: error_code(0x0000) - not-present page
[ 4.216605] PGD 100000067 P4D 100000067 PUD 0
[ 4.216610] Oops: 0000 [#1] SMP NOPTI
[ 4.216614] CPU: 5 PID: 208 Comm: kworker/u33:0 Tainted: P O 5.15.39-3-pve #2
[ 4.216618] Hardware name: AZW GTR/GTR, BIOS GTR_V1.08_P3C7M43 12/07/2021
[ 4.216622] Workqueue: hci0 hci_power_on [bluetooth]
[ 4.216676] RIP: 0010:__memcpy+0x12/0x20
[ 4.216683] Code: 5d e9 a2 a9 28 00 cc cc 48 8b 05 91 25 6f 01 e9 94 a9 28 00 cc cc cc cc 0f 1f 44 00 00 48 89 f8 48 89 d1 48 c1 e9 03 83 e2 07 <f3> 48 a5 89 d1 f3 a4 e9 72 a9 28 00 66 90 48 89 f8 48 89 d1 f3 a4
[ 4.216688] RSP: 0018:ffffa0d7c05b7c08 EFLAGS: 00010202
[ 4.216691] RAX: ffff8ac5cbe0d805 RBX: ffffa0d7c05b7c80 RCX: 000000000000001f
[ 4.216693] RDX: 0000000000000002 RSI: ffffa0d838e1e469 RDI: ffff8ac5cbe0d805
[ 4.216696] RBP: ffffa0d7c05b7c48 R08: 0000000000000100 R09: ffff8ac5cbe0d800
[ 4.216698] R10: ffff8ac5d84fd2c0 R11: ffff8ac5d215f700 R12: ffff8ac5cbe0d800
[ 4.216700] R13: ffff8ac5c0af4000 R14: ffff8ac5c0afb428 R15: 00000000000000ff
[ 4.216702] FS: 0000000000000000(0000) GS:ffff8acc8f740000(0000) knlGS:0000000000000000
[ 4.216706] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 4.216708] CR2: ffffa0d838e1e469 CR3: 00000001123c2000 CR4: 0000000000350ee0
[ 4.216711] Call Trace:
[ 4.216713] <TASK>
[ 4.216715] ? btusb_mtk_hci_wmt_sync+0x85/0x3d0 [btusb]
[ 4.216721] btusb_mtk_setup_firmware_79xx+0x1d5/0x2e0 [btusb]
[ 4.216726] btusb_mtk_setup+0x2c8/0x710 [btusb]
[ 4.216730] ? rpm_idle+0x1c8/0x2d0
[ 4.216734] ? __pm_runtime_idle+0x57/0x100
[ 4.216737] ? btusb_open+0x65/0x270 [btusb]
[ 4.216741] hci_dev_do_open+0x227/0x820 [bluetooth]
[ 4.216763] ? try_to_wake_up+0x218/0x5c0
[ 4.216768] hci_power_on+0x53/0x220 [bluetooth]
[ 4.216788] ? lock_timer_base+0x3b/0xd0
[ 4.216793] process_one_work+0x22b/0x3d0
[ 4.216797] worker_thread+0x53/0x420
[ 4.216799] ? process_one_work+0x3d0/0x3d0
[ 4.216802] kthread+0x12a/0x150
[ 4.216805] ? set_kthread_struct+0x50/0x50
[ 4.216809] ret_from_fork+0x22/0x30
[ 4.216816] </TASK>
[ 4.216817] Modules linked in: joydev rapl(+) btusb mac80211 btrtl input_leds btbcm snd_pci_acp6x fjes(-) snd_hwdep i2c_algo_bit btintel fb_sys_fops bluetooth snd_pcm efi_pstore pcspkr syscopyarea ecdh_generic sysfillrect cfg80211 ecc snd_timer sysimgblt k10temp snd_pci_acp5x snd snd_rn_pci_acp3x snd_pci_acp3x soundcore ccp libarc4 mac_hid vhost_net vhost vhost_iotlb tap ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi drm sunrpc ip_tables x_tables autofs4 zfs(PO) zunicode(PO) zzstd(O) zlua(O) zavl(PO) icp(PO) zcommon(PO) znvpair(PO) spl(O) btrfs blake2b_generic xor zstd_compress raid6_pq libcrc32c simplefb hid_generic usbmouse usbkbd usbhid crc32_pclmul xhci_pci ahci xhci_pci_renesas nvme libahci i2c_piix4 xhci_hcd nvme_core r8169 realtek video i2c_hid_acpi i2c_hid hid
[ 4.216881] CR2: ffffa0d838e1e469
[ 4.216884] ---[ end trace c1db2f38faf1a922 ]---

I am running both subscribed and usubscribed instances of Proxmox. In this case the test is on a no-subscription host used for testing prior to production, running on the absolutely latest Proxmox VE 7.2-7.

I have also tried to load BT_RAM_CODE_MT7922_1_1_hdr.bin with no success either.

rfkill returns the following:

1659664202383.png

however bluetoothctl returns nothing

1659664478367.png
 
I have a nearly the same problem. I got an AMD (Ryzen 5 4500U) minipc (MINISFORUM HM50) with wifi and Bluetooth chip. Under Proxmox 7.2-7 (Linux 5.15.39-4-pve) Wifi card is working with kernel module mt7921e.
The problem is bluetooth wont work. Same dmesg output as your first picture.

looking this website it seems it might be the kernel version.
https://wireless.wiki.kernel.org/en/users/drivers/mediatek?s[]=mediatek&s[]=mt7921#firmware

MT7921 802.11a/b/g/n/ac/ax 2T2R 2.4/5GHz/6Hz PCIe/USB/SDIO Chip

  • MT7921 PCIe is supported since (5.12+)
  • MT7921 SDIO is supported since (5.16+)
  • MT7921 USB is supported since (5.18+)
as your description "The BT is on USB and the WiFi is on PCI." wifi works because its pcie and kernel 5.15>5.12+, but Bluetooth doesn't because since it is USB the minimum supported kernel version is 5.18.

----------------------
I haven't test it but the proxmox kernel could be updated to 5.18
https://forum.proxmox.com/threads/linux-kernel-5-18-5-19-for-pve.113606/
https://github.com/fabianishere/pve-edge-kernel
----------------------
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!