linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [REPORT] btusb: Missing ID for Quectel NCM865 (WCN7850) - 2c7c:0130
@ 2025-12-09 20:47 Frank Tornack
  2025-12-23  5:54 ` [PATCH] Bluetooth: btusb: Add support for Quectel NCM865 Frank Tornack
  0 siblings, 1 reply; 10+ messages in thread
From: Frank Tornack @ 2025-12-09 20:47 UTC (permalink / raw)
  To: linux-bluetooth

[-- Attachment #1: Type: text/plain, Size: 14192 bytes --]

Hi everyone,

I would like to report a missing device ID in the btusb driver for a
Quectel NCM865 module. This module appears to be a repackaged Qualcomm
WCN785x (FastConnect 7800).

The Problem: The device is currently not recognized by btqca / btusb.
It falls back to the legacy "Rome" identifier (0x190200) and tries to
load rampatch_usb_00190200.bin. This results in missing features (like
ISO/LE Audio) and potential timeouts when trying to force the correct
"Hamilton" firmware via symlinks, as the driver logic does not match
the actual hardware capabilities.

Hardware Info:
 - Device: Quectel NCM865 (WCN785x based)
 - USB ID: 2c7c:0130 (Vendor: Quectel, Product: NCM865?)
 - System: Arch Linux, Kernel 6.17.x

```
% sudo lsusb -v -d 2c7c:0130                                                                                  [21:21]

Bus 003 Device 005: ID 2c7c:0130 Quectel Wireless Solutions Co., Ltd. 
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x2c7c Quectel Wireless Solutions Co., Ltd.
  idProduct          0x0130 
  bcdDevice            0.01
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00df
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       6
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x003f  1x 63 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x003f  1x 63 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       7
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0041  1x 65 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0041  1x 65 bytes
        bInterval               1
Device Status:     0x0001
  Self Powered
