MT7902 Bluetooth (0489:e156) not supported - btusb/btmtk

Kaiser Bh <[email protected]>
Newsgroups org.kernel.vger.linux-bluetooth
Message-ID <[email protected]>
Reporting this rather than submitting a patch. Happy for a maintainer to
pick these up.

Hardware: Minisforum UM880 Plus, MediaTek combo card
          (BT reports hardware variant 0x7902; Wi-Fi binds mt7921e)
USB ID: 0489:e156 (Foxconn/Hon Hai)
Kernel: 7.1.8 (also tested 6.18.44-lts)

Symptom without patch:
  Bluetooth: hci0: Opcode 0x0c03 failed: -110
  No controller appears; Wi-Fi (mt7921e) works fine.

Two issues found:

1. drivers/bluetooth/btusb.c
   USB ID 0489:e156 is missing from the device table. Neighbouring
   IDs (0xe153, 0xe158) are present with BTUSB_MEDIATEK. Without the
   entry, btusb binds via the generic vendor/interface rule but
   without BTUSB_MEDIATEK, so btmtk setup never runs.

   Adding:
     { USB_DEVICE(0x0489, 0xe156), .driver_info = BTUSB_MEDIATEK |
                                                  BTUSB_WIDEBAND_SPEECH },

   changes the error to:
     Bluetooth: hci0: Unsupported hardware variant (00007902)

2. drivers/bluetooth/btmtk.c
   Hardware variant 0x7902 is not handled in the setup switch.
   Firmware BT_RAM_CODE_MT7902_1_1_hdr.bin already ships in
   linux-firmware, and btmtk_fw_get_filename() generates the correct
   path via the default branch.

   Adding `case 0x7902:` alongside 0x7922/0x7925/0x7961 results in:
     Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20250826211444
     Bluetooth: hci0: Device setup in 2312557 usecs

   Controller then works normally; DualSense pairs and functions.
   Grouping 0x7902 with the existing 79xx case works on my hardware,
   but a maintainer may want to confirm this is the correct handling.

Both changes tested on 6.18.44-lts, 7.1.8-arch1 and 7.1.8-zen via DKMS.

Kind Regards,
Kaiser Bh
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.