Please refer to previous revisions if you know what to do.
The patch proposed was merged into kernel in 5.8 release, but no longer working as of linux 5.11
Not sure if this is mentioned or no since this gist is too long...
Plugging the cheap USB Bluetooth adapter in the USB 2.0 port was the fix for me (prev. was in USB 3.0 [the blue one])
Yes, that was also my biggest take home message
https://bugzilla.kernel.org/show_bug.cgi?id=60824#c167
Found this patch, but it's for a newer kernel:
--- a/net/bluetooth/hci_sync.c 2025-07-28 20:25:38.718355109 -0300
+++ b/net/bluetooth/hci_sync.c 2025-07-28 20:30:02.004160831 -0300
@@ -3960,8 +3960,6 @@
HCI_INIT(hci_write_inquiry_mode_sync),
/* HCI_OP_READ_INQ_RSP_TX_POWER */
HCI_INIT(hci_read_inq_rsp_tx_power_sync),
- /* HCI_OP_READ_LOCAL_EXT_FEATURES */
- HCI_INIT(hci_read_local_ext_features_1_sync),
/* HCI_OP_WRITE_AUTH_ENABLE */
HCI_INIT(hci_write_auth_enable_sync),
{}
@@ -4252,8 +4250,6 @@
HCI_INIT(hci_read_def_err_data_reporting_sync),
/* HCI_OP_READ_PAGE_SCAN_TYPE */
HCI_INIT(hci_read_page_scan_type_sync),
- /* HCI_OP_READ_LOCAL_EXT_FEATURES */
- HCI_INIT(hci_read_local_ext_features_all_sync),
{}
};There's no net/bluetooth/hci_sync.c in 5.15.
I made additional patch for 5.15, now all my adapters work more or less. Even with the other IDs, 33fa:0010, 33fa:0012 from UGREEN.
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 7ed5d6e..0f16d88 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -482,6 +482,7 @@ static int hci_init2_req(struct hci_request *req, unsigned long opt)
if (lmp_inq_tx_pwr_capable(hdev))
hci_req_add(req, HCI_OP_READ_INQ_RSP_TX_POWER, 0, NULL);
+ if (0) // FIX
if (lmp_ext_feat_capable(hdev)) {
struct hci_cp_read_local_ext_features cp;
@@ -797,6 +798,7 @@ static int hci_init3_req(struct hci_request *req, unsigned long opt)
}
/* Read features beyond page 1 if available */
+ if (0) // FIX
for (p = 2; p < HCI_MAX_PAGES && p <= hdev->max_page; p++) {
struct hci_cp_read_local_ext_features cp;
Ah, that's unfortunate.