```

the output of dmesg:
```
% sudo dmesg | grep -iE "btqca|Bluetooth"                                                                     [21:21]
[    5.432336] Bluetooth: Core ver 2.22
[    5.432357] NET: Registered PF_BLUETOOTH protocol family
[    5.432358] Bluetooth: HCI device and connection manager initialized
[    5.432362] Bluetooth: HCI socket layer initialized
[    5.432364] Bluetooth: L2CAP socket layer initialized
[    5.432367] Bluetooth: SCO socket layer initialized
[    5.461019] Bluetooth: hci0: using rampatch file: qca/rampatch_usb_00190200.bin
[    5.461022] Bluetooth: hci0: QCA: patch rome 0x190200 build 0x43fc, firmware rome 0x190200 build 0x43fb
[    5.862663] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.862665] Bluetooth: BNEP filters: protocol multicast
[    5.862668] Bluetooth: BNEP socket layer initialized
[    6.098821] Bluetooth: hci0: using NVM file: qca/nvm_usb_00190200.bin
[    6.234023] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
[    6.478241] Bluetooth: hci0: event memdump size(589824)
[    8.290957] Bluetooth: hci0: Opcode 0x0c03 failed: -110
[   10.338077] Bluetooth: hci0: Failed to read MSFT supported features (-110)
```

It seems this device needs to be added to the `qca_device_info` table
in `drivers/bluetooth/btusb.c` with the `BTUSB_QCOM_WCN6855` flag,
similar to other WCN785x derivatives.

I am unable to compile and test the patch myself right now due to
travel, but wanted to report the ID so it can be added.

Best regards

PS: resend... because I was not aware that HTML mails are dropped


-- 
Frank Tornack <f-tornack@t-online.de>
Privat


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-09 20:47 [REPORT] btusb: Missing ID for Quectel NCM865 (WCN7850) - 2c7c:0130 Frank Tornack
@ 2025-12-23  5:54 ` Frank Tornack
  2025-12-23  6:27   ` bluez.test.bot
  0 siblings, 1 reply; 10+ messages in thread
From: Frank Tornack @ 2025-12-23  5:54 UTC (permalink / raw)
  To: linux-bluetooth

[-- Attachment #1: Type: text/plain, Size: 20572 bytes --]

Hi

I was able to successfully test the function on my laptop.
Hope this patch will help.

From 2947911d8852c084750438af38de087e25da0d8d Mon Sep 17 00:00:00 2001
From: Frankenstein91 <frankenstein91.info@googlemail.com>
Date: Tue, 23 Dec 2025 06:43:47 +0100
Subject: [PATCH] Bluetooth: btusb: Add support for Quectel NCM865

Add the USB ID 2c7c:0130 for the Quectel NCM865 module to the btusb_device_table. This device is based on the Qualcomm WCN785x (FastConnect 7800) and requires the BTUSB_QCA_WCN6855 flag.

Without this patch, the device is not correctly recognized and falls
back to the legacy "Rome" identifier, leading to missing features and
potential timeouts.

This patch fixes the issue by adding the device to the list of
supported devices, allowing the driver to load the correct firmware
and enable all hardware features.

Fixes: [REPORT] btusb: Missing ID for Quectel NCM865 (WCN7850) - 2c7c:0130
Link: https://lore.kernel.org/linux-bluetooth/20251209204712.GA2833@t-online.de/
Signed-off-by: Frank Tornack <f-tornack@t-online.de>
---
 drivers/bluetooth/btusb.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index fa683bb7f..41016012e 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -172,6 +172,10 @@ static const struct usb_device_id btusb_table[] = {
 	{ USB_DEVICE(0x8087, 0x0a5a),
 	  .driver_info = BTUSB_INTEL_BOOT | BTUSB_BROKEN_ISOC },
 
+	/* Quectel NCM865 */
+	{ USB_DEVICE(0x2c7c, 0x0130), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+
 	{ }	/* Terminating entry */
 };
 
-- 
2.52.0




-- 
Frank Tornack <f-tornack@t-online.de>
Privat

-------- Ursprüngliche Nachricht --------
Von: Frank Tornack <f-tornack@t-online.de>
Antwort an: f-tornack@t-online.de
An: linux-bluetooth@vger.kernel.org
Betreff: [REPORT] btusb: Missing ID for Quectel NCM865 (WCN7850) -
2c7c:0130
Datum: 09.12.2025 21:47:08

Hi everyone,

I would like to report a missing device ID in the btusb driver for a
Quectel NCM865 module. This module appears to be a repackaged Qualcomm
WCN785x (FastConnect 7800).

The Problem: The device is currently not recognized by btqca / btusb.
It falls back to the legacy "Rome" identifier (0x190200) and tries to
load rampatch_usb_00190200.bin. This results in missing features (like
ISO/LE Audio) and potential timeouts when trying to force the correct
"Hamilton" firmware via symlinks, as the driver logic does not match
the actual hardware capabilities.

Hardware Info:
 - Device: Quectel NCM865 (WCN785x based)
 - USB ID: 2c7c:0130 (Vendor: Quectel, Product: NCM865?)
 - System: Arch Linux, Kernel 6.17.x

```
% sudo lsusb -v -d
2c7c:0130                                                              
                    [21:21]

Bus 003 Device 005: ID 2c7c:0130 Quectel Wireless Solutions Co., Ltd. 
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x2c7c Quectel Wireless Solutions Co., Ltd.
  idProduct          0x0130 
  bcdDevice            0.01
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00df
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       6
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x003f  1x 63 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x003f  1x 63 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       7
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0041  1x 65 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0041  1x 65 bytes
        bInterval               1
Device Status:     0x0001
  Self Powered
```

the output of dmesg:
```
% sudo dmesg | grep -iE
"btqca|Bluetooth"                                                      
               [21:21]
[    5.432336] Bluetooth: Core ver 2.22
[    5.432357] NET: Registered PF_BLUETOOTH protocol family
[    5.432358] Bluetooth: HCI device and connection manager initialized
[    5.432362] Bluetooth: HCI socket layer initialized
[    5.432364] Bluetooth: L2CAP socket layer initialized
[    5.432367] Bluetooth: SCO socket layer initialized
[    5.461019] Bluetooth: hci0: using rampatch file:
qca/rampatch_usb_00190200.bin
[    5.461022] Bluetooth: hci0: QCA: patch rome 0x190200 build 0x43fc,
firmware rome 0x190200 build 0x43fb
[    5.862663] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.862665] Bluetooth: BNEP filters: protocol multicast
[    5.862668] Bluetooth: BNEP socket layer initialized
[    6.098821] Bluetooth: hci0: using NVM file:
qca/nvm_usb_00190200.bin
[    6.234023] Bluetooth: hci0: HCI Enhanced Setup Synchronous
Connection command is advertised, but not supported.
[    6.478241] Bluetooth: hci0: event memdump size(589824)
[    8.290957] Bluetooth: hci0: Opcode 0x0c03 failed: -110
[   10.338077] Bluetooth: hci0: Failed to read MSFT supported features
(-110)
```

It seems this device needs to be added to the `qca_device_info` table
in `drivers/bluetooth/btusb.c` with the `BTUSB_QCOM_WCN6855` flag,
similar to other WCN785x derivatives.

I am unable to compile and test the patch myself right now due to
travel, but wanted to report the ID so it can be added.

Best regards

PS: resend... because I was not aware that HTML mails are dropped


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* RE: Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23  5:54 ` [PATCH] Bluetooth: btusb: Add support for Quectel NCM865 Frank Tornack
@ 2025-12-23  6:27   ` bluez.test.bot
  2025-12-23  9:45     ` [PATCH v2] " Frank Tornack
  0 siblings, 1 reply; 10+ messages in thread
From: bluez.test.bot @ 2025-12-23  6:27 UTC (permalink / raw)
  To: linux-bluetooth, f-tornack

