Skip to content

SteamOS Neptune kernel missing btusb quirk for MT7921 Bluetooth (0e8d:0616) - causes tx timeout and Bluetooth failure after boot on ASRock B650M Pro RS WiFi #2531

Description

@JollyJoeRoger

SteamOS version: 3.8.11
Build ID: 20260620.1
Kernel: 6.16.12-valve24-1-neptune-616-gc748040e4712
Update branch: stable
Hardware: ASRock B650M Pro RS WiFi (MediaTek MT7921 onboard Bluetooth/WiFi)
Setup: DIY desktop PC running SteamOS, not a Steam Deck

Issue:
The MT7921 Bluetooth chip on this board presents as USB device 0e8d:0616.
This device ID is missing from the btusb quirks table in the Neptune kernel,
meaning the BTUSB_MEDIATEK vendor initialization flag is never applied.

This causes a command tx timeout at approximately 86 seconds after boot,
which crashes the Bluetooth service. Devices fail to reconnect automatically
after the crash. Toggling Bluetooth off and on manually recovers it, but
the problem repeats on every reboot.

Evidence:

  • lsusb: Bus 001 Device 004: ID 0e8d:0616 MediaTek Inc. Wireless_Device
  • modinfo btusb: no entry for 0e8d:0616
  • /sys/bus/usb/devices/1-8/quirks: returns 0x0
  • dmesg: Bluetooth: hci0: command 0x2042 tx timeout at ~86s post-boot

Workaround:
The following udev rule fixes the issue by forcing btusb to claim the device:

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0616", RUN+="/bin/sh -c 'echo 0e8d 0616 > /sys/bus/usb/drivers/btusb/new_id'"

After adding this rule and rebooting, the tx timeout no longer occurs and
Bluetooth devices reconnect automatically on boot.

Fix needed:
Add 0e8d:0616 to the btusb quirks table with the BTUSB_MEDIATEK flag
in the Neptune kernel. This will likely affect any SteamOS desktop install
using hardware with the MT7921 chip presenting this USB device ID.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions