[PATCH] USB: serial: simple: narrow OWON match to avoid breaking VDS1022
From: Huang Wei
Date: Mon Aug 10 2026 - 05:18:44 EST
Commit 4cc01410e1c1 ("USB: serial: simple: add OWON HDS200 series
oscilloscope support") added a USB_DEVICE() match on VID:PID
0x5345:0x1234. OWON uses this same VID:PID across multiple device
families (HDS, VDS, SDS, PDS), so the overly broad match causes the
owon driver to also bind to devices like the VDS1022, which previously
worked fine with the generic usbserial driver.
Narrow the match to use USB_DEVICE_AND_INTERFACE_INFO() with the
Physical Interface Device class (bInterfaceClass=0x05,
bInterfaceSubClass=0x00, bInterfaceProtocol=0x00) as reported in the
HDS200 USB descriptor. Devices that use a different interface class
(e.g. vendor-specific 0xff) will no longer be claimed by the owon
driver and will fall back to the generic driver as before.
Reported-by: leStoppe <lestoppe@xxxxxxxxx>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220193
Signed-off-by: Huang Wei <huangwei@xxxxxxxxxx>
---
drivers/usb/serial/usb-serial-simple.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/serial/usb-serial-simple.c b/drivers/usb/serial/usb-serial-simple.c
index a0afaf254d12..82509669347e 100644
--- a/drivers/usb/serial/usb-serial-simple.c
+++ b/drivers/usb/serial/usb-serial-simple.c
@@ -100,9 +100,15 @@ DEVICE(nokia, NOKIA_IDS);
{ USB_DEVICE(0x09d7, 0x0100) } /* NovAtel FlexPack GPS */
DEVICE_N(novatel_gps, NOVATEL_IDS, 3);
-/* OWON electronic test and measurement equipment driver */
+/* OWON electronic test and measurement equipment driver.
+ * OWON uses the same VID:PID (0x5345:0x1234) for multiple device families
+ * (HDS, VDS, SDS, PDS). Match on the Physical Interface Device class (0x05)
+ * used by the HDS200 series to avoid binding devices that use a different
+ * interface class (e.g. vendor-specific 0xff) and may require different
+ * handling.
+ */
#define OWON_IDS() \
- { USB_DEVICE(0x5345, 0x1234) } /* HDS200 oscilloscopes and others */
+ { USB_DEVICE_AND_INTERFACE_INFO(0x5345, 0x1234, 0x05, 0x00, 0x00) }
DEVICE(owon, OWON_IDS);
/* Siemens USB/MPI adapter */
--
2.25.1