[-- Attachment #1: Type: text/plain, Size: 382 bytes --]

This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----


Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23  6:27   ` bluez.test.bot
@ 2025-12-23  9:45     ` Frank Tornack
  2025-12-23 10:39       ` [v2] " bluez.test.bot
  2025-12-23 10:55       ` [PATCH v2] " Pauli Virtanen
  0 siblings, 2 replies; 10+ messages in thread
From: Frank Tornack @ 2025-12-23  9:45 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Frank Tornack

Add the USB ID 2c7c:0130 for the Quectel NCM865 module to the btusb_device_table. This device is based on the Qualcomm WCN785x (FastConnect 7800) and requires the BTUSB_QCA_WCN6855 flag.

Signed-off-by: Frank Tornack <f-tornack@t-online.de>

v2: Fixed merge conflict with current bluetooth-next HEAD.
---
 drivers/bluetooth/btusb.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 646de80c7..70feeb9a9 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -172,6 +172,9 @@ static const struct usb_device_id btusb_table[] = {
 	{ USB_DEVICE(0x8087, 0x0a5a),
 	  .driver_info = BTUSB_INTEL_BOOT | BTUSB_BROKEN_ISOC },
 
+	/* Quectel NCM865 */
+	{ USB_DEVICE(0x2c7c, 0x0130), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
 	{ }	/* Terminating entry */
 };
 
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* RE: [v2] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23  9:45     ` [PATCH v2] " Frank Tornack
@ 2025-12-23 10:39       ` bluez.test.bot
  2025-12-23 10:55       ` [PATCH v2] " Pauli Virtanen
  1 sibling, 0 replies; 10+ messages in thread
From: bluez.test.bot @ 2025-12-23 10:39 UTC (permalink / raw)
  To: linux-bluetooth, f-tornack

[-- Attachment #1: Type: text/plain, Size: 2833 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1035981

---Test result---

Test Summary:
CheckPatch                    PENDING   0.41 seconds
GitLint                       PENDING   0.26 seconds
SubjectPrefix                 PASS      0.09 seconds
BuildKernel                   PASS      26.03 seconds
CheckAllWarning               PASS      28.60 seconds
CheckSparse                   PASS      31.60 seconds
BuildKernel32                 PASS      26.00 seconds
TestRunnerSetup               PASS      563.07 seconds
TestRunner_l2cap-tester       PASS      28.15 seconds
TestRunner_iso-tester         FAIL      48.06 seconds
TestRunner_bnep-tester        PASS      6.30 seconds
TestRunner_mgmt-tester        FAIL      124.15 seconds
TestRunner_rfcomm-tester      PASS      9.39 seconds
TestRunner_sco-tester         FAIL      14.39 seconds
TestRunner_ioctl-tester       PASS      10.19 seconds
TestRunner_mesh-tester        FAIL      11.44 seconds
TestRunner_smp-tester         PASS      8.69 seconds
TestRunner_userchan-tester    PASS      6.66 seconds
IncrementalBuild              PENDING   0.75 seconds

Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:

##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:

##############################
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:
BUG: KASAN: slab-use-after-free in le_read_features_complete+0x7e/0x2b0
Total: 141, Passed: 141 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 494, Passed: 489 (99.0%), Failed: 1, Not Run: 4

Failed Test Cases
Read Exp Feature - Success                           Failed       0.108 seconds
##############################
Test: TestRunner_sco-tester - FAIL
Desc: Run sco-tester with test-runner
Output:
WARNING: possible circular locking dependency detected
BUG: sleeping function called from invalid context at net/core/sock.c:3782
Total: 30, Passed: 30 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0

Failed Test Cases
Mesh - Send cancel - 1                               Timed out    1.871 seconds
Mesh - Send cancel - 2                               Timed out    1.997 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:



---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23  9:45     ` [PATCH v2] " Frank Tornack
  2025-12-23 10:39       ` [v2] " bluez.test.bot
@ 2025-12-23 10:55       ` Pauli Virtanen
  2025-12-23 12:38         ` Frank Tornack
  1 sibling, 1 reply; 10+ messages in thread
From: Pauli Virtanen @ 2025-12-23 10:55 UTC (permalink / raw)
  To: Frank Tornack; +Cc: linux-bluetooth

Hi,

ti, 2025-12-23 kello 10:45 +0100, Frank Tornack kirjoitti:
> Add the USB ID 2c7c:0130 for the Quectel NCM865 module to the btusb_device_table. This device is based on the Qualcomm WCN785x (FastConnect 7800) and requires the BTUSB_QCA_WCN6855 flag.
> 
> Signed-off-by: Frank Tornack <f-tornack@t-online.de>
> 
> v2: Fixed merge conflict with current bluetooth-next HEAD.
> ---
>  drivers/bluetooth/btusb.c | 3 +++
>  1 file changed, 3 insertions(+)

Changelog "v2:" should go below the "---" so it's not included in the
commit message.

/sys/kernel/debug/usb/devices excerpt for the device should be added,
see for example

https://lore.kernel.org/linux-bluetooth/20251210202225.135637-1-elantsew.andrew@gmail.com/

> 
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index 646de80c7..70feeb9a9 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -172,6 +172,9 @@ static const struct usb_device_id btusb_table[] = {
>  	{ USB_DEVICE(0x8087, 0x0a5a),
>  	  .driver_info = BTUSB_INTEL_BOOT | BTUSB_BROKEN_ISOC },
>  
> +	/* Quectel NCM865 */
> +	{ USB_DEVICE(0x2c7c, 0x0130), .driver_info = BTUSB_QCA_WCN6855 |
> +						     BTUSB_WIDEBAND_SPEECH },
>  	{ }	/* Terminating entry */

This should be added in the position in the list where the other
BTUSB_QCA_WCN6855 entries are, trying to keep them sorted by vendor +
device ID.

>  };
>  

-- 
Pauli Virtanen

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23 10:55       ` [PATCH v2] " Pauli Virtanen
@ 2025-12-23 12:38         ` Frank Tornack
  2025-12-23 13:27           ` Pauli Virtanen
  0 siblings, 1 reply; 10+ messages in thread
From: Frank Tornack @ 2025-12-23 12:38 UTC (permalink / raw)
  To: Pauli Virtanen; +Cc: linux-bluetooth

[-- Attachment #1: Type: text/plain, Size: 2679 bytes --]

Hi Pauli,

Thank you very much for your quick and helpful feedback on my patch.

Before sending a v3, I'd like to clarify a point. In the bluetooth-next
tree I'm working with, an entry for the USB ID 2c7c:0130 already exists
in the quirks_table.

However, this entry alone does not seem to be sufficient for the device
to be correctly initialized in my setup (tested with a DKMS module on
Arch Linux). I found that adding an additional, identical entry to the
btusb_table resolves the issue and allows the module to function as
expected. My v2 patch therefore adds this entry to the btusb_table.

Given this, I'd like to ask for your guidance on how to proceed. Should
I submit a v3 patch that keeps the entry in the btusb_table and
explains this necessity in the commit log? Or do you perhaps see a
better approach to address this specific behavior?

Thank you for your help.

-- 
Frank Tornack <f-tornack@t-online.de>
Privat

-------- Ursprüngliche Nachricht --------
Von: Pauli Virtanen <pav@iki.fi>
An: Frank Tornack <f-tornack@t-online.de>
Kopie: linux-bluetooth@vger.kernel.org
Betreff: Re: [PATCH v2] Bluetooth: btusb: Add support for Quectel
NCM865
Datum: 23.12.2025 11:55:43

Hi,

ti, 2025-12-23 kello 10:45 +0100, Frank Tornack kirjoitti:
> Add the USB ID 2c7c:0130 for the Quectel NCM865 module to the
> btusb_device_table. This device is based on the Qualcomm WCN785x
> (FastConnect 7800) and requires the BTUSB_QCA_WCN6855 flag.
> 
> Signed-off-by: Frank Tornack <f-tornack@t-online.de>
> 
> v2: Fixed merge conflict with current bluetooth-next HEAD.
> ---
>  drivers/bluetooth/btusb.c | 3 +++
>  1 file changed, 3 insertions(+)

Changelog "v2:" should go below the "---" so it's not included in the
commit message.

/sys/kernel/debug/usb/devices excerpt for the device should be added,
see for example

https://lore.kernel.org/linux-bluetooth/20251210202225.135637-1-elantsew.andrew@gmail.com/

> 
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index 646de80c7..70feeb9a9 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -172,6 +172,9 @@ static const struct usb_device_id btusb_table[] =
> {
>  	{ USB_DEVICE(0x8087, 0x0a5a),
>  	  .driver_info = BTUSB_INTEL_BOOT | BTUSB_BROKEN_ISOC },
>  
> +	/* Quectel NCM865 */
> +	{ USB_DEVICE(0x2c7c, 0x0130), .driver_info =
> BTUSB_QCA_WCN6855 |
> +						    
> BTUSB_WIDEBAND_SPEECH },
>  	{ }	/* Terminating entry */

This should be added in the position in the list where the other
BTUSB_QCA_WCN6855 entries are, trying to keep them sorted by vendor +
device ID.

>  };
>  

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23 12:38         ` Frank Tornack
@ 2025-12-23 13:27           ` Pauli Virtanen
  2025-12-23 21:48             ` Pauli Virtanen
  0 siblings, 1 reply; 10+ messages in thread
From: Pauli Virtanen @ 2025-12-23 13:27 UTC (permalink / raw)
  To: f-tornack; +Cc: linux-bluetooth

Hi,

ti, 2025-12-23 kello 13:38 +0100, Frank Tornack kirjoitti:
> Hi Pauli,
> 
> Thank you very much for your quick and helpful feedback on my patch.
> 
> Before sending a v3, I'd like to clarify a point. In the bluetooth-next
> tree I'm working with, an entry for the USB ID 2c7c:0130 already exists
> in the quirks_table.
> 
> However, this entry alone does not seem to be sufficient for the device
> to be correctly initialized in my setup (tested with a DKMS module on
> Arch Linux). I found that adding an additional, identical entry to the
> btusb_table resolves the issue and allows the module to function as
> expected. My v2 patch therefore adds this entry to the btusb_table.
> 
> Given this, I'd like to ask for your guidance on how to proceed. Should
> I submit a v3 patch that keeps the entry in the btusb_table and
> explains this necessity in the commit log? Or do you perhaps see a
> better approach to address this specific behavior?

That's surprising, usb_match_id() returns the first match so second
identical entry should do nothing.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/core/driver.c#n815

I'd suggest to double check the patch actually does something, eg.
change the added entry to `USB_DEVICE(0x1234, 0x5678)`.

If it does something it's necessary to understand why. Easiest would be
to add some printk(KERN_WARNING "some message") debug prints to
suitable places in the code to trace what goes wrong, or use some other
debugging mechanism.

-- 
Pauli Virtanen

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23 13:27           ` Pauli Virtanen
@ 2025-12-23 21:48             ` Pauli Virtanen
  2025-12-25  7:10               ` Frank Tornack
  0 siblings, 1 reply; 10+ messages in thread
From: Pauli Virtanen @ 2025-12-23 21:48 UTC (permalink / raw)
  To: f-tornack; +Cc: linux-bluetooth

Hi,

23. joulukuuta 2025 13.27.49 UTC Pauli Virtanen <pav@iki.fi> kirjoitti:
>Hi,
>
>ti, 2025-12-23 kello 13:38 +0100, Frank Tornack kirjoitti:
>> Hi Pauli,
>> 
>> Thank you very much for your quick and helpful feedback on my patch.
>> 
>> Before sending a v3, I'd like to clarify a point. In the bluetooth-next
>> tree I'm working with, an entry for the USB ID 2c7c:0130 already exists
>> in the quirks_table.
>> 
>> However, this entry alone does not seem to be sufficient for the device
>> to be correctly initialized in my setup (tested with a DKMS module on
>> Arch Linux). I found that adding an additional, identical entry to the
>> btusb_table resolves the issue and allows the module to function as
>> expected. My v2 patch therefore adds this entry to the btusb_table.
>> 
>> Given this, I'd like to ask for your guidance on how to proceed. Should
>> I submit a v3 patch that keeps the entry in the btusb_table and
>> explains this necessity in the commit log? Or do you perhaps see a
>> better approach to address this specific behavior?
>
>That's surprising, usb_match_id() returns the first match so second
>identical entry should do nothing.

Looks like I missed v2 added the entry to btusb_table, not quirks_table.

So the change may be right, although I don't understand why quirks_table is not consulted. There's maybe already id->driver_info present, but where would it come from? Or is it loading a different USB driver than btusb? Would be good to understand why.

>
>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/core/driver.c#n815
>
>I'd suggest to double check the patch actually does something, eg.
>change the added entry to `USB_DEVICE(0x1234, 0x5678)`.
>
>If it does something it's necessary to understand why. Easiest would be
>to add some printk(KERN_WARNING "some message") debug prints to
>suitable places in the code to trace what goes wrong, or use some other
>debugging mechanism.
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] Bluetooth: btusb: Add support for Quectel NCM865
  2025-12-23 21:48             ` Pauli Virtanen
@ 2025-12-25  7:10               ` Frank Tornack
  0 siblings, 0 replies; 10+ messages in thread
From: Frank Tornack @ 2025-12-25  7:10 UTC (permalink / raw)
  To: Pauli Virtanen; +Cc: linux-bluetooth

Hi Pauli

The reason for adding it to btusb_table is that without this entry, the
device (2c7c:0130) is being detected but defaults to a generic QCA
"Rome" configuration (0x190200), which lacks ISO/LE Audio support.

It is definitely loading the btusb driver, but without the explicit ID
match, the capabilities don't align with the actual WCN785x hardware.

Just a quick heads-up: I'm currently on vacation, so my response time
might be a bit slow. I'm mainly checking my mails and doing tests on
rainy days when I'm staying indoors.

-- 
Frank Tornack <f-tornack@t-online.de>
Privat

-------- Ursprüngliche Nachricht --------
Von: Pauli Virtanen <pav@iki.fi>
An: f-tornack@t-online.de
Kopie: linux-bluetooth@vger.kernel.org
Betreff: Re: [PATCH v2] Bluetooth: btusb: Add support for Quectel
NCM865
Datum: 23.12.2025 22:48:44

Hi,

23. joulukuuta 2025 13.27.49 UTC Pauli Virtanen <pav@iki.fi> kirjoitti:
> Hi,
> 
> ti, 2025-12-23 kello 13:38 +0100, Frank Tornack kirjoitti:
> > Hi Pauli,
> > 
> > Thank you very much for your quick and helpful feedback on my
> > patch.
> > 
> > Before sending a v3, I'd like to clarify a point. In the bluetooth-
> > next
> > tree I'm working with, an entry for the USB ID 2c7c:0130 already
> > exists
> > in the quirks_table.
> > 
> > However, this entry alone does not seem to be sufficient for the
> > device
> > to be correctly initialized in my setup (tested with a DKMS module
> > on
> > Arch Linux). I found that adding an additional, identical entry to
> > the
> > btusb_table resolves the issue and allows the module to function as
> > expected. My v2 patch therefore adds this entry to the btusb_table.
> > 
> > Given this, I'd like to ask for your guidance on how to proceed.
> > Should
> > I submit a v3 patch that keeps the entry in the btusb_table and
> > explains this necessity in the commit log? Or do you perhaps see a
> > better approach to address this specific behavior?
> 
> That's surprising, usb_match_id() returns the first match so second
> identical entry should do nothing.

Looks like I missed v2 added the entry to btusb_table, not
quirks_table.

So the change may be right, although I don't understand why
quirks_table is not consulted. There's maybe already id->driver_info
present, but where would it come from? Or is it loading a different USB
driver than btusb? Would be good to understand why.

> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/core/driver.c#n815
> 
> I'd suggest to double check the patch actually does something, eg.
> change the added entry to `USB_DEVICE(0x1234, 0x5678)`.
> 
> If it does something it's necessary to understand why. Easiest would
> be
> to add some printk(KERN_WARNING "some message") debug prints to
> suitable places in the code to trace what goes wrong, or use some
> other
> debugging mechanism.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-12-25  7:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-09 20:47 [REPORT] btusb: Missing ID for Quectel NCM865 (WCN7850) - 2c7c:0130 Frank Tornack
2025-12-23  5:54 ` [PATCH] Bluetooth: btusb: Add support for Quectel NCM865 Frank Tornack
2025-12-23  6:27   ` bluez.test.bot
2025-12-23  9:45     ` [PATCH v2] " Frank Tornack
2025-12-23 10:39       ` [v2] " bluez.test.bot
2025-12-23 10:55       ` [PATCH v2] " Pauli Virtanen
2025-12-23 12:38         ` Frank Tornack
2025-12-23 13:27           ` Pauli Virtanen
2025-12-23 21:48             ` Pauli Virtanen
2025-12-25  7:10               ` Frank Tornack

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).