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
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;
Yes, that was also my biggest take home message
https://bugzilla.kernel.org/show_bug.cgi?id=60824#c167